summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/SoQt/Manifest1
-rw-r--r--media-libs/SoQt/SoQt-1.6.3.ebuild45
-rw-r--r--media-libs/aalib/aalib-1.4_rc5-r11.ebuild74
-rw-r--r--media-libs/aalib/files/aalib-1.4_rc5-ncurses-opaque.patch24
-rw-r--r--media-libs/alsa-lib/Manifest1
-rw-r--r--media-libs/alsa-lib/alsa-lib-1.2.13.ebuild99
-rw-r--r--media-libs/alsa-lib/files/alsa-lib-1.2.13-update-symbol-name.patch38
-rw-r--r--media-libs/alsa-ucm-conf/Manifest1
-rw-r--r--media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.13.ebuild25
-rw-r--r--media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-product_name.patch62
-rw-r--r--media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-sys_vendor.patch37
-rw-r--r--media-libs/assimp/assimp-5.4.3.ebuild2
-rw-r--r--media-libs/babl/Manifest1
-rw-r--r--media-libs/babl/babl-0.1.110.ebuild69
-rw-r--r--media-libs/clutter-gtk/clutter-gtk-1.8.4-r2.ebuild2
-rw-r--r--media-libs/cogl/cogl-1.22.8-r3.ebuild7
-rw-r--r--media-libs/coin/Manifest1
-rw-r--r--media-libs/coin/coin-4.0.3.ebuild110
-rw-r--r--media-libs/coin/files/coin-4.0.3-find-qhelpgenerator.patch23
-rw-r--r--media-libs/coin/metadata.xml1
-rw-r--r--media-libs/compface/compface-1.5.2-r1.ebuild4
-rw-r--r--media-libs/ctl/ctl-1.5.3.ebuild4
-rw-r--r--media-libs/dav1d/Manifest1
-rw-r--r--media-libs/dav1d/dav1d-1.5.0.ebuild61
-rw-r--r--media-libs/fcft/Manifest1
-rw-r--r--media-libs/fcft/fcft-3.1.9.ebuild94
-rw-r--r--media-libs/flac/Manifest1
-rw-r--r--media-libs/flac/flac-1.3.4.ebuild57
-rw-r--r--media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild2
-rw-r--r--media-libs/freeglut/files/freeglut-3.6.0-c23.patch27
-rw-r--r--media-libs/freeglut/freeglut-3.6.0-r1.ebuild46
-rw-r--r--media-libs/gegl/Manifest1
-rw-r--r--media-libs/gegl/gegl-0.4.50.ebuild170
-rw-r--r--media-libs/giflib/files/giflib-5.1.9-gentoo.patch10
-rw-r--r--media-libs/glfw/glfw-3.4.ebuild2
-rw-r--r--media-libs/glycin-loaders/Manifest1
-rw-r--r--media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild (renamed from media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild)0
-rw-r--r--media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild (renamed from media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild)0
-rw-r--r--media-libs/glycin-loaders/glycin-loaders-1.1.2.ebuild88
-rw-r--r--media-libs/gmmlib/Manifest6
-rw-r--r--media-libs/gmmlib/gmmlib-22.3.19.ebuild41
-rw-r--r--media-libs/gmmlib/gmmlib-22.4.1.ebuild41
-rw-r--r--media-libs/gmmlib/gmmlib-22.5.2.ebuild2
-rw-r--r--media-libs/gmmlib/gmmlib-22.5.3.ebuild (renamed from media-libs/gmmlib/gmmlib-22.5.0.ebuild)0
-rw-r--r--media-libs/gmmlib/gmmlib-22.5.4.ebuild (renamed from media-libs/gmmlib/gmmlib-22.5.1.ebuild)0
-rw-r--r--media-libs/harfbuzz/Manifest3
-rw-r--r--media-libs/harfbuzz/harfbuzz-10.0.1.ebuild (renamed from media-libs/harfbuzz/harfbuzz-8.5.0.ebuild)19
-rw-r--r--media-libs/harfbuzz/harfbuzz-10.1.0.ebuild89
-rw-r--r--media-libs/harfbuzz/harfbuzz-9.0.0.ebuild2
-rw-r--r--media-libs/icc-profiles-openicc/icc-profiles-openicc-1.3.1.ebuild2
-rw-r--r--media-libs/intel-mediasdk/metadata.xml4
-rw-r--r--media-libs/jbig2dec/Manifest1
-rw-r--r--media-libs/jbig2dec/jbig2dec-0.19-r1.ebuild67
-rw-r--r--media-libs/jbig2dec/jbig2dec-0.19.ebuild67
-rw-r--r--media-libs/kquickimageeditor/Manifest1
-rw-r--r--media-libs/kquickimageeditor/kquickimageeditor-0.3.0-r100.ebuild30
-rw-r--r--media-libs/kquickimageeditor/kquickimageeditor-0.4.0.ebuild2
-rw-r--r--media-libs/ksanecore-common/Manifest3
-rw-r--r--media-libs/ksanecore-common/ksanecore-common-24.08.1.ebuild2
-rw-r--r--media-libs/ksanecore-common/ksanecore-common-24.08.2.ebuild18
-rw-r--r--media-libs/ksanecore-common/ksanecore-common-24.08.3.ebuild (renamed from media-libs/ksanecore-common/ksanecore-common-24.05.2.ebuild)2
-rw-r--r--media-libs/ksanecore/Manifest4
-rw-r--r--media-libs/ksanecore/ksanecore-23.08.5-r2.ebuild31
-rw-r--r--media-libs/ksanecore/ksanecore-24.05.2-r1.ebuild30
-rw-r--r--media-libs/ksanecore/ksanecore-24.08.1.ebuild2
-rw-r--r--media-libs/ksanecore/ksanecore-24.08.3.ebuild (renamed from media-libs/ksanecore/ksanecore-24.08.2.ebuild)0
-rw-r--r--media-libs/kvazaar/kvazaar-2.3.0-r1.ebuild2
-rw-r--r--media-libs/lcms/lcms-2.16-r1.ebuild2
-rw-r--r--media-libs/leptonica/Manifest1
-rw-r--r--media-libs/leptonica/leptonica-1.84.1-r2.ebuild2
-rw-r--r--media-libs/leptonica/leptonica-1.85.0.ebuild80
-rw-r--r--media-libs/lerc/Manifest1
-rw-r--r--media-libs/lerc/lerc-4.0.0.ebuild14
-rw-r--r--media-libs/lerc/metadata.xml25
-rw-r--r--media-libs/lib3ds/lib3ds-2.0.0_rc1-r1.ebuild4
-rw-r--r--media-libs/lib3mf/lib3mf-2.2.0-r1.ebuild (renamed from media-libs/lib3mf/lib3mf-2.2.0.ebuild)8
-rw-r--r--media-libs/libaom/Manifest4
-rw-r--r--media-libs/libaom/libaom-3.10.0.ebuild (renamed from media-libs/libaom/libaom-3.8.1.ebuild)19
-rw-r--r--media-libs/libass/libass-0.17.1-r2.ebuild (renamed from media-libs/libass/libass-0.17.1-r1.ebuild)6
-rw-r--r--media-libs/libbsb/libbsb-0.0.7-r1.ebuild23
-rw-r--r--media-libs/libcanberra-gtk3/Manifest1
-rw-r--r--media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch64
-rw-r--r--media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh16
-rw-r--r--media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild87
-rw-r--r--media-libs/libcanberra-gtk3/metadata.xml12
-rw-r--r--media-libs/libcanberra/libcanberra-0.30-r8.ebuild72
-rw-r--r--media-libs/libcdr/Manifest1
-rw-r--r--media-libs/libcdr/libcdr-0.1.8.ebuild56
-rw-r--r--media-libs/libcdr/libcdr-9999.ebuild9
-rw-r--r--media-libs/libdisplay-info/libdisplay-info-0.1.1-r1.ebuild (renamed from media-libs/libdisplay-info/libdisplay-info-0.1.1.ebuild)4
-rw-r--r--media-libs/libdisplay-info/libdisplay-info-0.2.0-r1.ebuild (renamed from media-libs/libdisplay-info/libdisplay-info-0.2.0.ebuild)6
-rw-r--r--media-libs/libdovi/libdovi-3.3.1-r1.ebuild (renamed from media-libs/libdovi/libdovi-3.3.1.ebuild)52
-rw-r--r--media-libs/libebur128/libebur128-1.2.6-r1.ebuild (renamed from media-libs/libebur128/libebur128-1.2.6.ebuild)4
-rw-r--r--media-libs/libexif/libexif-0.6.24.ebuild4
-rw-r--r--media-libs/libffado/Manifest1
-rw-r--r--media-libs/libffado/files/libffado-2.4.9-fix-config-load-crash.patch12
-rw-r--r--media-libs/libffado/libffado-2.4.8.ebuild4
-rw-r--r--media-libs/libffado/libffado-2.4.9.ebuild127
-rw-r--r--media-libs/libfishsound/libfishsound-1.0.0-r2.ebuild2
-rw-r--r--media-libs/libgii/files/libgii-1.0.2-Wformat-security.patch28
-rw-r--r--media-libs/libgii/libgii-1.0.2-r4.ebuild (renamed from media-libs/libgii/libgii-1.0.2-r3.ebuild)10
-rw-r--r--media-libs/libgphoto2/files/libgphoto2-2.5.31-remove-gpi_gphoto_port_type_map.patch31
-rw-r--r--media-libs/libgphoto2/libgphoto2-2.5.31-r2.ebuild3
-rw-r--r--media-libs/libgpod/files/libgpod-0.8.3-pixbuf.patch25
-rw-r--r--media-libs/libgpod/libgpod-0.8.3-r7.ebuild2
-rw-r--r--media-libs/libgpod/libgpod-0.8.3-r8.ebuild80
-rw-r--r--media-libs/libheif/Manifest3
-rw-r--r--media-libs/libheif/libheif-1.15.2-r1.ebuild86
-rw-r--r--media-libs/libheif/libheif-1.17.6.ebuild101
-rw-r--r--media-libs/libheif/libheif-1.18.1.ebuild103
-rw-r--r--media-libs/libheif/libheif-1.18.2-r1.ebuild (renamed from media-libs/libheif/libheif-1.18.2.ebuild)8
-rw-r--r--media-libs/libheif/libheif-9999.ebuild11
-rw-r--r--media-libs/libheif/metadata.xml1
-rw-r--r--media-libs/libiptcdata/libiptcdata-1.0.5-r1.ebuild7
-rw-r--r--media-libs/libjpeg-turbo/libjpeg-turbo-3.0.3-r1.ebuild2
-rw-r--r--media-libs/libjxl/Manifest4
-rw-r--r--media-libs/libjxl/libjxl-0.11.1.ebuild (renamed from media-libs/libjxl/libjxl-0.10.3.ebuild)2
-rw-r--r--media-libs/libjxl/libjxl-0.8.3.ebuild94
-rw-r--r--media-libs/libldac/libldac-2.0.2.3-r2.ebuild (renamed from media-libs/libldac/libldac-2.0.2.3-r1.ebuild)11
-rw-r--r--media-libs/liblingoteach/liblingoteach-0.2.3-r2.ebuild (renamed from media-libs/liblingoteach/liblingoteach-0.2.3-r1.ebuild)9
-rw-r--r--media-libs/libmediainfo/Manifest4
-rw-r--r--media-libs/libmediainfo/libmediainfo-22.09.ebuild87
-rw-r--r--media-libs/libmediainfo/libmediainfo-23.03.ebuild92
-rw-r--r--media-libs/libmediainfo/libmediainfo-24.11.ebuild (renamed from media-libs/libmediainfo/libmediainfo-23.04.ebuild)4
-rw-r--r--media-libs/libmtp/Manifest1
-rw-r--r--media-libs/libmtp/libmtp-1.1.22.ebuild87
-rw-r--r--media-libs/libopenmpt/Manifest2
-rw-r--r--media-libs/libopenmpt/libopenmpt-0.7.10.ebuild (renamed from media-libs/libopenmpt/libopenmpt-0.7.7.ebuild)0
-rw-r--r--media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild (renamed from media-libs/libopenraw/libopenraw-0.3.7.ebuild)3
-rw-r--r--media-libs/libplacebo/files/libplacebo-7.349.0-glslang-1.3.296.patch16
-rw-r--r--media-libs/libplacebo/libplacebo-7.349.0.ebuild5
-rw-r--r--media-libs/libplacebo/libplacebo-9999.ebuild5
-rw-r--r--media-libs/libpng/libpng-1.6.44.ebuild2
-rw-r--r--media-libs/libpqstego/libpqstego-0.0.1-r2.ebuild (renamed from media-libs/libpqstego/libpqstego-0.0.1-r1.ebuild)9
-rw-r--r--media-libs/libprojectm/Manifest1
-rw-r--r--media-libs/libprojectm/libprojectm-4.1.2.ebuild50
-rw-r--r--media-libs/libpulse/Manifest2
-rw-r--r--media-libs/libpulse/files/pulseaudio-16.1-memfd-cleanup.patch28
-rw-r--r--media-libs/libpulse/files/pulseaudio-16.1-proplist-util-without-gdkx.patch42
-rw-r--r--media-libs/libpulse/files/pulseaudio-16.99.1-memfd-compat.patch24
-rw-r--r--media-libs/libpulse/libpulse-16.1-r2.ebuild208
-rw-r--r--media-libs/libpulse/libpulse-16.99.1.ebuild215
-rw-r--r--media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild2
-rw-r--r--media-libs/libsdl/Manifest3
-rw-r--r--media-libs/libsdl/files/libsdl-1.2.15-gamma.patch42
-rw-r--r--media-libs/libsdl/files/libsdl-1.2.15-sdl-config.patch20
-rw-r--r--media-libs/libsdl/libsdl-1.2.15_p20221201.ebuild166
-rw-r--r--media-libs/libsdl/libsdl-1.2.64.ebuild40
-rw-r--r--media-libs/libsdl/libsdl-1.2.64_p20230726.ebuild45
-rw-r--r--media-libs/libsdl/metadata.xml1
-rw-r--r--media-libs/libsdl2/libsdl2-2.30.7-r1.ebuild2
-rw-r--r--media-libs/libsfml/Manifest1
-rw-r--r--media-libs/libsfml/libsfml-2.6.1.ebuild2
-rw-r--r--media-libs/libsfml/libsfml-2.6.2.ebuild (renamed from media-libs/libsfml/libsfml-2.5.1-r1.ebuild)17
-rw-r--r--media-libs/libshumate/Manifest1
-rw-r--r--media-libs/libshumate/libshumate-1.2.3.ebuild58
-rw-r--r--media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild5
-rw-r--r--media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild5
-rw-r--r--media-libs/libsidplayfp/Manifest4
-rw-r--r--media-libs/libsidplayfp/libsidplayfp-2.10.1.ebuild (renamed from media-libs/libsidplayfp/libsidplayfp-2.9.0.ebuild)0
-rw-r--r--media-libs/libsidplayfp/libsidplayfp-2.11.0.ebuild (renamed from media-libs/libsidplayfp/libsidplayfp-2.10.0.ebuild)0
-rw-r--r--media-libs/libsndfile/libsndfile-1.2.2-r2.ebuild12
-rw-r--r--media-libs/libsndfile/libsndfile-1.2.2.ebuild70
-rw-r--r--media-libs/libsndfile/libsndfile-9999.ebuild9
-rw-r--r--media-libs/libtgvoip/libtgvoip-2.4.4_p20240706.ebuild2
-rw-r--r--media-libs/libuninameslist/libuninameslist-20230916.ebuild4
-rw-r--r--media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch52
-rw-r--r--media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r6.ebuild (renamed from media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r4.ebuild)10
-rw-r--r--media-libs/libva-intel-driver/libva-intel-driver-9999.ebuild6
-rw-r--r--media-libs/libva-intel-media-driver/Manifest8
-rw-r--r--media-libs/libva-intel-media-driver/libva-intel-media-driver-24.1.5.ebuild57
-rw-r--r--media-libs/libva-intel-media-driver/libva-intel-media-driver-24.2.5.ebuild57
-rw-r--r--media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.0.ebuild57
-rw-r--r--media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.1-r1.ebuild57
-rw-r--r--media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.4.ebuild2
-rw-r--r--media-libs/libva-intel-media-driver/libva-intel-media-driver-24.4.2.ebuild (renamed from media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.2.ebuild)2
-rw-r--r--media-libs/libva-intel-media-driver/libva-intel-media-driver-24.4.3.ebuild (renamed from media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.3.ebuild)2
-rw-r--r--media-libs/libva/Manifest1
-rw-r--r--media-libs/libva/files/libva-2.21.0-no-undefined-version.patch46
-rw-r--r--media-libs/libva/libva-2.21.0.ebuild71
-rw-r--r--media-libs/libvisio/Manifest1
-rw-r--r--media-libs/libvisio/libvisio-0.1.8.ebuild62
-rw-r--r--media-libs/libvisio/libvisio-9999.ebuild23
-rw-r--r--media-libs/libvpl-tools/metadata.xml6
-rw-r--r--media-libs/libvpl/libvpl-2.12.0.ebuild2
-rw-r--r--media-libs/libvpl/libvpl-2.13.0.ebuild2
-rw-r--r--media-libs/libvpl/metadata.xml6
-rw-r--r--media-libs/libvpx/Manifest2
-rw-r--r--media-libs/libvpx/libvpx-1.14.0.ebuild143
-rw-r--r--media-libs/libwebp/Manifest1
-rw-r--r--media-libs/libwebp/libwebp-1.3.2.ebuild73
-rw-r--r--media-libs/libwebp/libwebp-1.4.0.ebuild2
-rw-r--r--media-libs/libxmp/libxmp-4.6.0.ebuild2
-rw-r--r--media-libs/mesa/Manifest6
-rw-r--r--media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch85
-rw-r--r--media-libs/mesa/mesa-24.1.7-r1.ebuild (renamed from media-libs/mesa/mesa-24.1.7.ebuild)11
-rw-r--r--media-libs/mesa/mesa-24.2.3-r1.ebuild (renamed from media-libs/mesa/mesa-24.2.3.ebuild)11
-rw-r--r--media-libs/mesa/mesa-24.2.4-r1.ebuild (renamed from media-libs/mesa/mesa-24.2.4.ebuild)11
-rw-r--r--media-libs/mesa/mesa-24.2.5-r1.ebuild497
-rw-r--r--media-libs/mesa/mesa-24.2.6-r2.ebuild501
-rw-r--r--media-libs/mesa/mesa-24.2.7.ebuild497
-rw-r--r--media-libs/mesa/mesa-24.2.8.ebuild497
-rw-r--r--media-libs/mesa/mesa-24.3.0.ebuild492
-rw-r--r--media-libs/mesa/mesa-24.3.0_rc2.ebuild492
-rw-r--r--media-libs/mesa/mesa-9999.ebuild15
-rw-r--r--media-libs/mlt/Manifest1
-rw-r--r--media-libs/mlt/files/mlt-7.24.0-musl-build-fix.patch54
-rw-r--r--media-libs/mlt/files/mlt-7.28.0-fix-32bit.patch101
-rw-r--r--media-libs/mlt/mlt-7.28.0-r1.ebuild (renamed from media-libs/mlt/mlt-7.24.0-r1.ebuild)43
-rw-r--r--media-libs/mutagen/mutagen-1.47.0.ebuild2
-rw-r--r--media-libs/nanosvg/nanosvg-20231202.ebuild2
-rw-r--r--media-libs/nas/files/nas-1.9.2-asneeded.patch13
-rw-r--r--media-libs/nas/files/nas-1.9.4-libfl.patch12
-rw-r--r--media-libs/nas/nas-1.9.5.ebuild118
-rw-r--r--media-libs/netpbm/Manifest4
-rw-r--r--media-libs/netpbm/files/netpbm-11.2.11-fix-C23.patch245
-rw-r--r--media-libs/netpbm/files/netpbm-11.8.2-fix-C23.patch241
-rw-r--r--media-libs/netpbm/metadata.xml6
-rw-r--r--media-libs/netpbm/netpbm-11.2.11-r1.ebuild (renamed from media-libs/netpbm/netpbm-11.2.10.ebuild)4
-rw-r--r--media-libs/netpbm/netpbm-11.2.11.ebuild2
-rw-r--r--media-libs/netpbm/netpbm-11.8.2.ebuild (renamed from media-libs/netpbm/netpbm-11.8.0.ebuild)1
-rw-r--r--media-libs/netpbm/netpbm-9999.ebuild (renamed from media-libs/netpbm/netpbm-11.2.9-r1.ebuild)86
-rw-r--r--media-libs/nvidia-vaapi-driver/Manifest1
-rw-r--r--media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.13.ebuild32
-rw-r--r--media-libs/oneVPL-cpu/metadata.xml6
-rw-r--r--media-libs/oneVPL-intel-gpu/Manifest2
-rw-r--r--media-libs/oneVPL-intel-gpu/metadata.xml14
-rw-r--r--media-libs/openal/Manifest2
-rw-r--r--media-libs/openal/openal-1.24.0.ebuild87
-rw-r--r--media-libs/openal/openal-1.24.1.ebuild87
-rw-r--r--media-libs/opencollada/opencollada-1.6.68.ebuild4
-rw-r--r--media-libs/opencv/Manifest4
-rw-r--r--media-libs/opencv/files/opencv-4.10.0-26234.patch73
-rw-r--r--media-libs/opencv/files/opencv-4.10.0-cuda-fp16.patch226
-rw-r--r--media-libs/opencv/files/opencv-4.10.0-cudnn-9.patch32
-rw-r--r--media-libs/opencv/files/opencv-4.10.0-dnn-explicitly-include-abseil-cpp.patch39
-rw-r--r--media-libs/opencv/files/opencv-4.10.0-tbb-detection.patch28
-rw-r--r--media-libs/opencv/files/opencv_contrib-4.10.0-CUDA-12.6-tuple_size.patch53
-rw-r--r--media-libs/opencv/metadata.xml3
-rw-r--r--media-libs/opencv/opencv-4.10.0.ebuild1317
-rw-r--r--media-libs/opencv/opencv-4.9.0-r2.ebuild4
-rw-r--r--media-libs/openfec/openfec-1.4.2.11-r1.ebuild (renamed from media-libs/openfec/openfec-1.4.2.11.ebuild)7
-rw-r--r--media-libs/openh264/Manifest1
-rw-r--r--media-libs/openh264/openh264-2.5.0.ebuild134
-rw-r--r--media-libs/plotutils/plotutils-2.6-r3.ebuild2
-rw-r--r--media-libs/pulseaudio-qt/Manifest2
-rw-r--r--media-libs/pulseaudio-qt/pulseaudio-qt-1.6.1.ebuild (renamed from media-libs/pulseaudio-qt/pulseaudio-qt-1.5.0.ebuild)4
-rw-r--r--media-libs/quarter/Manifest1
-rw-r--r--media-libs/quarter/files/quarter-1.2.2-find-qhelpgenerator.patch20
-rw-r--r--media-libs/quarter/metadata.xml1
-rw-r--r--media-libs/quarter/quarter-1.2.2.ebuild66
-rw-r--r--media-libs/rnnoise/rnnoise-0.4.1_p20210122-r1.ebuild5
-rw-r--r--media-libs/rtaudio/Manifest1
-rw-r--r--media-libs/rtaudio/rtaudio-6.0.1.ebuild75
-rw-r--r--media-libs/rubberband/Manifest2
-rw-r--r--media-libs/rubberband/rubberband-4.0.0-r1.ebuild (renamed from media-libs/rubberband/rubberband-3.3.0-r1.ebuild)2
-rw-r--r--media-libs/shaderc/Manifest1
-rw-r--r--media-libs/shaderc/shaderc-2024.3.ebuild79
-rw-r--r--media-libs/simage/simage-1.8.3-r1.ebuild86
-rw-r--r--media-libs/simage/simage-9999.ebuild5
-rw-r--r--media-libs/soxr/soxr-0.1.3-r2.ebuild (renamed from media-libs/soxr/soxr-0.1.3-r1.ebuild)7
-rw-r--r--media-libs/svt-av1/svt-av1-2.1.2.ebuild2
-rw-r--r--media-libs/svt-hevc/metadata.xml2
-rw-r--r--media-libs/t1lib/t1lib-5.1.2-r5.ebuild2
-rw-r--r--media-libs/tg_owt/tg_owt-0_pre20240804-r2.ebuild (renamed from media-libs/tg_owt/tg_owt-0_pre20240804-r1.ebuild)4
-rw-r--r--media-libs/tiff/tiff-4.7.0-r1.ebuild86
-rw-r--r--media-libs/vamp-plugin-sdk/vamp-plugin-sdk-2.10.ebuild2
-rw-r--r--media-libs/vips/Manifest3
-rw-r--r--media-libs/vips/vips-8.15.5.ebuild167
-rw-r--r--media-libs/vips/vips-8.16.0.ebuild (renamed from media-libs/vips/vips-8.15.4.ebuild)2
-rw-r--r--media-libs/vpl-gpu-rt/Manifest3
-rw-r--r--media-libs/vpl-gpu-rt/metadata.xml17
-rw-r--r--media-libs/vpl-gpu-rt/vpl-gpu-rt-24.2.5.ebuild (renamed from media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.2.5.ebuild)6
-rw-r--r--media-libs/vpl-gpu-rt/vpl-gpu-rt-24.3.4.ebuild (renamed from media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.3.4.ebuild)9
-rw-r--r--media-libs/vpl-gpu-rt/vpl-gpu-rt-24.4.2.ebuild49
-rw-r--r--media-libs/vulkan-layers/Manifest1
-rw-r--r--media-libs/vulkan-layers/vulkan-layers-1.3.296.0.ebuild60
-rw-r--r--media-libs/vulkan-loader/Manifest1
-rw-r--r--media-libs/vulkan-loader/vulkan-loader-1.3.296.0.ebuild60
-rw-r--r--media-libs/vulkan-loader/vulkan-loader-9999.ebuild1
-rw-r--r--media-libs/webrtc-audio-processing/webrtc-audio-processing-0.3.1-r1.ebuild4
-rw-r--r--media-libs/x264/x264-0.0.20240513.ebuild2
-rw-r--r--media-libs/x265/x265-3.6-r1.ebuild2
-rw-r--r--media-libs/xine-lib/xine-lib-1.2.13-r2.ebuild3
-rw-r--r--media-libs/xine-lib/xine-lib-1.2.9999.ebuild3
-rw-r--r--media-libs/zimg/zimg-3.0.4-r1.ebuild4
286 files changed, 9210 insertions, 3009 deletions
diff --git a/media-libs/SoQt/Manifest b/media-libs/SoQt/Manifest
index 994215068537..23d0ebfc0857 100644
--- a/media-libs/SoQt/Manifest
+++ b/media-libs/SoQt/Manifest
@@ -1 +1,2 @@
DIST soqt-1.6.2-src.tar.gz 1709116 BLAKE2B 45d87af95e90a88d97188b7efa6d22ad2238e4957d8c21712ad6161ea94748db0df596d0dcedbeff94abfd163ad40cd2f1649aae5ba4bf94e3892c1ed1990839 SHA512 4039d0c8e36e89995e77b1b49efcb52d15ca213c7d53ba9d628259763e261288192078caed8e2efb02772dd8f513e971731eeb0a761d1642985af7b9c4852c18
+DIST soqt-1.6.3-src.tar.gz 7673080 BLAKE2B 3a28a8144de286da10f2c539d5ebf68b2beae006416f91ba849cb7fd6fee25474e3f62603cc6e7b70d80dd8bc5114004a51fba850b81493455919464a957454a SHA512 8cef22cf4214dd03bb4639c1fff77c127bf80f99e3b7fb7c1c21c25a281aa484252414f4a48fa59b8b2485afe7920ce9e86366fd1343badc77b75b78d3ac4c53
diff --git a/media-libs/SoQt/SoQt-1.6.3.ebuild b/media-libs/SoQt/SoQt-1.6.3.ebuild
new file mode 100644
index 000000000000..2bdd913e96d0
--- /dev/null
+++ b/media-libs/SoQt/SoQt-1.6.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="GUI binding for using Coin/Open Inventor with Qt"
+HOMEPAGE="https://github.com/coin3d/coin/wiki"
+SRC_URI="https://github.com/coin3d/soqt/releases/download/v${PV}/${P/SoQt/soqt}-src.tar.gz"
+S="${WORKDIR}/soqt"
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="debug doc"
+
+RDEPEND="
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ media-libs/coin
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXi
+"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
+
+DOCS=( AUTHORS ChangeLog HACKING NEWS README )
+
+src_configure() {
+ use debug && append-cppflags -DSOQT_DEBUG=1
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DSOQT_BUILD_DOCUMENTATION=$(usex doc)
+ -DSOQT_BUILD_INTERNAL_DOCUMENTATION=OFF
+ -DSOQT_USE_QT6=ON
+ -DSOQT_VERBOSE=$(usex debug)
+ )
+ cmake_src_configure
+}
diff --git a/media-libs/aalib/aalib-1.4_rc5-r11.ebuild b/media-libs/aalib/aalib-1.4_rc5-r11.ebuild
new file mode 100644
index 000000000000..913b8cafce37
--- /dev/null
+++ b/media-libs/aalib/aalib-1.4_rc5-r11.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic multilib-minimal toolchain-funcs
+
+MY_PV="${PV/_/}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="A ASCII-Graphics Library"
+HOMEPAGE="https://aa-project.sourceforge.net/aalib/"
+SRC_URI="https://download.sourceforge.net/project/aa-project/aa-lib/${MY_PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${PN}-1.4.0"
+
+LICENSE="GPL-2"
+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="X gpm slang"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}]
+ X? ( >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] )
+ gpm? ( >=sys-libs/gpm-1.20.7-r2[${MULTILIB_USEDEP}] )
+ slang? ( >=sys-libs/slang-2.2.4-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4_rc4-gentoo.patch
+ "${FILESDIR}"/${PN}-1.4_rc4-m4.patch
+ "${FILESDIR}"/${PN}-1.4_rc5-fix-protos.patch #224267
+ "${FILESDIR}"/${PN}-1.4_rc5-fix-aarender.patch #214142
+ "${FILESDIR}"/${PN}-1.4_rc5-tinfo.patch #468566
+ "${FILESDIR}"/${PN}-1.4_rc5-key-down-OOB.patch
+ "${FILESDIR}"/${PN}-1.4_rc5-more-protos.patch
+ "${FILESDIR}"/${PN}-1.4_rc5-free-offset-pointer.patch #894978
+ "${FILESDIR}"/${PN}-1.4_rc5-ncurses-opaque.patch #932140
+)
+
+DOCS=( ANNOUNCE AUTHORS ChangeLog NEWS README )
+
+src_prepare() {
+ default
+
+ sed -i -e 's:#include <malloc.h>:#include <stdlib.h>:g' "${S}"/src/*.c
+
+ # Fix bug #165617.
+ use gpm || sed -i \
+ 's/gpm_mousedriver_test=yes/gpm_mousedriver_test=no/' "${S}/configure.in"
+
+ #467988 automake-1.13
+ mv configure.{in,ac} || die
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # Gpm_Wgetch from sys-libs/gpm is unprototyped in gpm.h
+ # https://github.com/telmich/gpm/issues/48
+ append-cflags -std=gnu17
+
+ ECONF_SOURCE=${S} econf \
+ $(use_with slang slang-driver) \
+ $(use_with X x11-driver) \
+ PKG_CONFIG=$(tc-getPKG_CONFIG)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/media-libs/aalib/files/aalib-1.4_rc5-ncurses-opaque.patch b/media-libs/aalib/files/aalib-1.4_rc5-ncurses-opaque.patch
new file mode 100644
index 000000000000..91271fba4f7f
--- /dev/null
+++ b/media-libs/aalib/files/aalib-1.4_rc5-ncurses-opaque.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/932140
+https://sourceforge.net/p/aa-project/patches/10/
+
+Without the change build fails on ncurses-6.5 (enables opaque WINDOW by
+default) as:
+
+ aacurses.c: In function 'curses_getsize':
+ aacurses.c:74:20: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'}
+ 74 | *width = stdscr->_maxx + 1;
+ | ^~
+--- a/src/aacurses.c
++++ b/src/aacurses.c
+@@ -71,8 +71,8 @@ static void curses_getsize(aa_context * c, int *width, int *height)
+ {
+ if (__resized_curses)
+ curses_uninit(c), curses_init(&c->params, NULL,&c->driverparams, NULL), __resized_curses = 0;
+- *width = stdscr->_maxx + 1;
+- *height = stdscr->_maxy + 1;
++ *width = getmaxx(stdscr);
++ *height = getmaxy(stdscr);
+ #ifdef GPM_MOUSEDRIVER
+ gpm_mx = *width;
+ gpm_my = *height;
+
diff --git a/media-libs/alsa-lib/Manifest b/media-libs/alsa-lib/Manifest
index 6c09083fba1c..593bf5171d43 100644
--- a/media-libs/alsa-lib/Manifest
+++ b/media-libs/alsa-lib/Manifest
@@ -1,2 +1,3 @@
DIST alsa-lib-1.2.11.tar.bz2 1107150 BLAKE2B 7fb245ffbfb841bdd5cb9da08fb2ec0a4ce8d340d4d1461999aca558c67c16e7c596cd0bffab761b7b4549025b0fb25462fb352e6d3900fb42f00b47de58d34c SHA512 7bf2c541dff5262c0302a1c716ca10cdb5105f4e0ad48f3341c3c7e975b0c3ea835a298a05974c3e216a85912c368d8025ba3cdda3ff04a7683133ce5b2a286d
DIST alsa-lib-1.2.12.tar.bz2 1108712 BLAKE2B bcb48ad2c8687454b312e789c650136fee0db8cccf58e997b9d619aac5c74288b69220589efdcd3917eb1d781ef71be5fcd16d997c59c069fe20788d1a479068 SHA512 053e36e51c0ff28f07028b89c8845b50682a5c14035ab85c2fc8cae2f2f0d05e4cd45ed879602c15c1596fb7fe84bfd50ec0d119dfb55c66589a2d458a9b317d
+DIST alsa-lib-1.2.13.tar.bz2 1116739 BLAKE2B 1723ca5f191525e050f05423fb9ccf4501e4f20490d01b0c068493bbce279d3a067e8d0e5f52f9c76c2eaecb4c2b3fc42690193b88c313461fce2aec390175b3 SHA512 b0c0666e38e881dca985b61386523c045c71072a88be4952c986ffbe2107ec736da528858ebeffdf439de5c290914bf3facc654100a228c6d26fff9429142ef0
diff --git a/media-libs/alsa-lib/alsa-lib-1.2.13.ebuild b/media-libs/alsa-lib/alsa-lib-1.2.13.ebuild
new file mode 100644
index 000000000000..b6efb887b5db
--- /dev/null
+++ b/media-libs/alsa-lib/alsa-lib-1.2.13.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools multilib-minimal flag-o-matic python-single-r1
+
+DESCRIPTION="Advanced Linux Sound Architecture Library"
+HOMEPAGE="https://alsa-project.org/wiki/Main_Page"
+if [[ ${PV} == *_p* ]] ; then
+ # Please set correct commit ID for a snapshot release!
+ COMMIT="7e3a3c2b0a092d0f568ba3c98365030dd91cc877"
+ SRC_URI="https://git.alsa-project.org/?p=${PN}.git;a=snapshot;h=${COMMIT};sf=tgz -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${COMMIT:0:7}
+else
+ # TODO: Upstream does publish .sig files, so someone could implement verify-sig ;)
+ SRC_URI="https://www.alsa-project.org/files/pub/lib/${P}.tar.bz2"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="alisp debug doc python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ media-libs/alsa-topology-conf
+ media-libs/alsa-ucm-conf
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( >=app-text/doxygen-1.2.6 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.1.6-missing_files.patch" # bug #652422
+ "${FILESDIR}/${PN}-1.2.13-update-symbol-name.patch" # bug #943399
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ find . -name Makefile.am -exec sed -i -e '/CFLAGS/s:-g -O2::' {} + || die
+ # bug #545950
+ sed -i -e '5s:^$:\nAM_CPPFLAGS = -I$(top_srcdir)/include:' test/lsb/Makefile.am || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # Broken upstream. Could in theory work with -flto-partitions=none
+ # but it's a hack to workaround the real problem and not strictly safe.
+ # bug #616108, bug #669086, and https://github.com/alsa-project/alsa-lib/issues/6.
+ # (This bug is closed as of 1.2.9 but there's been no clear actual fix to it.
+ # Let us know if you can identify one.)
+ filter-lto
+
+ local myeconfargs=(
+ --disable-maintainer-mode
+ --disable-resmgr
+ --enable-aload
+ --enable-rawmidi
+ --enable-seq
+ --enable-shared
+ --enable-thread-safety
+
+ $(multilib_native_use_enable python)
+ $(use_enable alisp)
+ $(use_with debug)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi && use doc; then
+ emake doc
+ grep -FZrl "${S}" doc/doxygen/html | \
+ xargs -0 sed -i -e "s:${S}::" || die
+ fi
+}
+
+multilib_src_install() {
+ multilib_is_native_abi && use doc && local HTML_DOCS=( doc/doxygen/html/. )
+
+ default
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name '*.la' -delete || die
+
+ dodoc ChangeLog doc/asoundrc.txt NOTES TODO
+}
diff --git a/media-libs/alsa-lib/files/alsa-lib-1.2.13-update-symbol-name.patch b/media-libs/alsa-lib/files/alsa-lib-1.2.13-update-symbol-name.patch
new file mode 100644
index 000000000000..637c06bef0b3
--- /dev/null
+++ b/media-libs/alsa-lib/files/alsa-lib-1.2.13-update-symbol-name.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/943399
+https://github.com/alsa-project/alsa-lib/issues/420
+https://github.com/alsa-project/alsa-lib/pull/421
+https://github.com/alsa-project/alsa-lib/commit/76edab4e595bd5f3f4c636cccc8d7976d3c519d6
+
+From 76edab4e595bd5f3f4c636cccc8d7976d3c519d6 Mon Sep 17 00:00:00 2001
+From: Nicholas Vinson <nvinson234@gmail.com>
+Date: Thu, 14 Nov 2024 07:49:53 -0500
+Subject: [PATCH] src/Versions.in.in: Update *_tempo_base name
+
+Change @SYMBOL_PREFIX@snd_has_tempo_base to
+@SYMBOL_PREFIX@snd_has_queue_tempo_base.
+
+Starting with version 1.2.13, alsa-lib fails to link with ld.lld-19 due
+to "version script assignment of 'ALSA_1.2.13' to symbol
+'snd_seq_has_tempo_base' failed: symbol not defined".
+
+Per commit 769d1db1b0a213a39c7e59c0d1d724e7f45b1ac3 the correct name for
+the symbol is @SYMBOL_PREFIX@snd_has_queue_tempo_base; therefore, update
+src/Vesions.in.in to match.
+
+Fixes bug #420
+Fixes Gentoo bug 943399 (https://bugs.gentoo.org/943399)
+
+Closes: https://github.com/alsa-project/alsa-lib/pull/421
+Signed-off-by: Nicholas Vinson <nvinson234@gmail.com>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+--- a/src/Versions.in.in
++++ b/src/Versions.in.in
+@@ -212,7 +212,7 @@ ALSA_1.2.13 {
+ @SYMBOL_PREFIX@snd_seq_create_ump_block;
+ @SYMBOL_PREFIX@snd_seq_queue_tempo_get_tempo_base;
+ @SYMBOL_PREFIX@snd_seq_queue_tempo_set_tempo_base;
+- @SYMBOL_PREFIX@snd_seq_has_tempo_base;
++ @SYMBOL_PREFIX@snd_seq_has_queue_tempo_base;
+ @SYMBOL_PREFIX@snd_seq_port_info_get_ump_is_midi1;
+ @SYMBOL_PREFIX@snd_seq_port_info_set_ump_is_midi1;
+ #endif
diff --git a/media-libs/alsa-ucm-conf/Manifest b/media-libs/alsa-ucm-conf/Manifest
index 698a8e2773c5..c663060f60de 100644
--- a/media-libs/alsa-ucm-conf/Manifest
+++ b/media-libs/alsa-ucm-conf/Manifest
@@ -1,2 +1,3 @@
DIST alsa-ucm-conf-1.2.11.tar.bz2 49172 BLAKE2B 8b57ad990eac676ca8f5044a81a57a85951e425bd059679ac3dc7097e3c4a089cb73bbd01869335c4e94161d9f3f86aba7549b6a666e69ba76578d785e53fbb4 SHA512 b202e7410a579789be0005564b4868f70bca0fd8664c02add95fc9ff90ab64faebda978fbd3e83a3274c37242dccf8efbebd03f529e35ca3033daf55f425cb8d
DIST alsa-ucm-conf-1.2.12.tar.bz2 52618 BLAKE2B 65f429afa6a9134f1896acac3827f6065ce9315f1920d27d5ea97244fe376f1f7780c9537cf33b8a91eeaebfde7489842bd603a7d60c0d20b6017f2e7e1eda4e SHA512 391dde123271172d899c04865d1d6e21b4ad0060ee9b2256dfbc6fc89ad48edcaa43c861893ab0e5c70d972e20d15c528defc19c00308e7465f13f954cce25d7
+DIST alsa-ucm-conf-1.2.13.tar.bz2 58408 BLAKE2B 87e4bf2285961e316ca853e9245e02447ea9e60fa506e124c072e2b6ed71345fc0c30b19bf8c849f8123a6b95a4facd22225eafccba8164266961110a60ef44c SHA512 cad867268851ac178f3a5378a00e292184b0e0ec7955f297ae7ed56073d3dddb06c08666b23b1bf6b0065068a9370ee34608bd687763658c79d34b64059b1c85
diff --git a/media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.13.ebuild b/media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.13.ebuild
new file mode 100644
index 000000000000..62707af45fcf
--- /dev/null
+++ b/media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.13.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="ALSA ucm configuration files"
+HOMEPAGE="https://alsa-project.org/wiki/Main_Page"
+SRC_URI="https://www.alsa-project.org/files/pub/lib/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="!<media-libs/alsa-lib-1.2.1"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ucm2-intel-sys_vendor.patch
+ "${FILESDIR}"/${P}-ucm2-intel-product_name.patch
+)
+
+src_install() {
+ insinto /usr/share/alsa
+ doins -r ucm{,2}
+}
diff --git a/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-product_name.patch b/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-product_name.patch
new file mode 100644
index 000000000000..13c16f18a9a5
--- /dev/null
+++ b/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-product_name.patch
@@ -0,0 +1,62 @@
+https://github.com/alsa-project/alsa-ucm-conf/commit/6397c663d7086b87ca5cbba323ea3dcd0ecd3200
+
+From 6397c663d7086b87ca5cbba323ea3dcd0ecd3200 Mon Sep 17 00:00:00 2001
+From: Jaroslav Kysela <perex@perex.cz>
+Date: Wed, 13 Nov 2024 16:19:15 +0100
+Subject: [PATCH] sof-hda-dsp: Fix the case where sysfs dmi product_name
+ attribute is not set
+
+ !!DMI Information
+ !!---------------
+
+ Manufacturer:
+ Product Name:
+ Product Version:
+ Firmware Version: R6G07
+ System SKU: Default string
+ Board Vendor: Default string
+ Board Name: Default string
+
+BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2292583
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+---
+ ucm2/Intel/sof-hda-dsp/HiFi-sof.conf | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf b/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
+index c755ba26..5fd1843f 100644
+--- a/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
++++ b/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
+@@ -3,6 +3,7 @@
+ # File paths for controlling SOF processing
+
+ Define.SOFVendor "$${sys:devices/virtual/dmi/id/sys_vendor}"
++Define.SOFProduct "$${sys:devices/virtual/dmi/id/product_name}"
+
+ If.SOFVendor {
+ Condition {
+@@ -12,6 +13,14 @@ If.SOFVendor {
+ True.Define.SOFVendor "${sys:devices/virtual/dmi/id/board_vendor}"
+ }
+
++If.SOFProduct {
++ Condition {
++ Type String
++ Empty "${var:SOFProduct}"
++ }
++ True.Define.SOFProduct "${sys:devices/virtual/dmi/id/board_name}"
++}
++
+ If.SOFIPCVer {
+ Condition {
+ Type ControlExists
+@@ -43,7 +52,7 @@ If.SOFPath {
+ HeadphoneIirBlob "${var:BlobPath}/eq_iir/pass.blob"
+ HeadphoneFirBlob "${var:BlobPath}/eq_fir/pass.blob"
+ HeadphoneDrcBlob "${var:BlobPath}/drc/passthrough.blob"
+- ConfPathFromDMI "${var:SOFVendor}/${sys:devices/virtual/dmi/id/product_name}.conf"
++ ConfPathFromDMI "${var:SOFVendor}/${var:SOFProduct}"
+ SOFProductConfig "/blobs/sof/product_configs/${var:ConfPathFromDMI}"
+ SOFConfFullPath "${ConfTopDir}${var:SOFProductConfig}"
+ SOFUserConfig "/blobs/sof/user_configs/${var:ConfPathFromDMI}"
+
diff --git a/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-sys_vendor.patch b/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-sys_vendor.patch
new file mode 100644
index 000000000000..8f603bfa2173
--- /dev/null
+++ b/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-sys_vendor.patch
@@ -0,0 +1,37 @@
+https://github.com/alsa-project/alsa-ucm-conf/commit/11b028a9a01e47fc9b48e4a566803752011902e2
+
+From 11b028a9a01e47fc9b48e4a566803752011902e2 Mon Sep 17 00:00:00 2001
+From: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
+Date: Wed, 13 Nov 2024 14:48:38 +0200
+Subject: [PATCH] UCM2: Intel: sof-hda-dsp: Fix handling of empty sys_vendor
+
+The mistake in UCM syntax caused in alsaucm start error:
+
+ALSA lib ucm_cond.c:367:(if_eval) unknown If.Condition.Type
+
+Fixes: 13022a97711d ("sof-hda-dsp: Fix the case where sysfs dmi
+ sys_vendor attribute is not set")
+
+Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/463
+Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+---
+ ucm2/Intel/sof-hda-dsp/HiFi-sof.conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf b/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
+index fea8159e..c755ba26 100644
+--- a/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
++++ b/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
+@@ -6,8 +6,8 @@ Define.SOFVendor "$${sys:devices/virtual/dmi/id/sys_vendor}"
+
+ If.SOFVendor {
+ Condition {
+- Type Empty
+- String "${var:SOFVendor}"
++ Type String
++ Empty "${var:SOFVendor}"
+ }
+ True.Define.SOFVendor "${sys:devices/virtual/dmi/id/board_vendor}"
+ }
+
diff --git a/media-libs/assimp/assimp-5.4.3.ebuild b/media-libs/assimp/assimp-5.4.3.ebuild
index ca6c5eae4ed8..147f25fbc2d9 100644
--- a/media-libs/assimp/assimp-5.4.3.ebuild
+++ b/media-libs/assimp/assimp-5.4.3.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
IUSE="collada doc samples test"
RESTRICT="!test? ( test )"
diff --git a/media-libs/babl/Manifest b/media-libs/babl/Manifest
index 6a62c6822859..086ea22b8d9c 100644
--- a/media-libs/babl/Manifest
+++ b/media-libs/babl/Manifest
@@ -1,2 +1,3 @@
DIST babl-0.1.106.tar.xz 315068 BLAKE2B 560518beab77ec2f3fc50062bda80839f749992e4c61bef3badd4acfbc2a7bba6dce332ffabe65dcf18e4ba450d0ae1d261b5e34724a1309ea74e50ce3e452c7 SHA512 97dc57141754ff64a961f77df50dcd91b32d3cf26efa8ba9f3dd5fcfae41e96f986178a04ba7a8940effb6e6e33ac98b163551f377dc781308c750222efb4943
DIST babl-0.1.108.tar.xz 317036 BLAKE2B a2ece95d7cad33aa70e41ee9c01bd11b7fb1730cb0e0d64df42c4c933a1ac1955b103d75d2ade613ebee0362ade8aaf8ed1257a3cbe307d623243869244f67c1 SHA512 3ebdd18b32505e3009ba8f4957ffe892226d83012fbf3217b1761645fdcae943a19bda1a1f93adde78a5dd83fa11b0ba23014118228ca4eab4fd18001f1f4970
+DIST babl-0.1.110.tar.xz 319256 BLAKE2B 545b15152123e6d470976d8d3279a77ad13c0434379b6e055ce4f6b8f637387fef28e477d04857f570b7b3d1711868cc0dc9c2616b83dc75fe49684589f69e27 SHA512 20e40baa6654785d69642e6e85542968db3c5d08da630adc590ff066a52c5938f4ce8a77c0097e00010a905c8c31d8f131eb0308a3f8b6439ab6be4133eae246
diff --git a/media-libs/babl/babl-0.1.110.ebuild b/media-libs/babl/babl-0.1.110.ebuild
new file mode 100644
index 000000000000..17c114a7df2f
--- /dev/null
+++ b/media-libs/babl/babl-0.1.110.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VALA_USE_DEPEND=vapigen
+
+inherit meson gnome2-utils vala
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/babl.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.gimp.org/pub/${PN}/${PV:0:3}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="A dynamic, any to any, pixel format conversion library"
+HOMEPAGE="https://gegl.org/babl/"
+
+LICENSE="LGPL-3"
+SLOT="0"
+IUSE="introspection lcms vala cpu_flags_x86_avx2 cpu_flags_x86_f16c cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1"
+REQUIRED_USE="vala? ( introspection )"
+
+BDEPEND="
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+RDEPEND="
+ introspection? ( >=dev-libs/gobject-introspection-1.72:= )
+ lcms? ( >=media-libs/lcms-2.13.1:2 )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ gnome2_environment_reset
+}
+
+src_configure() {
+ use vala && vala_setup
+
+ # Automagic rsvg support is just for website generation we do not call,
+ # so we don't need to fix it
+ # w3m is used for dist target thus no issue for us that it is automagically
+ # detected
+ local emesonargs=(
+ -Dwith-docs=false
+ $(meson_use introspection enable-gir)
+ $(meson_use lcms with-lcms)
+ $(meson_use vala enable-vapi)
+ $(meson_use cpu_flags_x86_avx2 enable-avx2)
+ $(meson_use cpu_flags_x86_f16c enable-f16c)
+ $(meson_use cpu_flags_x86_mmx enable-mmx)
+ $(meson_use cpu_flags_x86_sse enable-sse)
+ $(meson_use cpu_flags_x86_sse2 enable-sse2)
+ $(meson_use cpu_flags_x86_sse4_1 enable-sse4_1)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ # Create symlink for backward compatibility. See also bug 871690
+ dosym -r /usr/"$(get_libdir)"/pkgconfig/babl-0.1.pc /usr/"$(get_libdir)"/pkgconfig/babl.pc
+}
diff --git a/media-libs/clutter-gtk/clutter-gtk-1.8.4-r2.ebuild b/media-libs/clutter-gtk/clutter-gtk-1.8.4-r2.ebuild
index d8655c294ab9..ad5e2498f2bb 100644
--- a/media-libs/clutter-gtk/clutter-gtk-1.8.4-r2.ebuild
+++ b/media-libs/clutter-gtk/clutter-gtk-1.8.4-r2.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Clutter"
LICENSE="LGPL-2.1+"
SLOT="1.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="X debug examples gtk +introspection wayland"
RDEPEND="
diff --git a/media-libs/cogl/cogl-1.22.8-r3.ebuild b/media-libs/cogl/cogl-1.22.8-r3.ebuild
index f1f6b3256855..60f9a41c27f7 100644
--- a/media-libs/cogl/cogl-1.22.8-r3.ebuild
+++ b/media-libs/cogl/cogl-1.22.8-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ EAPI=8
# It's upstreamed so should be able to drop in future
# bug #778041
GNOME2_EAUTORECONF="yes"
-inherit gnome2
+inherit flag-o-matic gnome2
DESCRIPTION="A library for using 3D graphics hardware to draw pretty pictures"
HOMEPAGE="https://www.cogl3d.org/"
@@ -81,6 +81,9 @@ src_prepare() {
}
src_configure() {
+ # bug #943759
+ append-cflags -std=gnu17
+
# TODO: think about quartz, sdl
# Prefer gl over gles2 if both are selected
# Profiling needs uprof, which is not available in portage yet, bug #484750
diff --git a/media-libs/coin/Manifest b/media-libs/coin/Manifest
index b5002705981d..68be7c500f65 100644
--- a/media-libs/coin/Manifest
+++ b/media-libs/coin/Manifest
@@ -1 +1,2 @@
DIST coin-4.0.2-src.tar.gz 7160869 BLAKE2B a434ea2a550557024c665e392aa189e991296b5f8c9cd2c0dc5bb71d41a948ed9d9b34eac69dc9a651f70abf8ec1f188cb8df6534d6e31b6e4e1a6ec4acaffcd SHA512 31fcb69627e466c89bb640c5b2351db4e51772408a4ce56cae7d6f550ddf19adf9b121252479297d5c2a208032194d8f4e7bf97686b0611df1ac45231e09baad
+DIST coin-4.0.3-src.tar.gz 13099754 BLAKE2B c56f9e7b837bad76996a78ba3351c43b78b082c6250735e678ca9af79b3518d369e223a1625d74c8d007fff814f32e6bd6fe04c4dd5df9dd999f6afed767afeb SHA512 b661bf2124b0de1b46e76a6699b0975abb3aed4dc9019bf32531c535179dc84a90fe4e19def6f6cda7b175470636040d0e58812d532198cf207296d37c539915
diff --git a/media-libs/coin/coin-4.0.3.ebuild b/media-libs/coin/coin-4.0.3.ebuild
new file mode 100644
index 000000000000..6129b3b20078
--- /dev/null
+++ b/media-libs/coin/coin-4.0.3.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="High-level 3D graphics toolkit, fully compatible with SGI Open Inventor 2.1"
+HOMEPAGE="https://github.com/coin3d/coin/wiki"
+SRC_URI="https://github.com/coin3d/coin/releases/download/v${PV}/${P}-src.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="|| ( GPL-2 PEL )"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc +exceptions openal qch test threads"
+
+REQUIRED_USE="qch? ( doc )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/bzip2
+ dev-libs/expat
+ media-libs/fontconfig
+ media-libs/freetype:2
+ media-libs/simage
+ sys-libs/zlib
+ virtual/opengl
+ virtual/glu
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ openal? ( media-libs/openal )
+"
+DEPEND="${RDEPEND}
+ dev-libs/boost:0
+ x11-base/xorg-proto
+"
+BDEPEND="
+ doc? (
+ app-text/doxygen
+ qch? ( || (
+ dev-qt/qttools:6[assistant]
+ dev-qt/qthelp:5
+ ) )
+ )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-find-qhelpgenerator.patch )
+
+DOCS=( AUTHORS FAQ FAQ.legal NEWS THANKS docs/HACKING )
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/859832
+ # https://github.com/coin3d/coin/issues/521
+ filter-lto
+
+ use debug && append-cppflags -DCOIN_DEBUG=1
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+
+ -DCOIN_BUILD_SHARED_LIBS=ON
+ -DCOIN_BUILD_TESTS=$(usex test)
+ -DCOIN_BUILD_DOCUMENTATION=$(usex doc)
+
+ -DCOIN_BUILD_INTERNAL_DOCUMENTATION=OFF
+ -DCOIN_BUILD_AWESOME_DOCUMENTATION=$(usex doc)
+ -DCOIN_BUILD_DOCUMENTATION_MAN=$(usex doc)
+ -DCOIN_BUILD_DOCUMENTATION_QTHELP=$(usex qch)
+ -DCOIN_BUILD_DOCUMENTATION_CHM=OFF
+
+ -DCOIN_THREADSAFE=$(usex threads)
+ -DHAVE_VRML97=ON
+ -DCOIN_HAVE_JAVASCRIPT=OFF
+ -DHAVE_NODEKITS=ON
+ -DHAVE_DRAGGERS=ON
+ -DHAVE_MANIPULATORS=ON
+ -DHAVE_SOUND=$(usex openal)
+ -DHAVE_3DS_IMPORT_CAPABILITIES=ON
+ -DUSE_EXTERNAL_EXPAT=ON
+ -DUSE_EXCEPTIONS=$(usex exceptions)
+ -DUSE_SUPERGLU=OFF
+
+ -DFONTCONFIG_RUNTIME_LINKING=OFF
+ -DFREETYPE_RUNTIME_LINKING=OFF
+ -DLIBBZIP2_RUNTIME_LINKING=OFF
+ -DOPENAL_RUNTIME_LINKING=OFF
+ -DSIMAGE_RUNTIME_LINKING=OFF
+ -DZLIB_RUNTIME_LINKING=OFF
+ -DGLU_RUNTIME_LINKING=OFF
+ -DSPIDERMONKEY_RUNTIME_LINKING=ON
+
+ -DCOIN_VERBOSE=$(usex debug)
+ -DHAVE_MULTIPLE_VERSION=OFF
+
+ -DCOIN_BUILD_SINGLE_LIB=ON
+ )
+ use doc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
+
+ cmake_src_configure
+}
+
+src_test() {
+ pushd "${BUILD_DIR}/bin" > /dev/null || die
+ ./CoinTests -r detailed || die "Tests failed."
+ popd > /dev/null || die
+}
diff --git a/media-libs/coin/files/coin-4.0.3-find-qhelpgenerator.patch b/media-libs/coin/files/coin-4.0.3-find-qhelpgenerator.patch
new file mode 100644
index 000000000000..1ac924a5c28b
--- /dev/null
+++ b/media-libs/coin/files/coin-4.0.3-find-qhelpgenerator.patch
@@ -0,0 +1,23 @@
+--- a/src/doc/CMakeLists.txt 2024-09-06 07:36:34.000000000 +0200
++++ b/src/doc/CMakeLists.txt 2024-10-13 20:41:26.450802361 +0200
+@@ -32,13 +32,15 @@
+ endif()
+ endif()
+ if(COIN_BUILD_DOCUMENTATION_QTHELP)
+- find_program(QHG_LOCATION NAMES qhelpgenerator qhelpgenerator-qt5 DOC "Qt qhelpgenerator")
+- if(NOT QHG_LOCATION)
+- message(FATAL_ERROR "Missing program Qt qhelpgenerator")
++ find_package(Qt6Tools QUIET COMPONENTS Help)
++ if(Qt6Tools_FOUND)
++ get_target_property(QHG_LOCATION Qt6::qhelpgenerator LOCATION)
+ else()
+- set(GENERATE_QHP YES)
+- mark_as_advanced(QHG_LOCATION)
++ find_package(Qt5Help REQUIRED)
++ get_target_property(QHG_LOCATION Qt5::qhelpgenerator LOCATION)
+ endif()
++ set(GENERATE_QHP YES)
++ mark_as_advanced(QHG_LOCATION)
+ endif()
+
+ # Add default files
diff --git a/media-libs/coin/metadata.xml b/media-libs/coin/metadata.xml
index bcd622631c00..8ab9e491c2ab 100644
--- a/media-libs/coin/metadata.xml
+++ b/media-libs/coin/metadata.xml
@@ -6,6 +6,7 @@
</maintainer>
<use>
<flag name="exceptions">Compile with C++ exceptions</flag>
+ <flag name="qch">Install API documentation in QCH format</flag>
<flag name="qthelp">Build API documentation in QtHelp format</flag>
</use>
<upstream>
diff --git a/media-libs/compface/compface-1.5.2-r1.ebuild b/media-libs/compface/compface-1.5.2-r1.ebuild
index bb0eb52bcfee..ba4cc08ab229 100644
--- a/media-libs/compface/compface-1.5.2-r1.ebuild
+++ b/media-libs/compface/compface-1.5.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -11,7 +11,7 @@ SRC_URI="http://ftp.xemacs.org/pub/xemacs/aux/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
RDEPEND="dev-lang/perl"
diff --git a/media-libs/ctl/ctl-1.5.3.ebuild b/media-libs/ctl/ctl-1.5.3.ebuild
index 11e4fd2a2845..91f9323e614e 100644
--- a/media-libs/ctl/ctl-1.5.3.ebuild
+++ b/media-libs/ctl/ctl-1.5.3.ebuild
@@ -5,8 +5,6 @@ EAPI=8
inherit cmake flag-o-matic
-MY_COMMIT=3fc4ae7a8af35d380654e573d895216fd5ba407e
-
DESCRIPTION="AMPAS' Color Transformation Language"
HOMEPAGE="https://github.com/ampas/CTL"
SRC_URI="https://github.com/ampas/CTL/archive/${P}.tar.gz"
@@ -14,7 +12,7 @@ S="${WORKDIR}/CTL-${P}"
LICENSE="AMPAS"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~ppc64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/media-libs/dav1d/Manifest b/media-libs/dav1d/Manifest
index e8056226b2b1..c0baae4c9949 100644
--- a/media-libs/dav1d/Manifest
+++ b/media-libs/dav1d/Manifest
@@ -1 +1,2 @@
DIST dav1d-1.4.2.tar.xz 970104 BLAKE2B 03c8effb21df5c748f6e836413454577ac0920dce37d6e4922c2a0e493f79c9bb9fb6eabe05e2ac0f0f7089751bec1eb92717305c5faac1b71efd7b0dabe6be7 SHA512 36f8e632f64212db63e126b9ed2ca95c2db930d2388c551cde0b13b783ae872edeab1b5dd2274684bb03e98536d0334552ddcba209cff08c3568d97321034920
+DIST dav1d-1.5.0.tar.xz 1017040 BLAKE2B 7cf75b9de834c77a8012fb560fadca339d0faa0ab92073fd0119f0c5ccbb19017aa271a1aa0939aa698a52e2285b79a956021776a702afe2a7de131ce92d7241 SHA512 774881d27d045f468a8617317fa751e1ce452a15c6d6c2c93c3dd3c3544d6b2b91b0c3eb5ff379f113c26b27a02dc4b54d0751b083dcbcb18bb96c66a6504acb
diff --git a/media-libs/dav1d/dav1d-1.5.0.ebuild b/media-libs/dav1d/dav1d-1.5.0.ebuild
new file mode 100644
index 000000000000..93a307754a90
--- /dev/null
+++ b/media-libs/dav1d/dav1d-1.5.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://code.videolan.org/videolan/dav1d"
+ inherit git-r3
+else
+ SRC_URI="https://downloads.videolan.org/pub/videolan/dav1d/${PV}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos"
+fi
+
+inherit meson-multilib
+
+DESCRIPTION="dav1d is an AV1 Decoder :)"
+HOMEPAGE="https://code.videolan.org/videolan/dav1d"
+
+LICENSE="BSD-2"
+# Check SONAME on version bumps!
+SLOT="0/7"
+IUSE="+8bit +10bit +asm test xxhash"
+RESTRICT="!test? ( test )"
+
+ASM_DEPEND=">=dev-lang/nasm-2.15.05"
+DEPEND="xxhash? ( dev-libs/xxhash )"
+BDEPEND="
+ asm? (
+ abi_x86_32? ( ${ASM_DEPEND} )
+ abi_x86_64? ( ${ASM_DEPEND} )
+ )
+"
+
+DOCS=( README.md doc/PATENTS THANKS.md )
+
+multilib_src_configure() {
+ local -a bits=()
+ use 8bit && bits+=( 8 )
+ use 10bit && bits+=( 16 )
+
+ local enable_asm
+ if [[ ${MULTILIB_ABI_FLAG} == abi_x86_x32 ]]; then
+ enable_asm=false
+ else
+ enable_asm=$(usex asm true false)
+ fi
+
+ local emesonargs=(
+ -Dbitdepths=$(IFS=,; echo "${bits[*]}")
+ -Denable_asm=${enable_asm}
+ $(meson_use test enable_tests)
+ $(meson_feature xxhash xxhash_muxer)
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi ; then
+ meson_src_test
+ fi
+}
diff --git a/media-libs/fcft/Manifest b/media-libs/fcft/Manifest
index f469b79392da..93924ec7a251 100644
--- a/media-libs/fcft/Manifest
+++ b/media-libs/fcft/Manifest
@@ -4,3 +4,4 @@ DIST fcft-3.1.5.tar.gz 742014 BLAKE2B 39266ab2a7ea422671414d97c21a90b0eeabe9ed74
DIST fcft-3.1.6.tar.gz 699121 BLAKE2B 597ce1a701db29d3a8b913d831f1847c9526c450352b565436c843388447d8203b54b3d24ab668690986488c102f281c46685a2072bf4afee2bf58465ab9d6c3 SHA512 4fe4e318561706bd446e79b0df8df4fa5b542b9d546aa7361a1523593c26040d827ce059658c0eac89a77b83c771fd43bc74e2fe29cd16b2846a2db7ec733f49
DIST fcft-3.1.7.tar.gz 697694 BLAKE2B 2afdd26c631d365ae450691a2073fc61d361c759886e77781b6438e0d8e0db6626230bcc70b99ef2d5a5a05006280bca93d2433157a6974093f1af932952b4c2 SHA512 e862856dfb85c5df85f9f32dce8ed9e7fed8b3dc8435876994f53d276a2c597d0cee0b4fbcbb62362a3771e9ca82c49db95da989404d0c8aa5f604dd50c79075
DIST fcft-3.1.8.tar.gz 697836 BLAKE2B da7de65e2fb7ce6d2244d8ea3839a62953cbe772a7388cdb15d8f849c139e2e9124b3ad12113fcd90d4055b38a269bf7bfeba5a408f31469a95b56d4e770e992 SHA512 1b1cfbed4e99db8e290a1dcf6c124949f5fb317e225996e63913974f4a52748a04be053cff934c8f8c0b3add22c87f9e3b1c793366431f788529e62d7a7be69c
+DIST fcft-3.1.9.tar.gz 701854 BLAKE2B 0d7500749a311ae5d4f1586a85901884583ae036af2d70765a97c7adb3ff15eec4c94eda5fa960b660911c66a01c6ae6f1c75423b912bf3babd505f1d6a1ab92 SHA512 a6a400baf35ea2780da6acc5e703755349474d82f3bad081ed0551d1d6b724247476bfae6aeab06238a37df269afa4fb7a774501a4665e1e90d6ed9f241307b2
diff --git a/media-libs/fcft/fcft-3.1.9.ebuild b/media-libs/fcft/fcft-3.1.9.ebuild
new file mode 100644
index 000000000000..7cbcbbb0160c
--- /dev/null
+++ b/media-libs/fcft/fcft-3.1.9.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit meson python-any-r1
+
+DESCRIPTION="Simple library for font loading and glyph rasterization"
+HOMEPAGE="https://codeberg.org/dnkl/fcft"
+SRC_URI="https://codeberg.org/dnkl/fcft/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+# MIT for fcft
+# ZLIB for nanosvg
+LICENSE="MIT ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+IUSE="examples +harfbuzz +libutf8proc test"
+REQUIRED_USE="
+ libutf8proc? ( harfbuzz )
+ examples? ( libutf8proc )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/pixman
+ examples? (
+ dev-libs/libutf8proc:=
+ dev-libs/wayland
+ )
+ harfbuzz? (
+ media-libs/harfbuzz:=[truetype]
+ )
+ libutf8proc? (
+ dev-libs/libutf8proc:=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ app-i18n/unicode-data
+ dev-libs/tllist
+ examples? (
+ dev-libs/wayland-protocols
+ )
+ test? (
+ dev-libs/check
+ harfbuzz? ( media-fonts/noto-emoji )
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ app-text/scdoc
+ virtual/pkgconfig
+ examples? (
+ dev-util/wayland-scanner
+ )
+"
+
+src_prepare() {
+ default
+
+ rm -r unicode || die "Failed removing vendored unicode-data"
+
+ sed -i "s;unicode/UnicodeData.txt;${EPREFIX}/usr/share/unicode-data/UnicodeData.txt;" \
+ meson.build || die "Failed changing UnicodeData.txt to system's copy"
+ sed -i "s;unicode/emoji-data.txt;${EPREFIX}/usr/share/unicode-data/emoji/emoji-data.txt;" \
+ meson.build || die "Failed changing emoji-data.txt to system's copy"
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature harfbuzz grapheme-shaping)
+ $(meson_feature libutf8proc run-shaping)
+ $(meson_use examples)
+ $(use test && meson_use harfbuzz test-text-shaping)
+ # bundled, tiny, I believe this means we should always include it
+ -Dsvg-backend=nanosvg
+ -Ddocs=enabled
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ local DOCS=( CHANGELOG.md README.md )
+ meson_src_install
+
+ rm -r "${ED}"/usr/share/doc/${PN} || die
+
+ use examples && newbin "${BUILD_DIR}/example/example" fcft-example
+}
diff --git a/media-libs/flac/Manifest b/media-libs/flac/Manifest
index ec1914cb1563..9d54fa1cffa1 100644
--- a/media-libs/flac/Manifest
+++ b/media-libs/flac/Manifest
@@ -1,2 +1 @@
-DIST flac-1.3.4.tar.xz 1038356 BLAKE2B 0553cd42705f31d6a98d10e8b73953265e97c6b1e46bb59c7d97d12ec1b4aae4c3d6f5e85b9e5d1513f7efac82a65ea9dc59d89d8df0254ff3ab1188039c55c5 SHA512 4a626e8a1bd126e234c0e5061e3b46f3a27c2065fdfa228fd8cf00d3c7fa2c05fafb5cec36acce7bfce4914bfd7db0b2a27ee15decf2d8c4caad630f62d44ec9
DIST flac-1.4.3.tar.xz 1006728 BLAKE2B c4f441aeaa0493433347b8a110ca01865fd40d5b21150174372af2fee4fa5c3397a67add31138e92999eab9d9abe6c46a5ac29e13cbac60093fbff6d7a672ad3 SHA512 3cf095720bd590a588be8ccbe187d22e7a1c60ab85b1d510ce5e8a22ab0a51827b9acfeaad59bbd645a17d1f200f559255a640101b0330709a164306c0e9709e
diff --git a/media-libs/flac/flac-1.3.4.ebuild b/media-libs/flac/flac-1.3.4.ebuild
deleted file mode 100644
index a1b4fddd4ac0..000000000000
--- a/media-libs/flac/flac-1.3.4.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal
-
-DESCRIPTION="free lossless audio encoder and decoder"
-HOMEPAGE="https://xiph.org/flac/"
-SRC_URI="https://downloads.xiph.org/releases/${PN}/${P}.tar.xz"
-
-LICENSE="BSD FDL-1.2 GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
-IUSE="+cxx debug ogg cpu_flags_ppc_altivec cpu_flags_ppc_vsx cpu_flags_x86_sse static-libs"
-
-RDEPEND="ogg? ( media-libs/libogg[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- sys-devel/gettext
- virtual/pkgconfig
- abi_x86_32? ( dev-lang/nasm )"
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-doxygen-docs
- --disable-examples
- --disable-xmms-plugin
- $([[ ${CHOST} == *-darwin* ]] && echo "--disable-asm-optimizations")
- $(use_enable cpu_flags_ppc_altivec altivec)
- $(use_enable cpu_flags_ppc_vsx vsx)
- $(use_enable cpu_flags_x86_sse sse)
- $(use_enable cxx cpplibs)
- $(use_enable debug)
- $(use_enable ogg)
- $(use_enable static-libs static)
-
- # cross-compile fix (bug #521446)
- # no effect if ogg support is disabled
- --with-ogg
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
- if [[ ${UID} != 0 ]]; then
- emake -j1 check
- else
- ewarn "Tests will fail if ran as root, skipping."
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild b/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild
index 13ed4c6a5043..9259f43d257c 100644
--- a/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild
+++ b/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://fontconfig.org/release/${P}.tar.xz"
LICENSE="MIT"
SLOT="1.0"
if ! [[ $(ver_cut 3) -ge 90 ]] ; then
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
IUSE="doc nls test"
RESTRICT="!test? ( test )"
diff --git a/media-libs/freeglut/files/freeglut-3.6.0-c23.patch b/media-libs/freeglut/files/freeglut-3.6.0-c23.patch
new file mode 100644
index 000000000000..c5cd5ee5dbf3
--- /dev/null
+++ b/media-libs/freeglut/files/freeglut-3.6.0-c23.patch
@@ -0,0 +1,27 @@
+https://github.com/freeglut/freeglut/pull/187
+
+From ca500e65b40267efe7a05ec7ebae1141544c0cfb Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Nov 2024 01:14:26 +0000
+Subject: [PATCH] egl: fix fgPlatformDestroyContext prototype for C23
+
+C23 removes unprototyped functions, so this conflicted with the definition
+in fg_init_x11.c.
+
+Bug: https://github.com/freeglut/freeglut/issues/186
+---
+ src/egl/fg_init_egl.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/egl/fg_init_egl.h b/src/egl/fg_init_egl.h
+index 592c5221d..8753dc0bc 100644
+--- a/src/egl/fg_init_egl.h
++++ b/src/egl/fg_init_egl.h
+@@ -28,6 +28,6 @@
+
+ extern void fghPlatformInitializeEGL();
+ extern void fghPlatformCloseDisplayEGL();
+-extern void fgPlatformDestroyContext();
++extern void fgPlatformDestroyContext ( SFG_PlatformDisplay pDisplay, SFG_WindowContextType MContext );
+
+ #endif
diff --git a/media-libs/freeglut/freeglut-3.6.0-r1.ebuild b/media-libs/freeglut/freeglut-3.6.0-r1.ebuild
new file mode 100644
index 000000000000..d21631d891b0
--- /dev/null
+++ b/media-libs/freeglut/freeglut-3.6.0-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+DESCRIPTION="A free OpenGL utility toolkit, the open-sourced alternative to the GLUT library"
+HOMEPAGE="https://freeglut.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+# enabling GLES support seems to cause build failures
+RDEPEND=">=virtual/glu-9.0-r1[${MULTILIB_USEDEP}]
+ >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXrandr-1.4.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]"
+# gles? ( media-libs/mesa[egl(+),gles1,gles2,${MULTILIB_USEDEP}] )
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.6.0-c23.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+# "-DOpenGL_GL_PREFERENCE=GLVND" # bug 721006
+ "-DFREEGLUT_GLES=OFF"
+ "-DFREEGLUT_BUILD_DEMOS=OFF"
+ "-DFREEGLUT_BUILD_STATIC_LIBS=OFF"
+ )
+# $(cmake-utils_use gles FREEGLUT_GLES)
+ cmake-multilib_src_configure
+}
+
+multilib_src_install() {
+ cmake_src_install
+ cp "${ED}"/usr/$(get_libdir)/pkgconfig/{,free}glut.pc || die
+}
diff --git a/media-libs/gegl/Manifest b/media-libs/gegl/Manifest
index d3eec31043bb..e1c810f7de04 100644
--- a/media-libs/gegl/Manifest
+++ b/media-libs/gegl/Manifest
@@ -1,2 +1,3 @@
DIST gegl-0.4.46.tar.xz 5799248 BLAKE2B 2fc9ccd0c711cc901abd50740a24d0f75b162cbb196bdd62ab8430882da3b9ea72c08dd587ecfecaf5e4ba9aca4df51bcd7d98ec197325375b1d954c2995029e SHA512 cd733208da7dc1ec77ca023f03f47e578350e156ad07ece701b39f517a292e9f9c081b3a8a2db846813483b4ddb21f32f9fc8b9c70fea8a6ba27bb97ef8bb847
DIST gegl-0.4.48.tar.xz 5805488 BLAKE2B 3a800004f166fdbfbd563688bb71c4579bba132380f5f45496e8fb813943333b89781320230adf6e0ee49b9bde7db37d81929a8fd42e19e62281e7f8d1ea3bfb SHA512 8f47e6445062894c16d54eeeec4a55cccc32fc49c9fb9be3428a591daaeb21b1a5b8529a68d82613fd75f107bb8c0418c9e5337346bd94da3226e545189c226b
+DIST gegl-0.4.50.tar.xz 5987700 BLAKE2B 08d59ec417194b17819c8996efcb4e10cd86e3626bbe2690ca6f22e095a8bc346fac83460896019044978f5577b7ccdf02265487b3d3dfe8e28a7390741d38d7 SHA512 6ba7cc6a1feca518857a6f474fffec4d3ddce81104541d9d8c9d6a6d7464a00ec0d4fce63194ba2d457d606fea3049fbd365b20b70fdbdf275dac61bc35f8205
diff --git a/media-libs/gegl/gegl-0.4.50.ebuild b/media-libs/gegl/gegl-0.4.50.ebuild
new file mode 100644
index 000000000000..f51262988f0c
--- /dev/null
+++ b/media-libs/gegl/gegl-0.4.50.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+# vala and introspection support is broken, bug #468208
+VALA_USE_DEPEND=vapigen
+
+inherit flag-o-matic meson optfeature python-any-r1 toolchain-funcs vala
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gegl.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.gimp.org/pub/${PN}/${PV:0:3}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="A graph based image processing framework"
+HOMEPAGE="https://gegl.org/"
+
+LICENSE="|| ( GPL-3+ LGPL-3 )"
+SLOT="0.4"
+
+IUSE="cairo debug ffmpeg introspection lcms lensfun openexr openmp pdf raw sdl sdl2 svg test tiff umfpack vala v4l webp"
+REQUIRED_USE="
+ svg? ( cairo )
+ test? ( introspection )
+ vala? ( introspection )
+"
+
+RESTRICT="!test? ( test )"
+
+# NOTE: Even current libav 11.4 does not have AV_CODEC_CAP_VARIABLE_FRAME_SIZE
+# so there is no chance to support libav right now (Gentoo bug #567638)
+# If it returns, please check prior GEGL ebuilds for how libav was integrated. Thanks!
+RDEPEND="
+ >=dev-libs/glib-2.68.2:2
+ >=dev-libs/json-glib-1.2.6
+ >=media-libs/babl-0.1.110[introspection?,lcms?,vala?]
+ media-libs/libjpeg-turbo
+ media-libs/libnsgif
+ >=media-libs/libpng-1.6.0:0=
+ >=sys-libs/zlib-1.2.0
+ >=x11-libs/gdk-pixbuf-2.32:2
+ >=x11-libs/pango-1.38.0
+ cairo? ( >=x11-libs/cairo-1.12.2 )
+ ffmpeg? ( media-video/ffmpeg:0= )
+ introspection? ( >=dev-libs/gobject-introspection-1.32:= )
+ lcms? ( >=media-libs/lcms-2.8:2 )
+ lensfun? ( >=media-libs/lensfun-0.2.5 )
+ openexr? ( >=media-libs/openexr-1.6.1:= )
+ pdf? ( >=app-text/poppler-0.71.0[cairo] )
+ raw? ( >=media-libs/libraw-0.15.4:0= )
+ sdl? ( >=media-libs/libsdl-1.2.0 )
+ sdl2? ( >=media-libs/libsdl2-2.0.20 )
+ svg? ( >=gnome-base/librsvg-2.40.6:2 )
+ tiff? ( >=media-libs/tiff-4:= )
+ umfpack? ( sci-libs/umfpack )
+ v4l? ( >=media-libs/libv4l-1.0.1 )
+ webp? ( >=media-libs/libwebp-0.5.0:= )
+"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-build/gtk-doc-am-1
+ >=sys-devel/gettext-0.19.8
+ >=dev-build/libtool-2.2
+ virtual/pkgconfig
+ test? ( $(python_gen_any_dep '>=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]') )
+ vala? ( $(vala_depend) )
+"
+
+DOCS=( AUTHORS docs/ChangeLog docs/NEWS.adoc )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+ use test || return 0
+ python_has_version -b ">=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+ # patch executables suffix
+ sed -i -e "s/'gegl'/'gegl-0.4'/" bin/meson.build || die
+ sed -i -e "s/'gegl-imgcmp'/'gegl-imgcmp-0.4'/" tools/meson.build || die
+ sed -i -e "s/gegl-imgcmp/gegl-imgcmp-0.4/" tests/simple/test-exp-combine.sh || die
+ # skip UNEXPECTED PASSED 'matting-levin' test
+ sed -i -e "s/composition_tests += 'matting-levin'//" \
+ -e "s/composition_tests_fail += 'matting-levin'//" tests/compositions/meson.build || die
+
+ # don't require Apple's OpenCL on versions of OSX that don't have it
+ if [[ ${CHOST} == *-darwin* && ${CHOST#*-darwin} -le 9 ]] ; then
+ sed -i -e 's/#ifdef __APPLE__/#if 0/' gegl/opencl/* || die
+ fi
+
+ # fix 'build'headers from *.cl on gentoo-hardened, bug 739816
+ pushd "${S}/opencl/" || die
+ for file in *.cl; do
+ if [[ -f ${file} ]]; then
+ "${EPYTHON}" cltostring.py "${file}" || die
+ fi
+ done
+ popd || die
+
+ # Fix QA warning, install docs into /usr/share/gtk-doc/gegl-0.4 instead of /usr/share/doc/gegl-0.4
+ sed -i -e "s/'doc'/'gtk-doc'/" docs/reference/meson.build || die
+}
+
+src_configure() {
+ # Bug #859901
+ filter-lto
+
+ use vala && vala_setup
+
+ local emesonargs=(
+ # - Disable documentation as the generating is bit automagic
+ # if anyone wants to work on it just create bug with patch
+ -Ddocs=false
+ -Dexiv2=disabled
+ -Dgdk-pixbuf=enabled
+ -Djasper=disabled
+ # - libspiro: not in portage main tree
+ -Dlibspiro=disabled
+ -Dlua=disabled
+ -Dmrg=disabled
+ -Dpango=enabled
+ # - Parameter -Dworkshop=false disables any use of Lua, effectivly
+ -Dworkshop=false
+ $(meson_feature cairo)
+ $(meson_feature cairo pangocairo)
+ $(meson_feature ffmpeg libav)
+ $(meson_feature lcms)
+ $(meson_feature lensfun)
+ $(meson_feature openexr)
+ $(meson_feature openmp)
+ $(meson_feature pdf poppler)
+ $(meson_feature raw libraw)
+ $(meson_feature sdl sdl1)
+ $(meson_feature sdl2 sdl2)
+ $(meson_feature svg librsvg)
+ $(meson_feature test pygobject)
+ $(meson_feature tiff libtiff)
+ $(meson_feature umfpack)
+ # - v4l support does not work with our media-libs/libv4l-0.8.9,
+ # upstream bug at https://bugzilla.gnome.org/show_bug.cgi?id=654675
+ $(meson_feature v4l libv4l)
+ $(meson_feature v4l libv4l2)
+ $(meson_feature vala vapigen)
+ $(meson_feature webp)
+ $(meson_use introspection)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ optfeature "'Show Image Graph' under GIMP[debug] menu 'File - Debug'" media-gfx/graphviz
+}
diff --git a/media-libs/giflib/files/giflib-5.1.9-gentoo.patch b/media-libs/giflib/files/giflib-5.1.9-gentoo.patch
deleted file mode 100644
index 0cb20183bd81..000000000000
--- a/media-libs/giflib/files/giflib-5.1.9-gentoo.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- giflib-5.1.9/Makefile
-+++ giflib-5.1.9/Makefile
-@@ -63,7 +63,6 @@
- LDLIBS=libgif.a -lm
-
- all: libgif.so libgif.a libutil.so libutil.a $(UTILS)
-- $(MAKE) -C doc
-
- $(UTILS):: libgif.a libutil.a
-
diff --git a/media-libs/glfw/glfw-3.4.ebuild b/media-libs/glfw/glfw-3.4.ebuild
index 908b4b8f468b..bd58bd3501d1 100644
--- a/media-libs/glfw/glfw-3.4.ebuild
+++ b/media-libs/glfw/glfw-3.4.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/glfw/glfw/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv x86"
IUSE="wayland X"
# Most are dlopen'd so use strings or check the source:
diff --git a/media-libs/glycin-loaders/Manifest b/media-libs/glycin-loaders/Manifest
index 128dae3c9ce4..e5d5822cb726 100644
--- a/media-libs/glycin-loaders/Manifest
+++ b/media-libs/glycin-loaders/Manifest
@@ -1,2 +1,3 @@
DIST glycin-1.1.0.tar.xz 28570152 BLAKE2B 762c8208c5cc8bf6be93a8daa70cd22b1cbd93c60075ccf38225a10c303b2c503bdc1ec2e6efeb85f36f3787b45a6061926e314f44841a583e0e3cb3debc3d48 SHA512 6e4b84dceb8957f0ab6e840dbc60f6c9bb8179fde841075c614a9742282ea578a51a966eb8e7a2482daf631932e8ce5af2f1f41523f376f4d1a0a2069af94631
DIST glycin-1.1.1.tar.xz 28914480 BLAKE2B ef39c3b15e9addd36c6bc7010bbdaf1d5efe7aeaf1a5562217c87310b16efae75b568ae0291f91815238bd4b01747cbc5d3eef26f945f0a21f008904cc382392 SHA512 ce3961b4cbe71739cdf24b985b5a609284e2cdb3869671606cbd0f31c5c99f80da7608f2e29df5a0cc7d7ef0f7bd5926eb3fff993e80cbd8ec03bf321b92b0f0
+DIST glycin-1.1.2.tar.xz 28347232 BLAKE2B fca58f99c8f2096a8d339e32a90435f56547f85715b95a5dd5da754c3d47adae712ea6d0bd9b8f7c6678f9b690837da721203a27ddf461cab16130cc7f3c17d2 SHA512 6eef9d21c5f4a423acea41e82b205de3a4dc0e3a5ce235f6cda4b4bd1052703cb9f4e16095b0927ff9185300c32e8631480d73ac313bda9a58c70122a9b7c3e8
diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild
index 0775282f7108..0775282f7108 100644
--- a/media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild
+++ b/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild
diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild
index 0775282f7108..0775282f7108 100644
--- a/media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild
+++ b/media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild
diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.2.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.2.ebuild
new file mode 100644
index 000000000000..0775282f7108
--- /dev/null
+++ b/media-libs/glycin-loaders/glycin-loaders-1.1.2.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cargo meson
+
+MY_P=glycin-${PV/_/.}
+DESCRIPTION="Loaders for glycin clients (glycin crate or libglycin)"
+HOMEPAGE="https://gitlab.gnome.org/sophie-h/glycin/"
+SRC_URI="
+ https://download.gnome.org/sources/glycin/$(ver_cut 1-2)/${MY_P}.tar.xz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="|| ( LGPL-2.1+ MPL-2.0 )"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD GPL-3+ ISC MIT
+ Unicode-DFS-2016
+ || ( LGPL-2.1+ MPL-2.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="heif jpegxl svg test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.60:2
+ >=sys-libs/libseccomp-2.5.0
+ heif? ( >=media-libs/libheif-1.17.0:= )
+ jpegxl? ( >=media-libs/libjxl-0.10.0:= )
+ svg? (
+ >=gnome-base/librsvg-2.52.0:2
+ >=x11-libs/cairo-1.17.0
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=gui-libs/gtk-4.12.0:4
+ >=media-libs/lcms-2.14:2
+ )
+"
+BDEPEND="
+ test? (
+ sys-apps/bubblewrap
+ sys-apps/dbus
+ )
+"
+
+ECARGO_VENDOR=${S}/vendor
+
+QA_FLAGS_IGNORED="usr/libexec/glycin-loaders/.*"
+
+src_prepare() {
+ default
+
+ # https://gitlab.gnome.org/sophie-h/glycin/-/issues/81
+ sed -i -e '\|/fonts|d' tests/tests.rs || die
+}
+
+src_configure() {
+ local formats=(
+ $(usev heif glycin-heif)
+ $(usev jpegxl glycin-jxl)
+ $(usev svg glycin-svg)
+ glycin-image-rs
+ )
+ local formats_s=${formats[*]}
+ local emesonargs=(
+ -Dprofile=$(usex debug dev release)
+ -Dglycin-loaders=true
+ -Dloaders="${formats_s// /,}"
+ -Dtests=$(usex test true false)
+ -Dlibglycin=false
+ )
+
+ meson_src_configure
+ ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die
+}
+
+src_test() {
+ # tests write to /proc/*/uid_map
+ # apparently, "addpredict /" in Portage breaks it
+ local -x SANDBOX_ON=0
+ meson_src_test
+}
diff --git a/media-libs/gmmlib/Manifest b/media-libs/gmmlib/Manifest
index b3819bfb2b57..b04239406264 100644
--- a/media-libs/gmmlib/Manifest
+++ b/media-libs/gmmlib/Manifest
@@ -1,5 +1,3 @@
-DIST intel-gmmlib-22.3.19.tar.gz 846342 BLAKE2B ce3c25740d9c3f556db31f880b47fba8358dd7d7d53d80bc9923bec8c67fdeee3ae4efa5465390c229bfdc2f6c64fa0a7963516f83d12061d34bf51102cb3a64 SHA512 804e4995983884832dbb6d08a4e3c8ca8d60e7ef2c5a0de12d0facfac1fdce619ad229ad1a6b62fdf0ba74a968caf3bb884e283af8cf38babacff350fc9728b9
-DIST intel-gmmlib-22.4.1.tar.gz 867162 BLAKE2B cc3dea9441f1b21b95595d5674046afec5ae673c6244b94572ba11d3451ddb9dae8adce9fe4310a5a0de3c723a3b7aef1031b9ca53f54b63fbefe43fadb7c2d1 SHA512 b44bd2f18ed97446c2e4f5ca7119cfde63f249fe8b5f23f0a531a2ec724aa51fe70014320d8f6dee85246df8ce220d5938654483d276eda60027162e304a3b64
-DIST intel-gmmlib-22.5.0.tar.gz 867541 BLAKE2B 89ac0fdac7212ea1122140357f04ffe67a27d4d743615b4d97121931370f44568cdcccfbeb681d8fe564b269f4fe1c0f47b50c9e7cc2ce44863d03ec47a75bdb SHA512 f4f33197cf635a71c02d1027f96268b0ebac66ba765b1b6d4d827b9cd7a044197a9a042371c5bf6550110b9d5b127bcf63627124a338cc9e8ee1e8bc1d90dbc2
-DIST intel-gmmlib-22.5.1.tar.gz 867534 BLAKE2B 2ea81d4444f5c79c87ccba1edaf5e00e88a7c95c1d236f55fa8b0776f31ea91acb54c99d0c3e13199183827b94f7c1f7136e40442ae30298093a0b86fdf61085 SHA512 515268f6451b5f822338820a121cb436cf73920afa1b092855188cf1b4fc8e11b3ed6d8481ba7c686aa4242fdd2f26ff9657ae9293df8197a428b0151ee4871f
DIST intel-gmmlib-22.5.2.tar.gz 867665 BLAKE2B 64559ec6489614df352ba58d25f8706c234f3cff008228a7056e29d92584fab27af311fdb3db8c2e4f6983598019c646df8761ed422a47bcdbff02e79896d613 SHA512 516e2cc0d678d8fd44d8d2b1bfdf61c05670c01c906bd7f55a807846cd6399d4b616f86e6a1d85e2a6a0480c4616a40e9d5b29a3f45fbf588cc4d725ada71d49
+DIST intel-gmmlib-22.5.3.tar.gz 867696 BLAKE2B e7fe7394e0e4ee319a35a551908649e209c28f62fc566eab522f7182a78771b35a58ae067118f198eaca2d4f9cbbf58e4f54b9c838b87eed6ac82f2dce7158f1 SHA512 6649f241096b3b81a63c7d29b42494f5621dd9988f2570eaeb7164a4e5a71083180d4a8634782c4831ab8cd22e6b736a2e45e1a52cd5b70f62fe892411362444
+DIST intel-gmmlib-22.5.4.tar.gz 868826 BLAKE2B 8a3d455a271d2e76e790e980e96ab0d9bd70854c039272b34eb605d8175749a9a561178ec022d197960bb4e9226217ed43c1a53f2598b1c6910931ca35d4c1c1 SHA512 08735c056a443f5f998b089e8a88bb61f1b0ceb2557971af3c9a0235aca3846888bd32ec42a9750e311d0575a84111c897a6417bcaf3ecf0eac60fa2549f5d93
diff --git a/media-libs/gmmlib/gmmlib-22.3.19.ebuild b/media-libs/gmmlib/gmmlib-22.3.19.ebuild
deleted file mode 100644
index 0a7ae2c25cdb..000000000000
--- a/media-libs/gmmlib/gmmlib-22.3.19.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-if [[ ${PV} == *9999 ]] ; then
- : ${EGIT_REPO_URI:="https://github.com/intel/gmmlib"}
- if [[ ${PV%9999} != "" ]] ; then
- : ${EGIT_BRANCH:="release/${PV%.9999}"}
- fi
- inherit git-r3
-else
- KEYWORDS="amd64"
- SRC_URI="https://github.com/intel/gmmlib/archive/intel-${P}.tar.gz"
- S="${WORKDIR}/${PN}-intel-${P}"
-fi
-
-DESCRIPTION="Intel Graphics Memory Management Library"
-HOMEPAGE="https://github.com/intel/gmmlib"
-
-LICENSE="MIT"
-SLOT="0/12.3"
-IUSE="+custom-cflags test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-20.2.2_conditional_testing.patch
- "${FILESDIR}"/${PN}-20.3.2_cmake_project.patch
- "${FILESDIR}"/${PN}-22.1.1_custom_cflags.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTING="$(usex test)"
- -DOVERRIDE_COMPILER_FLAGS="$(usex !custom-cflags)"
- )
-
- cmake_src_configure
-}
diff --git a/media-libs/gmmlib/gmmlib-22.4.1.ebuild b/media-libs/gmmlib/gmmlib-22.4.1.ebuild
deleted file mode 100644
index 0a7ae2c25cdb..000000000000
--- a/media-libs/gmmlib/gmmlib-22.4.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-if [[ ${PV} == *9999 ]] ; then
- : ${EGIT_REPO_URI:="https://github.com/intel/gmmlib"}
- if [[ ${PV%9999} != "" ]] ; then
- : ${EGIT_BRANCH:="release/${PV%.9999}"}
- fi
- inherit git-r3
-else
- KEYWORDS="amd64"
- SRC_URI="https://github.com/intel/gmmlib/archive/intel-${P}.tar.gz"
- S="${WORKDIR}/${PN}-intel-${P}"
-fi
-
-DESCRIPTION="Intel Graphics Memory Management Library"
-HOMEPAGE="https://github.com/intel/gmmlib"
-
-LICENSE="MIT"
-SLOT="0/12.3"
-IUSE="+custom-cflags test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-20.2.2_conditional_testing.patch
- "${FILESDIR}"/${PN}-20.3.2_cmake_project.patch
- "${FILESDIR}"/${PN}-22.1.1_custom_cflags.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTING="$(usex test)"
- -DOVERRIDE_COMPILER_FLAGS="$(usex !custom-cflags)"
- )
-
- cmake_src_configure
-}
diff --git a/media-libs/gmmlib/gmmlib-22.5.2.ebuild b/media-libs/gmmlib/gmmlib-22.5.2.ebuild
index 2a09f24b8f3d..0a7ae2c25cdb 100644
--- a/media-libs/gmmlib/gmmlib-22.5.2.ebuild
+++ b/media-libs/gmmlib/gmmlib-22.5.2.ebuild
@@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then
fi
inherit git-r3
else
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
SRC_URI="https://github.com/intel/gmmlib/archive/intel-${P}.tar.gz"
S="${WORKDIR}/${PN}-intel-${P}"
fi
diff --git a/media-libs/gmmlib/gmmlib-22.5.0.ebuild b/media-libs/gmmlib/gmmlib-22.5.3.ebuild
index 2a09f24b8f3d..2a09f24b8f3d 100644
--- a/media-libs/gmmlib/gmmlib-22.5.0.ebuild
+++ b/media-libs/gmmlib/gmmlib-22.5.3.ebuild
diff --git a/media-libs/gmmlib/gmmlib-22.5.1.ebuild b/media-libs/gmmlib/gmmlib-22.5.4.ebuild
index 2a09f24b8f3d..2a09f24b8f3d 100644
--- a/media-libs/gmmlib/gmmlib-22.5.1.ebuild
+++ b/media-libs/gmmlib/gmmlib-22.5.4.ebuild
diff --git a/media-libs/harfbuzz/Manifest b/media-libs/harfbuzz/Manifest
index a2ae4a520af7..347c5efdbb53 100644
--- a/media-libs/harfbuzz/Manifest
+++ b/media-libs/harfbuzz/Manifest
@@ -1,2 +1,3 @@
-DIST harfbuzz-8.5.0.tar.xz 19468172 BLAKE2B f598d7de953834499d1ab36c0fc9d95099fd7e99b87f630e1527aaa39deb2d339b9f3caaea3643238c6c1b321557f794f273929950b54fe9de2faa430d77855a SHA512 d5762f77b0913792d34596e6f3adb98ab693e2ef928396f997ca2e647ca7cad13fdd204fa15b49e2f7c33320ff210d7f078215d5765c9365571458b919a4f10c
+DIST harfbuzz-10.0.1.tar.xz 17914712 BLAKE2B d1506658646a589c772d8efec1f40095ff8097f5d34c6498aa848027e71583c511d337ceea5005a4f5ce08f28c2d952fd3007383d701e957fb0c923edeba9466 SHA512 3fb7dda6e51496337698d46cebe623f678a4e5b0f006be6e1309143a82408a362c149812477e083e14811a5cba565d76eb2c0804f5e1bbea7e1bf83678176048
+DIST harfbuzz-10.1.0.tar.xz 17922136 BLAKE2B 7d78e31d045b984d8d1a8b1d1f8f282ff9b7dc748ffd65355266266e75064b14eb94ec6b1418e208ebb0fffb99ef174d1978ab14f0c318c1112c2d8005285979 SHA512 14b0e8fd417af9c78f36e532e3737c163902b85837be1028a8fd569508639b87afeb56f70a2313ba2f0f6d4b72bb6cee0bf50fb333dfc503c713e4d9cd86e9c3
DIST harfbuzz-9.0.0.tar.xz 17895360 BLAKE2B fd35c41d25e77c96b1fc760b8ca0ffd1ac8f3382b51991bb28797d55c2171bf0700ac65266996bf5cab82b8e9c835c2fad9c8374d9c60d2a361c924d805afbf6 SHA512 2700b560727d9c4440ad9c74a170b857f20f9e553e5d98b0c4bcf086a25ba644149d7c89009a41d964af7a924efcc486da4dcbfa5cc4d47f9f10e9b6b8c689af
diff --git a/media-libs/harfbuzz/harfbuzz-8.5.0.ebuild b/media-libs/harfbuzz/harfbuzz-10.0.1.ebuild
index fc135d044ca9..7214ae683e59 100644
--- a/media-libs/harfbuzz/harfbuzz-8.5.0.ebuild
+++ b/media-libs/harfbuzz/harfbuzz-10.0.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit flag-o-matic meson-multilib python-any-r1 xdg-utils
@@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/harfbuzz/harfbuzz/releases/download/${PV}/${P}.tar.xz"
- 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"
fi
LICENSE="Old-MIT ISC icu"
@@ -49,32 +49,17 @@ src_prepare() {
xdg_environment_reset
- # bug #726120
- sed -i \
- -e '/tests\/macos\.tests/d' \
- test/shape/data/in-house/Makefile.sources \
- || die
-
# bug #790359
filter-flags -fexceptions -fthreadsafe-statics
if ! use debug ; then
append-cppflags -DHB_NDEBUG
fi
-
- # bug #762415
- local pyscript
- for pyscript in $(find -type f -name "*.py") ; do
- python_fix_shebang -q "${pyscript}"
- done
}
multilib_src_configure() {
# harfbuzz-gobject only used for introspection, bug #535852
local emesonargs=(
- # ICU 75 needs C++17 (bug #931090)
- -Dcpp_std=c++17
-
-Dcoretext=disabled
-Dchafa=disabled
-Dwasm=disabled
diff --git a/media-libs/harfbuzz/harfbuzz-10.1.0.ebuild b/media-libs/harfbuzz/harfbuzz-10.1.0.ebuild
new file mode 100644
index 000000000000..7d0d9167475b
--- /dev/null
+++ b/media-libs/harfbuzz/harfbuzz-10.1.0.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic meson-multilib python-any-r1 xdg-utils
+
+DESCRIPTION="An OpenType text shaping engine"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/HarfBuzz"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/harfbuzz/harfbuzz.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/harfbuzz/harfbuzz/releases/download/${PV}/${P}.tar.xz"
+ 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"
+fi
+
+LICENSE="Old-MIT ISC icu"
+# 0.9.18 introduced the harfbuzz-icu split; bug #472416
+# 3.0.0 dropped some unstable APIs; bug #813705
+# 6.0.0 changed libharfbuzz-subset.so ABI
+SLOT="0/6.0.0"
+
+IUSE="+cairo debug doc experimental +glib +graphite icu +introspection test +truetype"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="introspection? ( glib )"
+
+RDEPEND="
+ cairo? ( x11-libs/cairo:=[${MULTILIB_USEDEP}] )
+ glib? ( >=dev-libs/glib-2.38:2[${MULTILIB_USEDEP}] )
+ graphite? ( >=media-gfx/graphite2-1.2.1:=[${MULTILIB_USEDEP}] )
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1.34:= )
+ truetype? ( >=media-libs/freetype-2.5.0.1:2=[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ doc? ( dev-util/gtk-doc )
+ introspection? ( dev-util/glib-utils )
+"
+
+src_prepare() {
+ default
+
+ xdg_environment_reset
+
+ # bug #790359
+ filter-flags -fexceptions -fthreadsafe-statics
+
+ if ! use debug ; then
+ append-cppflags -DHB_NDEBUG
+ fi
+}
+
+multilib_src_configure() {
+ # harfbuzz-gobject only used for introspection, bug #535852
+ local emesonargs=(
+ -Dcoretext=disabled
+ -Dchafa=disabled
+ -Dwasm=disabled
+
+ $(meson_feature cairo)
+ $(meson_feature glib)
+ $(meson_feature graphite graphite2)
+ $(meson_feature icu)
+ $(meson_feature introspection gobject)
+ $(meson_feature test tests)
+ $(meson_feature truetype freetype)
+
+ $(meson_native_use_feature doc docs)
+ $(meson_native_use_feature introspection)
+ # Breaks building tests..
+ #$(meson_native_use_feature utilities)
+
+ $(meson_use experimental experimental_api)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_test() {
+ # harfbuzz:src / check-static-inits times out on hppa
+ meson_src_test --timeout-multiplier 5
+}
diff --git a/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild b/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild
index 1534f858fc33..65c323f24324 100644
--- a/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild
+++ b/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/harfbuzz/harfbuzz/releases/download/${PV}/${P}.tar.xz"
- 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"
fi
LICENSE="Old-MIT ISC icu"
diff --git a/media-libs/icc-profiles-openicc/icc-profiles-openicc-1.3.1.ebuild b/media-libs/icc-profiles-openicc/icc-profiles-openicc-1.3.1.ebuild
index 2f0eabe1a3c2..23f8a11c5c29 100644
--- a/media-libs/icc-profiles-openicc/icc-profiles-openicc-1.3.1.ebuild
+++ b/media-libs/icc-profiles-openicc/icc-profiles-openicc-1.3.1.ebuild
@@ -11,5 +11,5 @@ SRC_URI="https://downloads.sourceforge.net/openicc/OpenICC-Profiles/${P}.tar.bz2
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~ppc64 x86"
IUSE=""
diff --git a/media-libs/intel-mediasdk/metadata.xml b/media-libs/intel-mediasdk/metadata.xml
index 888102391fdf..53453927d237 100644
--- a/media-libs/intel-mediasdk/metadata.xml
+++ b/media-libs/intel-mediasdk/metadata.xml
@@ -5,8 +5,8 @@
<email>media-video@gentoo.org</email>
</maintainer>
<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">Intel-Media-SDK/MediaSDK</remote-id>
diff --git a/media-libs/jbig2dec/Manifest b/media-libs/jbig2dec/Manifest
index 8deeca6b6fa9..65a0f5edce71 100644
--- a/media-libs/jbig2dec/Manifest
+++ b/media-libs/jbig2dec/Manifest
@@ -1,3 +1,2 @@
DIST jb2streams.zip 1285838 BLAKE2B 9a2b6047a7b970439693d6f5fdefb9488019a562e7f831288b27df09bb19dec2f84854cf7fea50b5b041d331e925145f37f2f89848058ecdc074e7d6c238033f SHA512 382890b36345b8aaebb3554e776a53f3276c6d835335ce41f3f41829ff62bba7ae646602544103ba8541a7a824dca92d682b682c254ab2918c7fe45b3e358b45
-DIST jbig2dec-0.19.tar.gz 149134 BLAKE2B 576f3a516499b6291d25dfdefe5af62899665167526dca11435bc07e04a3feb707f82d3a8bdda774f5cfe0d792c3147e77aa94fa57feac25ba1c0a7805c5fc58 SHA512 d5a27951cc9c06c184f454e258e81b6e4d5aa2742a4da821522b9a42ecc78e7e1b78058dabc23821618e62d62d8832011f16b5ef2d66beac463da6b809fd02af
DIST jbig2dec-0.20.tar.gz 149782 BLAKE2B 6e5a26b736bbc5dc25614e192855d74a59337f5e5aa82cd0882e42a34259295d7df7f8c7acfb88b53ac3817141459c6d6cc58c0d36c1c341e2afedbed8f7d83d SHA512 8b8a28b93b23e4284ca229e6c8935fd161ce5c597f7470a46ec06a3241d0ac23cf921aecdd4e0c1bd3c904591409054236f2ce25b6d8ae40db742559c7f4dbe9
diff --git a/media-libs/jbig2dec/jbig2dec-0.19-r1.ebuild b/media-libs/jbig2dec/jbig2dec-0.19-r1.ebuild
deleted file mode 100644
index f8fa76821185..000000000000
--- a/media-libs/jbig2dec/jbig2dec-0.19-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit autotools python-any-r1
-
-DESCRIPTION="A decoder implementation of the JBIG2 image compression format"
-HOMEPAGE="https://jbig2dec.com/"
-SRC_URI="
- https://github.com/ArtifexSoftware/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://jbig2dec.sourceforge.net/ubc/jb2streams.zip )
-"
-
-LICENSE="AGPL-3"
-SLOT="0/$(ver_cut 1-2)" #698428
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="png static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- app-arch/unzip
- ${PYTHON_DEPS}
- )
-"
-RDEPEND="png? ( media-libs/libpng:= )"
-DEPEND="${RDEPEND}"
-
-DOCS=( CHANGES README )
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if use test; then
- mkdir "${WORKDIR}/ubc" || die
- mv -v "${WORKDIR}"/*.jb2 "${WORKDIR}/ubc/" || die
- mv -v "${WORKDIR}"/*.bmp "${WORKDIR}/ubc/" || die
- fi
-
- # We only need configure.ac and config_types.h.in
- sed -i \
- -e '/^# do we need automake?/,/^autoheader/d' \
- -e '/echo " $AUTOM.*/,$d' \
- autogen.sh \
- || die "failed to modify autogen.sh"
-
- ./autogen.sh || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_with png libpng)
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -exec rm {} + || die
-}
diff --git a/media-libs/jbig2dec/jbig2dec-0.19.ebuild b/media-libs/jbig2dec/jbig2dec-0.19.ebuild
deleted file mode 100644
index dc4f4ef423fb..000000000000
--- a/media-libs/jbig2dec/jbig2dec-0.19.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit autotools python-any-r1
-
-DESCRIPTION="A decoder implementation of the JBIG2 image compression format"
-HOMEPAGE="https://jbig2dec.com/"
-SRC_URI="
- https://github.com/ArtifexSoftware/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://jbig2dec.sourceforge.net/ubc/jb2streams.zip )
-"
-
-LICENSE="AGPL-3"
-SLOT="0/$(ver_cut 1-2)" #698428
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="png static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- app-arch/unzip
- ${PYTHON_DEPS}
- )
-"
-RDEPEND="png? ( media-libs/libpng:= )"
-DEPEND="${RDEPEND}"
-
-DOCS=( CHANGES README )
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if use test; then
- mkdir "${WORKDIR}/ubc" || die
- mv -v "${WORKDIR}"/*.jb2 "${WORKDIR}/ubc/" || die
- mv -v "${WORKDIR}"/*.bmp "${WORKDIR}/ubc/" || die
- fi
-
- # We only need configure.ac and config_types.h.in
- sed -i \
- -e '/^# do we need automake?/,/^autoheader/d' \
- -e '/echo " $AUTOM.*/,$d' \
- autogen.sh \
- || die "failed to modify autogen.sh"
-
- ./autogen.sh || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_with png libpng)
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -exec rm {} + || die
-}
diff --git a/media-libs/kquickimageeditor/Manifest b/media-libs/kquickimageeditor/Manifest
index d12bca1d1859..7927ec30a654 100644
--- a/media-libs/kquickimageeditor/Manifest
+++ b/media-libs/kquickimageeditor/Manifest
@@ -1,2 +1 @@
-DIST kquickimageeditor-0.3.0.tar.xz 3286792 BLAKE2B 54bcbe7d8db7f9e6d35708125ce25d56a9ca7cb9c78a25a90cb1041ec899d9cdf89b84a995f0939566dadf195f272096d5374205b4cc4990cd1ecfe17ef1fc83 SHA512 51f25c5f2089c2bc9ef4715a4535b72cbf50664d17fe23dc80b266831d65a525027fa16d111400d4cf2c6b8210cbd572a3b3a0e4e921d42d331905718364ad7f
DIST kquickimageeditor-0.4.0.tar.xz 3294388 BLAKE2B 64214edc236871cbeef7cf8d11ba376a1752852a68d11dd46cfdee6dab2fcf0d3f319e825170aa7e01b506ff4b7e3972c120485d8da1bfd7b4e6ff4a38c57e66 SHA512 58ae6af9dc9c8fb0bd99279246acb360eee4110b8e2b1f51bbcb3daf246a60fcb308b111e164a40f1bff09c6f0c1298dfe1588d7bd0f2a571bda8ac9d6252e8c
diff --git a/media-libs/kquickimageeditor/kquickimageeditor-0.3.0-r100.ebuild b/media-libs/kquickimageeditor/kquickimageeditor-0.3.0-r100.ebuild
deleted file mode 100644
index 23b504c78829..000000000000
--- a/media-libs/kquickimageeditor/kquickimageeditor-0.3.0-r100.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KFMIN=5.249.0
-QTMIN=6.6.2
-inherit ecm kde.org
-
-DESCRIPTION="QtQuick components providing basic image editing capabilities"
-HOMEPAGE="https://invent.kde.org/libraries/kquickimageeditor
-https://api.kde.org/kquickimageeditor/html/index.html"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86"
-fi
-
-LICENSE="LGPL-2.1+"
-SLOT="6"
-
-DEPEND="
- >=dev-qt/qtbase-${QTMIN}:6[gui]
- >=dev-qt/qtdeclarative-${QTMIN}:6
-"
-RDEPEND="${DEPEND}
- !${CATEGORY}/${PN}:5
- >=dev-qt/qt5compat-${QTMIN}:6[qml]
- >=kde-frameworks/kirigami-${KFMIN}:6
-"
diff --git a/media-libs/kquickimageeditor/kquickimageeditor-0.4.0.ebuild b/media-libs/kquickimageeditor/kquickimageeditor-0.4.0.ebuild
index a013e066c728..196a0b8269c2 100644
--- a/media-libs/kquickimageeditor/kquickimageeditor-0.4.0.ebuild
+++ b/media-libs/kquickimageeditor/kquickimageeditor-0.4.0.ebuild
@@ -13,7 +13,7 @@ https://api.kde.org/kquickimageeditor/html/index.html"
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86"
fi
LICENSE="LGPL-2.1+"
diff --git a/media-libs/ksanecore-common/Manifest b/media-libs/ksanecore-common/Manifest
index f34261f994ff..dbc13e54c7aa 100644
--- a/media-libs/ksanecore-common/Manifest
+++ b/media-libs/ksanecore-common/Manifest
@@ -1,3 +1,2 @@
-DIST ksanecore-24.05.2.tar.xz 51080 BLAKE2B c57152bbff1c3eb4c6de3f20809d9e3a7ec5c81c981823e3750142006f1c6ac0f7bfc5913042edfcaa6a8e2f2210c8dc8963097d60dffc153ffb9078e3ca13bd SHA512 862c5997f0e10e6b3382127fe1d5efee37621212f2ec70a5346bf914cbe6ff9d1476cd05b119e0784222c8a195787f30b4454aaeeeb9535d0d52362a7ba0a718
DIST ksanecore-24.08.1.tar.xz 51164 BLAKE2B b4d9ecc8886b963efbbd5ed8dcca84cb7e0805726306ad942fbae9a73f1402e25851142893943b63c90e60c7d3b00542e0174fe9e07379146667d1383080cc8b SHA512 ebfccc54704438a9ec0fab2f8029c95745921438b63a8928a048f6f2cfcfea4c1f871fe7872331d8e9e7ac24a0a5e0df654b388430102f73027ee0afcf8ee002
-DIST ksanecore-24.08.2.tar.xz 51184 BLAKE2B 60a1b72f4d31ea759e6d4f9e8fd10d9eb07507b7131b9c32d993e3ec019ed59e57aba5129ba97a55ebfa1a77be4c70aace688f81a6fc8b537279c60f50d00872 SHA512 44fee9253c5136e7d45fb69766542da220746517d16b5f262a1d0cafef43ce8b6e9344bb1f171561f6625d14f10622923403e46f9a2938f0e0e92912d4987f46
+DIST ksanecore-24.08.3.tar.xz 51184 BLAKE2B 285285ece94d8c55a81be2cb932c1e34b2154d04101a4501fb2cc69c310656529eee7e3d612ff12a240009a86d22d5738352dbad408d8a7871fc66c378083077 SHA512 808c220cf01ec9de1fc5e6cf55f873fe6f70f8ab231e59b7c048db5a5b7ecde542e3291798118d0e65b99c4b627e34beceef38948ba208e9dfb2c992e65a06f8
diff --git a/media-libs/ksanecore-common/ksanecore-common-24.08.1.ebuild b/media-libs/ksanecore-common/ksanecore-common-24.08.1.ebuild
index 625562057c66..d598909ef7f0 100644
--- a/media-libs/ksanecore-common/ksanecore-common-24.08.1.ebuild
+++ b/media-libs/ksanecore-common/ksanecore-common-24.08.1.ebuild
@@ -10,7 +10,7 @@ inherit ecm-common gear.kde.org
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
RDEPEND="
!<media-libs/ksanecore-23.08.5-r2:5
diff --git a/media-libs/ksanecore-common/ksanecore-common-24.08.2.ebuild b/media-libs/ksanecore-common/ksanecore-common-24.08.2.ebuild
deleted file mode 100644
index 3fd16d901523..000000000000
--- a/media-libs/ksanecore-common/ksanecore-common-24.08.2.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_HANDBOOK="false"
-KDE_ORG_NAME="${PN/-common/}"
-KFMIN=5.115.0
-inherit ecm-common gear.kde.org
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- !<media-libs/ksanecore-23.08.5-r2:5
- !<media-libs/ksanecore-24.05.2-r1:6
-"
diff --git a/media-libs/ksanecore-common/ksanecore-common-24.05.2.ebuild b/media-libs/ksanecore-common/ksanecore-common-24.08.3.ebuild
index d598909ef7f0..83b9a8d84cba 100644
--- a/media-libs/ksanecore-common/ksanecore-common-24.05.2.ebuild
+++ b/media-libs/ksanecore-common/ksanecore-common-24.08.3.ebuild
@@ -10,7 +10,7 @@ inherit ecm-common gear.kde.org
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv x86"
RDEPEND="
!<media-libs/ksanecore-23.08.5-r2:5
diff --git a/media-libs/ksanecore/Manifest b/media-libs/ksanecore/Manifest
index 9d65f441a775..dbc13e54c7aa 100644
--- a/media-libs/ksanecore/Manifest
+++ b/media-libs/ksanecore/Manifest
@@ -1,4 +1,2 @@
-DIST ksanecore-23.08.5.tar.xz 50052 BLAKE2B 500c574d40a8c927cd8568d3d0094789731b58cbe64de8ff04ee993adb8503cbb4d999d14c3222d142bb2485f1131dfe45c0a6a305347180e1021d1aa661d020 SHA512 93bbb6160c063e54be4cb115cf164354fb545ff458aa2066d98a38e81d48dfed4260a4b2afcb252ba43cf25ed102345018e0ad99b7ca66b9cb0b2fb64235b440
-DIST ksanecore-24.05.2.tar.xz 51080 BLAKE2B c57152bbff1c3eb4c6de3f20809d9e3a7ec5c81c981823e3750142006f1c6ac0f7bfc5913042edfcaa6a8e2f2210c8dc8963097d60dffc153ffb9078e3ca13bd SHA512 862c5997f0e10e6b3382127fe1d5efee37621212f2ec70a5346bf914cbe6ff9d1476cd05b119e0784222c8a195787f30b4454aaeeeb9535d0d52362a7ba0a718
DIST ksanecore-24.08.1.tar.xz 51164 BLAKE2B b4d9ecc8886b963efbbd5ed8dcca84cb7e0805726306ad942fbae9a73f1402e25851142893943b63c90e60c7d3b00542e0174fe9e07379146667d1383080cc8b SHA512 ebfccc54704438a9ec0fab2f8029c95745921438b63a8928a048f6f2cfcfea4c1f871fe7872331d8e9e7ac24a0a5e0df654b388430102f73027ee0afcf8ee002
-DIST ksanecore-24.08.2.tar.xz 51184 BLAKE2B 60a1b72f4d31ea759e6d4f9e8fd10d9eb07507b7131b9c32d993e3ec019ed59e57aba5129ba97a55ebfa1a77be4c70aace688f81a6fc8b537279c60f50d00872 SHA512 44fee9253c5136e7d45fb69766542da220746517d16b5f262a1d0cafef43ce8b6e9344bb1f171561f6625d14f10622923403e46f9a2938f0e0e92912d4987f46
+DIST ksanecore-24.08.3.tar.xz 51184 BLAKE2B 285285ece94d8c55a81be2cb932c1e34b2154d04101a4501fb2cc69c310656529eee7e3d612ff12a240009a86d22d5738352dbad408d8a7871fc66c378083077 SHA512 808c220cf01ec9de1fc5e6cf55f873fe6f70f8ab231e59b7c048db5a5b7ecde542e3291798118d0e65b99c4b627e34beceef38948ba208e9dfb2c992e65a06f8
diff --git a/media-libs/ksanecore/ksanecore-23.08.5-r2.ebuild b/media-libs/ksanecore/ksanecore-23.08.5-r2.ebuild
deleted file mode 100644
index 43036a353e7e..000000000000
--- a/media-libs/ksanecore/ksanecore-23.08.5-r2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KFMIN=5.106.0
-QTMIN=5.15.9
-inherit ecm gear.kde.org
-
-DESCRIPTION="Qt-based interface for SANE library to control scanner hardware"
-HOMEPAGE="https://invent.kde.org/libraries/ksanecore
-https://api.kde.org/ksanecore/html/index.html"
-
-LICENSE="|| ( LGPL-2.1 LGPL-3 )"
-SLOT="5"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
-IUSE=""
-
-DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- media-gfx/sane-backends
-"
-RDEPEND="${DEPEND}
- ${CATEGORY}/${PN}-common
-"
-
-src_prepare() {
- ecm_src_prepare
- ecm_punt_po_install
-}
diff --git a/media-libs/ksanecore/ksanecore-24.05.2-r1.ebuild b/media-libs/ksanecore/ksanecore-24.05.2-r1.ebuild
deleted file mode 100644
index 3e7842beb286..000000000000
--- a/media-libs/ksanecore/ksanecore-24.05.2-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KFMIN=6.3.0
-QTMIN=6.6.2
-inherit ecm gear.kde.org
-
-DESCRIPTION="Qt-based interface for SANE library to control scanner hardware"
-HOMEPAGE="https://invent.kde.org/libraries/ksanecore
-https://api.kde.org/ksanecore/html/index.html"
-
-LICENSE="|| ( LGPL-2.1 LGPL-3 )"
-SLOT="6"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86"
-
-DEPEND="
- >=dev-qt/qtbase-${QTMIN}:6[gui]
- >=kde-frameworks/ki18n-${KFMIN}:6
- media-gfx/sane-backends
-"
-RDEPEND="${DEPEND}
- >=media-libs/${PN}-common-${PV}
-"
-
-src_prepare() {
- ecm_src_prepare
- ecm_punt_po_install
-}
diff --git a/media-libs/ksanecore/ksanecore-24.08.1.ebuild b/media-libs/ksanecore/ksanecore-24.08.1.ebuild
index 864a02f2b221..ed8e9ed31c12 100644
--- a/media-libs/ksanecore/ksanecore-24.08.1.ebuild
+++ b/media-libs/ksanecore/ksanecore-24.08.1.ebuild
@@ -13,7 +13,7 @@ https://api.kde.org/ksanecore/html/index.html"
LICENSE="|| ( LGPL-2.1 LGPL-3 )"
SLOT="6"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86"
DEPEND="
>=dev-qt/qtbase-${QTMIN}:6[gui]
diff --git a/media-libs/ksanecore/ksanecore-24.08.2.ebuild b/media-libs/ksanecore/ksanecore-24.08.3.ebuild
index 625b222fc648..625b222fc648 100644
--- a/media-libs/ksanecore/ksanecore-24.08.2.ebuild
+++ b/media-libs/ksanecore/ksanecore-24.08.3.ebuild
diff --git a/media-libs/kvazaar/kvazaar-2.3.0-r1.ebuild b/media-libs/kvazaar/kvazaar-2.3.0-r1.ebuild
index 79849082fcfa..0cc28565bb31 100644
--- a/media-libs/kvazaar/kvazaar-2.3.0-r1.ebuild
+++ b/media-libs/kvazaar/kvazaar-2.3.0-r1.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} = *9999 ]] ; then
else
SRC_URI="https://github.com/ultravideo/kvazaar/archive/v${PV}.tar.gz -> ${P}.tar.gz
test? ( https://github.com/silentbicycle/greatest/archive/v${GREATEST_PV}.tar.gz -> greatest-${GREATEST_PV}.tar.gz )"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86"
fi
inherit autotools multilib-minimal
diff --git a/media-libs/lcms/lcms-2.16-r1.ebuild b/media-libs/lcms/lcms-2.16-r1.ebuild
index 311370885b05..8b9d3ba8f30d 100644
--- a/media-libs/lcms/lcms-2.16-r1.ebuild
+++ b/media-libs/lcms/lcms-2.16-r1.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/lcms2-${PV/_}"
LICENSE="GPL-3 MIT"
SLOT="2"
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
IUSE="doc jpeg static-libs tiff"
diff --git a/media-libs/leptonica/Manifest b/media-libs/leptonica/Manifest
index 9da2bbaa8e3b..423cdccf9271 100644
--- a/media-libs/leptonica/Manifest
+++ b/media-libs/leptonica/Manifest
@@ -1,2 +1,3 @@
DIST leptonica-1.83.1.tar.gz 14028566 BLAKE2B 56c501f16eb58366e4ed2f168f714adef968c271a0636cc0f3663b762aac29352a508421702e8ab063f78f3faf01e3d9eb72fff43093b05722a1a604beb66a59 SHA512 14c76b8795e494637cd225982cd27a1cd82d22b34c0c0d6ed061530c0ed8cec87fc1c8482bbda8f56a04f240b9fb50d481b8fffe5df846958cb146f9d2d51553
DIST leptonica-1.84.1.tar.gz 14102299 BLAKE2B 1da9b5bd2b72fa82320126dd8e6e647fbc50be0dcd71a0f8e392d9617911fe4f224d51158ab230476afbf7fd0e15cae1b59d8469cbf68a43893ada09a8d93673 SHA512 949be33a09e1dfc04527f5401d3d682999bd6904dca0b4950b457d12564e3290ec5b62ab4b14ef14d6f499a0fbfa0ebc37c2e8ab2966913883127b9489f47e97
+DIST leptonica-1.85.0.tar.gz 14757419 BLAKE2B db26f30121f8fa7807068d3e55c1cc3ed2f8a7a6f8bb8cc46a240257d11842000b63a4b08542c87a90bc446ccb53a1fe36823661416ec120da8e9b199ddb8def SHA512 ad097f8238bb88f044511bedb6debfb8a1492a4636348b21ce103034d3878ae1097e7ca8de9c39ef01f34589526d7e8aee68fb1b83aae5ffc0026c04360b882c
diff --git a/media-libs/leptonica/leptonica-1.84.1-r2.ebuild b/media-libs/leptonica/leptonica-1.84.1-r2.ebuild
index 3de09739be9f..40dd63bf68ca 100644
--- a/media-libs/leptonica/leptonica-1.84.1-r2.ebuild
+++ b/media-libs/leptonica/leptonica-1.84.1-r2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/DanBloomberg/${PN}/releases/download/${PV}/${P}.tar.
LICENSE="Apache-2.0"
SLOT="0/6"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~ppc-macos"
IUSE="gif jpeg jpeg2k png static-libs test tiff utils webp zlib"
# N.B. Tests need some features enabled:
REQUIRED_USE="
diff --git a/media-libs/leptonica/leptonica-1.85.0.ebuild b/media-libs/leptonica/leptonica-1.85.0.ebuild
new file mode 100644
index 000000000000..3de09739be9f
--- /dev/null
+++ b/media-libs/leptonica/leptonica-1.85.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool multilib-minimal
+
+DESCRIPTION="C library for image processing and analysis"
+HOMEPAGE="http://www.leptonica.org/"
+SRC_URI="https://github.com/DanBloomberg/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/6"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos"
+IUSE="gif jpeg jpeg2k png static-libs test tiff utils webp zlib"
+# N.B. Tests need some features enabled:
+REQUIRED_USE="
+ tiff? ( jpeg )
+ test? ( jpeg png tiff zlib )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ gif? ( >=media-libs/giflib-5.1.3:=[${MULTILIB_USEDEP}] )
+ jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
+ jpeg2k? ( media-libs/openjpeg:2=[${MULTILIB_USEDEP}] )
+ png? (
+ media-libs/libpng:0=[${MULTILIB_USEDEP}]
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ )
+ tiff? ( media-libs/tiff:=[${MULTILIB_USEDEP}] )
+ webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
+ zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ test? ( media-libs/tiff[jpeg,zlib] )"
+
+DOCS=( README version-notes )
+
+src_prepare() {
+ default
+ elibtoolize
+
+ # unhtmlize docs
+ local X
+ for X in ${DOCS[@]}; do
+ awk '/<\/pre>/{s--} {if (s) print $0} /<pre>/{s++}' \
+ "${X}.html" > "${X}" || die 'awk failed'
+ rm -f -- "${X}.html"
+ done
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-shared \
+ $(use_with gif giflib) \
+ $(use_with jpeg) \
+ $(use_with jpeg2k libopenjpeg) \
+ $(use_with png libpng) \
+ $(use_with tiff libtiff) \
+ $(use_with webp libwebp) \
+ $(use_with webp libwebpmux) \
+ $(use_with zlib) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_enable utils programs)
+}
+
+multilib_src_test() {
+ default
+
+ # ${TMPDIR} is not respected. It used to be but it lead to issues
+ # and there have been long debates with upstream about it. :(
+ rm -rf /tmp/lept/ || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # libtool archives covered by pkg-config
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/media-libs/lerc/Manifest b/media-libs/lerc/Manifest
new file mode 100644
index 000000000000..cb58c43bcad6
--- /dev/null
+++ b/media-libs/lerc/Manifest
@@ -0,0 +1 @@
+DIST lerc-4.0.0.tar.gz 4710408 BLAKE2B b4c593ab2d28ad4c03149267db7d181462bc2977f6c908c88e7f769fed720be900936550e27cecfe32ee16b410c8a7885c1e509ae26717b5719e602922de305a SHA512 36fe453b6e732f6bed554d1c1c5cd4668aec63593d6de11f12b659c7b9cbc059ac9aaacc6cea483b3257d522f1b07e13c299914d08b1f8aeb0bb2cde42ba47cf
diff --git a/media-libs/lerc/lerc-4.0.0.ebuild b/media-libs/lerc/lerc-4.0.0.ebuild
new file mode 100644
index 000000000000..5e3219bb05c1
--- /dev/null
+++ b/media-libs/lerc/lerc-4.0.0.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal cmake
+
+DESCRIPTION="Limited Error Raster Compression"
+HOMEPAGE="https://github.com/esri/lerc"
+SRC_URI="https://github.com/Esri/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/4"
+KEYWORDS="~amd64"
diff --git a/media-libs/lerc/metadata.xml b/media-libs/lerc/metadata.xml
new file mode 100644
index 000000000000..5fdd5f1bc46f
--- /dev/null
+++ b/media-libs/lerc/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>thomas.bettler@gmail.com</email>
+ <name>Thomas Bettler</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>codec@gentoo.org</email>
+ <name>Gentoo Codec Project</name>
+ </maintainer>
+ <longdescription>
+ Limited Error Raster Compression (LERC) supports rapid encoding and decoding
+ for any pixel type (not just RGB or Byte). Users set the maximum compression
+ error per pixel while encoding, so the precision of the original input image
+ is preserved (within user defined error bounds).
+ </longdescription>
+ <upstream>
+ <remote-id type="github">esri/lerc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-libs/lib3ds/lib3ds-2.0.0_rc1-r1.ebuild b/media-libs/lib3ds/lib3ds-2.0.0_rc1-r1.ebuild
index 54f706d22467..c9fba63c91b6 100644
--- a/media-libs/lib3ds/lib3ds-2.0.0_rc1-r1.ebuild
+++ b/media-libs/lib3ds/lib3ds-2.0.0_rc1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ SRC_URI="https://lib3ds.googlecode.com/files/${MY_P}.zip"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
IUSE="static-libs"
BDEPEND="app-arch/unzip"
diff --git a/media-libs/lib3mf/lib3mf-2.2.0.ebuild b/media-libs/lib3mf/lib3mf-2.2.0-r1.ebuild
index d5d470010791..c980abe83fef 100644
--- a/media-libs/lib3mf/lib3mf-2.2.0.ebuild
+++ b/media-libs/lib3mf/lib3mf-2.2.0-r1.ebuild
@@ -39,6 +39,14 @@ PATCHES=(
"${FILESDIR}"/${P}-include-cstdint.patch
)
+src_prepare() {
+ cmake_src_prepare
+
+ rm -r Include/Libraries/{libzip,zlib} || die
+ ln -s "${EPREFIX}/usr/include" Include/Libraries/zlib || die
+ ln -s "${EPREFIX}/usr/include" Include/Libraries/libzip || die
+}
+
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_INCLUDEDIR="include/${PN}"
diff --git a/media-libs/libaom/Manifest b/media-libs/libaom/Manifest
index 639bcab5de23..9a244adffb0a 100644
--- a/media-libs/libaom/Manifest
+++ b/media-libs/libaom/Manifest
@@ -1,4 +1,4 @@
-DIST libaom-3.8.1-testdata.tar.xz 426372276 BLAKE2B 4d6194a98612045023f4d35ca851a37ffc69cbfbfd015d5c1f4e3aebb6789096d7b7f82b9641c545e4203b44fe8a9243de83bb23a8c53aced30ec26aed0376e0 SHA512 03bf5d521c613728dd12fd33bb76fc64a20798e276dbdc2501446e1fb9891552e88adb25f0e4ff65d6c8aad301a550aec195498ab1f1a506bce3fe384e24cc0e
-DIST libaom-3.8.1.tar.gz 5450909 BLAKE2B fec3123f8ee68b1027a1a2019969c098b730da72be2902274659b983857f2d8f62dae5b563543b3f144ae8bc51b6d6fdd4fcd6aadf2ca04d5a4dd5be987fbbac SHA512 f9ee918a37699cfaf2bcb5aa16a4d8b077feb1fc577d8c5437ed3fa1a1c0a5d734c9564e3c8c0f0b1baf43dc5abb7ff0196a77607b10d926c0be7858778ac1e3
+DIST libaom-3.10.0-testdata.tar.xz 426166968 BLAKE2B 1cebddf22a81ea04ea33b94e8e286e3ece97db940850a073bb15dd203414adb9ce89f34fe03d1dea66fef827f33b085772bc5144d182977bcaf545593ca94324 SHA512 a1aae4f8ab6c98ed567a6516d285100af7ef987019ff87294cd1a08d8e74839e652decf85f2a8b5eecab58cb8066684a676716af05fb5f37e6adf2312b996e1a
+DIST libaom-3.10.0.tar.gz 5445319 BLAKE2B c4ee6980d5223413f09d163782133a5b7e041f646bfae26a0f386672a964e7f5ab1ec38fc19cc332b38f0bff4b4b96405104f87ca162395ce036d18dd86ef9dc SHA512 70ceb4385032bdac5e892ed78f10878ef54faeabdd042d4a3b92f838146a61baa69d4d4e2576dcf8223918f79b6db72485fd95b5c05a20d41634310cc6b44c44
DIST libaom-3.9.1-testdata.tar.xz 426413144 BLAKE2B 99fad74bbfabbfd1a7b9a2a3ae72c1c5a4810a70cb6f2df54ad4e29da5afd9278fcc2555f859f51dadab41e1d1829d08ee9efee415ca34d05acd5175caf35205 SHA512 81ce77937264c3a4f6da19dab5cfc4feb559359c154fc00105e6aee6aebb1900e4ecaadd248ba09c5aa266ba0f937451a075338c474ca69a64871d6e6f9c4480
DIST libaom-3.9.1.tar.gz 5524048 BLAKE2B 2f983a4a563e16120aa8937e059f4cd267fb60b6d4148f952f1e664a50b84bc0d8ba7629231b60e4263963d97559a819752a4fa0dcf2427c9f94036716221324 SHA512 d134583c9cc17e0c8e0dec17677a5daca6f42636f3cde83e1b0fc5250f7372f190c125afb845540cd947fb28462cc91b111a69ae4fec51946c3730cacf42c36e
diff --git a/media-libs/libaom/libaom-3.8.1.ebuild b/media-libs/libaom/libaom-3.10.0.ebuild
index ae460624433a..842d301977da 100644
--- a/media-libs/libaom/libaom-3.8.1.ebuild
+++ b/media-libs/libaom/libaom-3.10.0.ebuild
@@ -3,29 +3,20 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake-multilib flag-o-matic multiprocessing python-any-r1
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://aomedia.googlesource.com/aom"
else
- # To update test data tarball, follow these steps:
- # 1. Clone the upstream repo and check out the relevant tag,
- # or download the release tarball
- # 2. Regular cmake configure (options don't matter here):
- # cd build && cmake ..
- # 3. Set LIBAOM_TEST_DATA_PATH to the directory you want and
- # run the "make testdata" target:
- # LIBAOM_TEST_DATA_PATH=../libaom-3.7.1-testdata make testdata
- # This will download the test data from the internet.
- # 4. Create a tarball out of that directory.
- # cd .. && tar cvaf libaom-3.7.1-testdata.tar.xz libaom-3.7.1-testdata
+ # To update test data tarball,
+ # chromium-tools.git/generate-libaom-test-tarball.sh
SRC_URI="
https://storage.googleapis.com/aom-releases/${P}.tar.gz
- test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-testdata.tar.xz )
+ test? ( https://deps.gentoo.zip/${CATEGORY}/${P}-testdata.tar.xz )
"
- KEYWORDS="~alpha amd64 arm arm64 ~loong ppc64 ~riscv x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="Alliance for Open Media AV1 Codec SDK"
diff --git a/media-libs/libass/libass-0.17.1-r1.ebuild b/media-libs/libass/libass-0.17.1-r2.ebuild
index ea718aecd975..559fa48be108 100644
--- a/media-libs/libass/libass-0.17.1-r1.ebuild
+++ b/media-libs/libass/libass-0.17.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( https://github.com/libass/libass/releases/download/${PV
LICENSE="ISC"
SLOT="0/9" # subslot = libass soname version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="+fontconfig libunibreak test"
RESTRICT="!test? ( test )"
@@ -39,7 +39,7 @@ DOCS=( Changelog )
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \
$(use_enable fontconfig) \
- $(use_enable libunibreak) \
+ $(multilib_native_use_enable libunibreak) \
$(use_enable test) \
--disable-require-system-font-provider
}
diff --git a/media-libs/libbsb/libbsb-0.0.7-r1.ebuild b/media-libs/libbsb/libbsb-0.0.7-r1.ebuild
deleted file mode 100644
index 60e8aeaa5d9a..000000000000
--- a/media-libs/libbsb/libbsb-0.0.7-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A portable C library for reading and writing BSB format image files"
-HOMEPAGE="http://libbsb.sourceforge.net/"
-SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND="media-libs/libpng
- media-libs/tiff:="
-RDEPEND="${DEPEND}"
-
-# "make check" in 0.0.7 fails with newer tiff versions (4.0.0) altough the
-# tools work perfectly, so restrict test until this is fixed upstream
-RESTRICT="test"
-
-DOCS=( README AUTHORS )
diff --git a/media-libs/libcanberra-gtk3/Manifest b/media-libs/libcanberra-gtk3/Manifest
new file mode 100644
index 000000000000..2d908fe537f1
--- /dev/null
+++ b/media-libs/libcanberra-gtk3/Manifest
@@ -0,0 +1 @@
+DIST libcanberra-0.30.tar.xz 318960 BLAKE2B c90c6863738b103c256eeb0907060a0f74b73ef50ac0728d2114aa558a7a1ad7cbae4184860573d3fac0032eba77327a4de94c459b99a81c3dc19da0e98adfda SHA512 f7543582122256826cd01d0f5673e1e58d979941a93906400182305463d6166855cb51f35c56d807a56dc20b7a64f7ce4391368d24990c1b70782a7d0b4429c2
diff --git a/media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch b/media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch
new file mode 100644
index 000000000000..e51cfe00c0df
--- /dev/null
+++ b/media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch
@@ -0,0 +1,64 @@
+From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001
+From: Michael Meeks <michael.meeks@suse.com>
+Date: Fri, 09 Nov 2012 16:16:40 +0000
+Subject: gtk: Don't assume all GdkDisplays are GdkX11Displays: broadway/wayland
+
+---
+diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c
+index 67791f0..c1532ab 100644
+--- a/src/canberra-gtk-module.c
++++ b/src/canberra-gtk-module.c
+@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) {
+ guchar *data = NULL;
+ gint ret = -1;
+
++#ifdef GDK_IS_X11_DISPLAY
++ if (!GDK_IS_X11_DISPLAY(d))
++ return 0;
++#endif
++
+ if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
+ gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
+ 0, G_MAXLONG, False, XA_CARDINAL, &type_return,
+@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDisplay *d) {
+ guchar *data = NULL;
+ gint ret = -1;
+
++#ifdef GDK_IS_X11_DISPLAY
++ if (!GDK_IS_X11_DISPLAY(d))
++ return 0;
++#endif
++
+ if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)),
+ gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"),
+ 0, G_MAXLONG, False, XA_CARDINAL, &type_return,
+@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) {
+ gboolean ret = FALSE;
+ Atom xembed;
+
++#ifdef GDK_IS_X11_DISPLAY
++ if (!GDK_IS_X11_DISPLAY(d))
++ return FALSE;
++#endif
++
+ /* Gnome Panel applets are XEMBED windows. We need to make sure we
+ * ignore them */
+
+diff --git a/src/canberra-gtk.c b/src/canberra-gtk.c
+index 34446f5..08cb668 100644
+--- a/src/canberra-gtk.c
++++ b/src/canberra-gtk.c
+@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) {
+ guchar *data = NULL;
+ gint ret = -1;
+
++#ifdef GDK_IS_X11_DISPLAY
++ if (!GDK_IS_X11_DISPLAY(d))
++ return 0;
++#endif
++
+ if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
+ gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
+ 0, G_MAXLONG, False, XA_CARDINAL, &type_return,
+--
+cgit v0.9.2
diff --git a/media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh b/media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh
new file mode 100644
index 000000000000..63c16af71861
--- /dev/null
+++ b/media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+# to be sourced
+
+case "$SESSION" in
+ GNOME)
+ # Done by gnome-settings-daemon
+ ;;
+ *)
+ if [ -z "$GTK_MODULES" ] ; then
+ GTK_MODULES="canberra-gtk-module"
+ else
+ GTK_MODULES="$GTK_MODULES:canberra-gtk-module"
+ fi
+ export GTK_MODULES
+ ;;
+esac
diff --git a/media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild b/media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild
new file mode 100644
index 000000000000..a8771a5d9054
--- /dev/null
+++ b/media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="libcanberra"
+MY_P="libcanberra-${PV}"
+inherit libtool multilib-minimal
+
+DESCRIPTION="GTK3 bindings for libcanberra, the portable sound event library"
+HOMEPAGE="https://0pointer.de/lennart/projects/libcanberra/"
+SRC_URI="https://0pointer.de/lennart/projects/${MY_PN}/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="gnome"
+
+COMMON_DEPEND="
+ ~media-libs/libcanberra-${PV}[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.32:2[${MULTILIB_USEDEP}]
+ x11-libs/gtk+:3[X,${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ media-libs/libvorbis[${MULTILIB_USEDEP}]
+"
+RDEPEND="${COMMON_DEPEND}
+ !<media-libs/libcanberra-0.30-r8[gtk3(-)]
+ gnome? (
+ gnome-base/dconf
+ gnome-base/gsettings-desktop-schemas )
+"
+BDEPEND="
+ app-arch/xz-utils
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # gtk: Don't assume all GdkDisplays are GdkX11Displays: broadway/wayland (from 'master')
+ "${FILESDIR}/${MY_P}-wayland.patch"
+)
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ --disable-alsa
+ --disable-oss
+ --disable-pulse
+ --disable-gstreamer
+ --disable-gtk
+ --enable-gtk3
+ --disable-tdb
+ --disable-udev
+ --disable-lynx
+ --disable-gtk-doc
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+ # Disable parallel installation until bug #253862 is solved
+ emake DESTDIR="${D}" -j1 install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+
+ rm "${ED}"/usr/include/canberra.h || die
+
+ find "${ED}"/usr \( -iname libcanberra.pc -o -iname libcanberra.vapi \
+ -o -iname libcanberra-multi.so -o -iname libcanberra-null.so \
+ -o -iname libcanberra.so* \) -delete || die
+
+ # This is needed for desktops different than GNOME, bug #520550
+ exeinto /etc/X11/xinit/xinitrc.d
+ newexe "${FILESDIR}"/${MY_PN}-gtk-module.sh 40-${MY_PN}-gtk-module
+}
diff --git a/media-libs/libcanberra-gtk3/metadata.xml b/media-libs/libcanberra-gtk3/metadata.xml
new file mode 100644
index 000000000000..1db67d7ed56f
--- /dev/null
+++ b/media-libs/libcanberra-gtk3/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sound@gentoo.org</email>
+ <name>Gentoo Sound project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/media-libs/libcanberra/libcanberra-0.30-r8.ebuild b/media-libs/libcanberra/libcanberra-0.30-r8.ebuild
new file mode 100644
index 000000000000..9e70735bd7e5
--- /dev/null
+++ b/media-libs/libcanberra/libcanberra-0.30-r8.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool multilib-minimal systemd
+
+DESCRIPTION="Portable sound event library"
+HOMEPAGE="https://0pointer.de/lennart/projects/libcanberra/"
+SRC_URI="https://0pointer.de/lennart/projects/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="alsa gstreamer oss pulseaudio tdb udev"
+
+DEPEND="
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ media-libs/libvorbis[${MULTILIB_USEDEP}]
+ alsa? (
+ media-libs/alsa-lib:=[${MULTILIB_USEDEP}]
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) )
+ gstreamer? ( media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ tdb? ( sys-libs/tdb:=[${MULTILIB_USEDEP}] )
+"
+RDEPEND="${DEPEND}
+ x11-themes/sound-theme-freedesktop" # Required for index.theme wrt #323379
+BDEPEND="
+ app-arch/xz-utils
+ virtual/pkgconfig
+"
+
+REQUIRED_USE="udev? ( alsa )"
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ $(use_enable alsa)
+ $(use_enable oss)
+ $(use_enable pulseaudio pulse)
+ $(use_enable gstreamer)
+ --disable-gtk
+ --disable-gtk3
+ $(use_enable tdb)
+ $(use_enable udev)
+ --disable-lynx
+ --disable-gtk-doc
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+
+ if multilib_is_native_abi; then
+ ln -s "${S}"/gtkdoc/html gtkdoc/html || die
+ fi
+}
+
+multilib_src_install() {
+ # Disable parallel installation until bug #253862 is solved
+ emake DESTDIR="${D}" -j1 install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/media-libs/libcdr/Manifest b/media-libs/libcdr/Manifest
index 9a0875ed1917..28009ab8fa9b 100644
--- a/media-libs/libcdr/Manifest
+++ b/media-libs/libcdr/Manifest
@@ -1 +1,2 @@
DIST libcdr-0.1.7.tar.xz 618528 BLAKE2B 7e74b1936f80078f4b0a07e2e37f9d59489ad27acee66175032ba7250ab492310e4042c7b6d7995b1ffffee7da1c7562f5c2fc24457c3efe0b19fe7e00d8e42b SHA512 9af327fcf9f3f3ef1c446e92f4d2ff06ebaccb54d4c65b021960a212bf416f7098006324625f3e1c00500597eaa9da39832cc27b83a6cd593e97b76b1eb63d38
+DIST libcdr-0.1.8.tar.xz 625836 BLAKE2B e6f63b378e56f15cc194e9b5fb4ebedc3314cfe8179080b042fd84498343858710a5cc1e1e7c47937b6fe9de6f49310d0adc41e1d4b9c6260d6ec7eb49563cb6 SHA512 5dc25ca80817c5d166c89264fb727a723c3439abb8ec655047c2c15bff0a48b87e7c6e3d6b203296964060bf5c2a71a11bceffbbc2f5eb3f61a209bef071a57a
diff --git a/media-libs/libcdr/libcdr-0.1.8.ebuild b/media-libs/libcdr/libcdr-0.1.8.ebuild
new file mode 100644
index 000000000000..c12b0b13e2e6
--- /dev/null
+++ b/media-libs/libcdr/libcdr-0.1.8.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://anongit.freedesktop.org/git/libreoffice/libcdr.git"
+ inherit autotools git-r3
+else
+ SRC_URI="https://dev-www.libreoffice.org/src/libcdr/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Library parsing the Corel cdr documents"
+HOMEPAGE="https://wiki.documentfoundation.org/DLP/Libraries/libcdr"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/icu-75:=
+ dev-libs/librevenge
+ media-libs/lcms:2
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+"
+BDEPEND="
+ dev-build/libtool
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? ( dev-util/cppunit )
+"
+
+src_prepare() {
+ default
+ [[ -d m4 ]] || mkdir "m4"
+ [[ ${PV} == *9999* ]] && eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with doc docs)
+ $(use_enable test tests)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/media-libs/libcdr/libcdr-9999.ebuild b/media-libs/libcdr/libcdr-9999.ebuild
index c7af76ba83e5..c12b0b13e2e6 100644
--- a/media-libs/libcdr/libcdr-9999.ebuild
+++ b/media-libs/libcdr/libcdr-9999.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-if [[ ${PV} = 9999 ]]; then
+if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://anongit.freedesktop.org/git/libreoffice/libcdr.git"
inherit autotools git-r3
else
@@ -21,7 +21,7 @@ IUSE="doc test"
RESTRICT="!test? ( test )"
RDEPEND="
- dev-libs/icu:=
+ >=dev-libs/icu-75:=
dev-libs/librevenge
media-libs/lcms:2
sys-libs/zlib
@@ -39,12 +39,11 @@ BDEPEND="
src_prepare() {
default
[[ -d m4 ]] || mkdir "m4"
- [[ ${PV} == 9999 ]] && eautoreconf
+ [[ ${PV} == *9999* ]] && eautoreconf
}
src_configure() {
local myeconfargs=(
- --disable-static
$(use_with doc docs)
$(use_enable test tests)
)
diff --git a/media-libs/libdisplay-info/libdisplay-info-0.1.1.ebuild b/media-libs/libdisplay-info/libdisplay-info-0.1.1-r1.ebuild
index 72e98a8a227b..b00b441195f8 100644
--- a/media-libs/libdisplay-info/libdisplay-info-0.1.1.ebuild
+++ b/media-libs/libdisplay-info/libdisplay-info-0.1.1-r1.ebuild
@@ -17,11 +17,9 @@ KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
-RDEPEND="sys-apps/hwdata"
-DEPEND="${RDEPEND}"
-
BDEPEND="
${PYTHON_DEPS}
+ sys-apps/hwdata
virtual/pkgconfig
test? ( >=sys-apps/edid-decode-0_pre20230131 )
"
diff --git a/media-libs/libdisplay-info/libdisplay-info-0.2.0.ebuild b/media-libs/libdisplay-info/libdisplay-info-0.2.0-r1.ebuild
index 0f71c25d22ab..42cc136a58ff 100644
--- a/media-libs/libdisplay-info/libdisplay-info-0.2.0.ebuild
+++ b/media-libs/libdisplay-info/libdisplay-info-0.2.0-r1.ebuild
@@ -13,12 +13,10 @@ SRC_URI="https://gitlab.freedesktop.org/emersion/${PN}/-/releases/${PV}/download
LICENSE="MIT"
SLOT="0/2"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-
-RDEPEND="sys-apps/hwdata"
-DEPEND="${RDEPEND}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
BDEPEND="
${PYTHON_DEPS}
+ sys-apps/hwdata
virtual/pkgconfig
"
diff --git a/media-libs/libdovi/libdovi-3.3.1.ebuild b/media-libs/libdovi/libdovi-3.3.1-r1.ebuild
index c8d73ea5f7ba..0131e18bb74d 100644
--- a/media-libs/libdovi/libdovi-3.3.1.ebuild
+++ b/media-libs/libdovi/libdovi-3.3.1-r1.ebuild
@@ -89,6 +89,8 @@ CRATES="
windows_x86_64_msvc@0.52.6
wyz@0.5.1
"
+RUST_MULTILIB=1
+
inherit cargo edo multilib-minimal rust-toolchain
DESCRIPTION="Dolby Vision metadata parsing and writing"
@@ -116,28 +118,42 @@ src_prepare() {
multilib_copy_sources
}
-multilib_src_configure() {
- local -n cargoargs=${PN}_CARGOARGS_${ABI}
-
- cargoargs=(
- --prefix="${EPREFIX}/usr"
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --library-type=cdylib
- --target="$(rust_abi)"
- # cargo cbuild --help claims dev is default but (currently) this seems
- # to always use release unless --profile=dev is explicitly passed?
- $(usex debug --profile=dev --release)
- )
+src_configure() {
+ multilib_src_configure() {
+ local -n cargoargs=${PN}_CARGOARGS_${ABI}
+
+ cargoargs=(
+ --prefix="${EPREFIX}/usr"
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ --library-type=cdylib
+ --target="$(rust_abi)"
+ # cargo cbuild --help claims dev is default but (currently) seems
+ # to always use release unless --profile=dev is explicitly passed?
+ $(usex debug --profile=dev --release)
+ )
+ }
+
+ multilib-minimal_src_configure
}
-multilib_src_compile() {
- local -n cargoargs=${PN}_CARGOARGS_${ABI}
+src_compile() {
+ multilib_src_compile() {
+ local -n cargoargs=${PN}_CARGOARGS_${ABI}
- edo cargo cbuild "${cargoargs[@]}"
+ edo cargo cbuild "${cargoargs[@]}"
+ }
+
+ multilib-minimal_src_compile
}
-multilib_src_install() {
- local -n cargoargs=${PN}_CARGOARGS_${ABI}
+src_test() { :; } # no tests, and must not run cargo_src_test
+
+src_install() {
+ multilib_src_install() {
+ local -n cargoargs=${PN}_CARGOARGS_${ABI}
+
+ edo cargo cinstall --destdir="${D}" "${cargoargs[@]}"
+ }
- edo cargo cinstall --destdir="${D}" "${cargoargs[@]}"
+ multilib-minimal_src_install
}
diff --git a/media-libs/libebur128/libebur128-1.2.6.ebuild b/media-libs/libebur128/libebur128-1.2.6-r1.ebuild
index 4cea299d48e4..41f34da356b9 100644
--- a/media-libs/libebur128/libebur128-1.2.6.ebuild
+++ b/media-libs/libebur128/libebur128-1.2.6-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake-multilib
diff --git a/media-libs/libexif/libexif-0.6.24.ebuild b/media-libs/libexif/libexif-0.6.24.ebuild
index 2585bf038cd7..4345eb30b702 100644
--- a/media-libs/libexif/libexif-0.6.24.ebuild
+++ b/media-libs/libexif/libexif-0.6.24.ebuild
@@ -25,6 +25,10 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.6.13-pkgconfig.patch
)
+QA_CONFIG_IMPL_DECL_SKIP=(
+ localtime_s # bug #898318
+)
+
src_prepare() {
default
diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest
index ec50968e9f57..16bec4cb62b1 100644
--- a/media-libs/libffado/Manifest
+++ b/media-libs/libffado/Manifest
@@ -1 +1,2 @@
DIST libffado-2.4.8.tgz 1237955 BLAKE2B 14b83d55fc9a7b33c888b893c808f8419292fefaa2c2239b4b51c2b84070a584ea72821c8469bb8d965a9a5e6473b6fcfb5e85f4eecd2d424e3167322f8abb81 SHA512 fbbcd30640c55315f2e65fc6c07afc71a77dd2c9d1b6127ee55cd17e76511ad5f0563135e52397dbf113fb0d5925021a38780f231409bdd920da52e6c1ce3acc
+DIST libffado-2.4.9.tgz 1229651 BLAKE2B ec8300066d47d685aa701316efa6831f05d678c509de341d1b74551bf8a3f04b59dcd80d592e2111670212d4056bd1c150cc23dbf43a797a915bf65ae441c85e SHA512 0a0c61cf9339ab542c85eaefbe017b7613f716ae0ed08d11a37782dd7ef5815b18256c5d1b9240f077c9f59bbf4b4878019cefbd6cab78140477bcad6a9d3e44
diff --git a/media-libs/libffado/files/libffado-2.4.9-fix-config-load-crash.patch b/media-libs/libffado/files/libffado-2.4.9-fix-config-load-crash.patch
new file mode 100644
index 000000000000..db28ec831281
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.4.9-fix-config-load-crash.patch
@@ -0,0 +1,12 @@
+--- a/support/mixer-qt4/ffado/mixer/globalmixer.py
++++ b/support/mixer-qt4/ffado/mixer/globalmixer.py
+@@ -96,8 +96,7 @@ class GlobalMixer(QWidget):
+ @pyqtSlot()
+ def on_txtNickname_returnPressed( self ):
+ if self.nickname.canChangeValue():
+- asciiData = self.txtNickname.text().toAscii()
+- self.nickname.setText( asciiData.data() )
++ self.nickname.setText( self.txtNickname.text().encode('utf-8') )
+ else:
+ self.txtNickname.setText( self.nickname.text() )
+
diff --git a/media-libs/libffado/libffado-2.4.8.ebuild b/media-libs/libffado/libffado-2.4.8.ebuild
index 2bf41f8f6808..b462875341c1 100644
--- a/media-libs/libffado/libffado-2.4.8.ebuild
+++ b/media-libs/libffado/libffado-2.4.8.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit desktop python-single-r1 scons-utils toolchain-funcs udev multilib-minimal
@@ -39,7 +39,7 @@ CDEPEND="${PYTHON_DEPS}
qt5? (
$(python_gen_cond_dep '
dev-python/dbus-python[${PYTHON_USEDEP}]
- dev-python/PyQt5[dbus,${PYTHON_USEDEP}]
+ dev-python/pyqt5[dbus,${PYTHON_USEDEP}]
')
x11-misc/xdg-utils
)"
diff --git a/media-libs/libffado/libffado-2.4.9.ebuild b/media-libs/libffado/libffado-2.4.9.ebuild
new file mode 100644
index 000000000000..daf6d4c572ee
--- /dev/null
+++ b/media-libs/libffado/libffado-2.4.9.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit desktop python-single-r1 scons-utils toolchain-funcs udev multilib-minimal xdg
+
+DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces"
+HOMEPAGE="http://www.ffado.org"
+
+if [[ "${PV}" = "9999" ]]; then
+ inherit subversion
+ ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}"
+else
+ SRC_URI="http://www.ffado.org/files/${P}.tgz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+IUSE="debug qt5 test-programs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+CDEPEND="${PYTHON_DEPS}
+ dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}]
+ >=dev-libs/dbus-c++-0.9.0-r5
+ dev-libs/libconfig:=[cxx,${MULTILIB_USEDEP}]
+ media-libs/alsa-lib
+ media-libs/libiec61883[${MULTILIB_USEDEP}]
+ sys-apps/dbus
+ sys-libs/libavc1394[${MULTILIB_USEDEP}]
+ sys-libs/libraw1394[${MULTILIB_USEDEP}]
+ qt5? (
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pyqt5[dbus,${PYTHON_USEDEP}]
+ ')
+ x11-misc/xdg-utils
+ )"
+DEPEND="${CDEPEND}"
+RDEPEND="${CDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/libffado-2.4.9-fix-config-load-crash.patch"
+)
+
+myescons() {
+ local myesconsargs=(
+ PREFIX="${EPREFIX}/usr"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ MANDIR="${EPREFIX}/usr/share/man"
+ UDEVDIR="$(get_udevdir)/rules.d"
+ CUSTOM_ENV=true
+ DETECT_USERSPACE_ENV=false
+ DEBUG=$(usex debug)
+ PYPKGDIR="$(python_get_sitedir)"
+ # ENABLE_OPTIMIZATIONS detects cpu type and sets flags accordingly
+ # -fomit-frame-pointer is added also which can cripple debugging.
+ # we set flags from portage instead
+ ENABLE_OPTIMIZATIONS=false
+ # This only works for JACK1>=0.122.0 or JACK2>=1.9.9.
+ ENABLE_SETBUFFERSIZE_API_VER=force
+ )
+ if multilib_is_native_abi; then
+ myesconsargs+=(
+ BUILD_MIXER=$(usex qt5 true false)
+ BUILD_TESTS=$(usex test-programs)
+ )
+ else
+ myesconsargs+=(
+ BUILD_MIXER=false
+ BUILD_TESTS=false
+ )
+ fi
+ escons "${myesconsargs[@]}" "${@}"
+}
+
+src_prepare() {
+ default
+
+ # Bug #808853
+ cp "${BROOT}"/usr/share/gnuconfig/config.guess admin/ || die "Failed to update config.guess"
+
+ # Always use Qt5
+ sed -i -e 's/try:/if False:/' -e 's/except.*/else:/' support/mixer-qt4/ffado/import_pyqt.py || die
+
+ # Bugs #658052, #659226
+ sed -i -e 's/^CacheDir/#CacheDir/' SConstruct || die
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ tc-export CC CXX
+ myescons
+}
+
+multilib_src_install() {
+ myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ python_fix_shebang "${D}"
+ python_optimize "${D}"
+
+ if use qt5; then
+ newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
+ newmenu "support/xdg/org.ffado.FfadoMixer.desktop" "ffado-mixer.desktop"
+ fi
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ udev_reload
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ udev_reload
+}
diff --git a/media-libs/libfishsound/libfishsound-1.0.0-r2.ebuild b/media-libs/libfishsound/libfishsound-1.0.0-r2.ebuild
index 174d912e442b..71fd52981ae6 100644
--- a/media-libs/libfishsound/libfishsound-1.0.0-r2.ebuild
+++ b/media-libs/libfishsound/libfishsound-1.0.0-r2.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://downloads.xiph.org/releases/libfishsound/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="flac speex"
RDEPEND="
diff --git a/media-libs/libgii/files/libgii-1.0.2-Wformat-security.patch b/media-libs/libgii/files/libgii-1.0.2-Wformat-security.patch
new file mode 100644
index 000000000000..5fab014afb06
--- /dev/null
+++ b/media-libs/libgii/files/libgii-1.0.2-Wformat-security.patch
@@ -0,0 +1,28 @@
+--- a/input/linux_mouse/input.c
++++ b/input/linux_mouse/input.c
+@@ -251,7 +251,7 @@ static int do_mouse_open(gii_input *inp, char *filename,
+ " device may not work as expected\n");
+ #endif /* HAVE_TIOCMSET */
+ }
+- if (dowarn) fprintf(stderr, serialfailstr);
++ if (dowarn) fprintf(stderr, "%s", serialfailstr);
+ }
+
+ return 0;
+--- a/input/lk201/input.c
++++ b/input/lk201/input.c
+@@ -256,12 +256,12 @@ do_lk201_open(gii_input *inp, const char *filename)
+ }
+ else
+ {
+- fprintf(stderr, tcsetattrfailstr);
++ fprintf(stderr, "%s", tcsetattrfailstr);
+ }
+ }
+ else
+ {
+- fprintf(stderr, tcgetattrfailstr);
++ fprintf(stderr, "%s", tcgetattrfailstr);
+ }
+
+ /* dump and characters currently in the buffer */
diff --git a/media-libs/libgii/libgii-1.0.2-r3.ebuild b/media-libs/libgii/libgii-1.0.2-r4.ebuild
index c73877f9edd8..6fbfcdcd2e1a 100644
--- a/media-libs/libgii/libgii-1.0.2-r3.ebuild
+++ b/media-libs/libgii/libgii-1.0.2-r4.ebuild
@@ -18,14 +18,18 @@ RDEPEND="
X? (
>=x11-libs/libX11-1.6.2
>=x11-libs/libXxf86dga-1.1.4
- )"
-DEPEND="${RDEPEND}
- kernel_linux? ( >=sys-kernel/linux-headers-2.6.11 )"
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6.11 )
+"
PATCHES=(
"${FILESDIR}"/${PN}-0.9.0-linux26-headers.patch
"${FILESDIR}"/${P}-configure-cpuid-pic.patch
"${FILESDIR}"/${P}-libtool_1.5_compat.patch
+ "${FILESDIR}"/${P}-Wformat-security.patch
)
src_prepare() {
diff --git a/media-libs/libgphoto2/files/libgphoto2-2.5.31-remove-gpi_gphoto_port_type_map.patch b/media-libs/libgphoto2/files/libgphoto2-2.5.31-remove-gpi_gphoto_port_type_map.patch
new file mode 100644
index 000000000000..d5f2068abff4
--- /dev/null
+++ b/media-libs/libgphoto2/files/libgphoto2-2.5.31-remove-gpi_gphoto_port_type_map.patch
@@ -0,0 +1,31 @@
+https://github.com/gphoto/libgphoto2/commit/8ddcae4ed2bd052318b0849617e22bf92a98dd17
+https://github.com/gphoto/libgphoto2/commit/3cf7a1d04dcffa52907026c4c2d35ee8273f3147
+From: Matt Jolly <kangie@gentoo.org>
+Date: Mon, 25 Nov 2024 15:50:22 +1000
+Subject: [PATCH] consolidate removal of `gpi_gphoto_port_type_map`
+
+This was several upstream commits
+
+--- a/libgphoto2_port/gphoto2/gphoto2-port-info-list.h
++++ b/libgphoto2_port/gphoto2/gphoto2-port-info-list.h
+@@ -62,7 +62,6 @@ extern "C" {
+
+ #ifdef _GPHOTO2_INTERNAL_CODE
+ #include <gphoto2/gphoto2-port-log.h>
+-extern const StringFlagItem gpi_gphoto_port_type_map[];
+ #endif
+
+ int gp_port_info_new (GPPortInfo *info);
+--- a/libgphoto2_port/libgphoto2_port/libgphoto2_port.ver
++++ b/libgphoto2_port/libgphoto2_port/libgphoto2_port.ver
+@@ -71,7 +71,6 @@ LIBGPHOTO2_5_0 {
+
+ # These are only supposed to be used by libgphoto2 internally.
+ LIBGPHOTO2_INTERNAL {
+- gpi_gphoto_port_type_map;
+ gpi_enum_to_string;
+ gpi_string_to_enum;
+ gpi_string_to_flag;
+--
+2.47.0
+
diff --git a/media-libs/libgphoto2/libgphoto2-2.5.31-r2.ebuild b/media-libs/libgphoto2/libgphoto2-2.5.31-r2.ebuild
index afb3be44733a..cfaa872eaf3b 100644
--- a/media-libs/libgphoto2/libgphoto2-2.5.31-r2.ebuild
+++ b/media-libs/libgphoto2/libgphoto2-2.5.31-r2.ebuild
@@ -77,7 +77,8 @@ MULTILIB_CHOST_TOOLS=(
)
PATCHES=(
- "${FILESDIR}"/${PN}-2.5.31-c99.patch
+ "${FILESDIR}"/${P}-c99.patch
+ "${FILESDIR}"/${P}-remove-gpi_gphoto_port_type_map.patch
)
src_prepare() {
diff --git a/media-libs/libgpod/files/libgpod-0.8.3-pixbuf.patch b/media-libs/libgpod/files/libgpod-0.8.3-pixbuf.patch
new file mode 100644
index 000000000000..2d312c9f997e
--- /dev/null
+++ b/media-libs/libgpod/files/libgpod-0.8.3-pixbuf.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/919219
+https://src.fedoraproject.org/rpms/libgpod/blob/rawhide/f/pointer-types.patch
+--- a/src/ithumb-writer.c
++++ b/src/ithumb-writer.c
+@@ -968,7 +968,7 @@
+ else if (thumb->data_type == ITDB_THUMB_TYPE_PIXBUF)
+ {
+ Itdb_Thumb_Pixbuf *thumb_pixbuf = (Itdb_Thumb_Pixbuf *)thumb;
+- pixbuf = g_object_ref (G_OBJECT (thumb_pixbuf->pixbuf));
++ pixbuf = (GdkPixbuf *)(g_object_ref (G_OBJECT (thumb_pixbuf->pixbuf)));
+ }
+
+ if (pixbuf == NULL)
+--- a/src/ithumb-writer.c
++++ b/src/ithumb-writer.c
+@@ -728,7 +728,7 @@
+ {
+ return gdk_pixbuf_rotate_simple (pixbuf, *rotation);
+ }
+- return g_object_ref (G_OBJECT (pixbuf));
++ return (GdkPixbuf *)(g_object_ref (G_OBJECT (pixbuf)));
+ }
+
+ /* On the iPhone, thumbnails are presented as squares in a grid.
+
diff --git a/media-libs/libgpod/libgpod-0.8.3-r7.ebuild b/media-libs/libgpod/libgpod-0.8.3-r7.ebuild
index e04326a20141..51a35d7cd8e5 100644
--- a/media-libs/libgpod/libgpod-0.8.3-r7.ebuild
+++ b/media-libs/libgpod/libgpod-0.8.3-r7.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/gtkpod/${P}.tar.bz2"
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~riscv ~x86"
+KEYWORDS="amd64 ppc ~riscv x86"
IUSE="+gtk ios +udev"
RDEPEND="
diff --git a/media-libs/libgpod/libgpod-0.8.3-r8.ebuild b/media-libs/libgpod/libgpod-0.8.3-r8.ebuild
new file mode 100644
index 000000000000..a2a97c747088
--- /dev/null
+++ b/media-libs/libgpod/libgpod-0.8.3-r8.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools udev
+
+DESCRIPTION="Shared library to access the contents of an iPod"
+HOMEPAGE="http://www.gtkpod.org/libgpod/"
+SRC_URI="https://downloads.sourceforge.net/gtkpod/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ~riscv x86"
+IUSE="+gtk ios +udev"
+
+RDEPEND="
+ >=app-pda/libplist-2.3:=
+ >=dev-db/sqlite-3:3
+ >=dev-libs/glib-2.16:2
+ dev-libs/libxml2:2
+ sys-apps/sg3_utils:0=
+ gtk? ( x11-libs/gdk-pixbuf:2 )
+ ios? ( app-pda/libimobiledevice:= )
+ udev? ( virtual/udev )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-libs/libxslt
+ dev-util/intltool
+ dev-build/gtk-doc-am
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+DOCS=( AUTHORS NEWS README{,.overview,.sqlite,.SysInfo} TROUBLESHOOTING )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-comment.patch # bug 537968
+ "${FILESDIR}"/${P}-segfault.patch # bug 565052
+ "${FILESDIR}"/${P}-pkgconfig_overlinking.patch
+ "${FILESDIR}"/${P}-implicit-int.patch
+ "${FILESDIR}"/${P}-plist-2.3.patch
+ "${FILESDIR}"/${P}-pixbuf.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-pygobject
+ --disable-static
+ --without-hal
+ --without-mono
+ --without-python
+ --with-udev-dir="$(get_udevdir)"
+ $(use_enable gtk gdk-pixbuf)
+ $(use_with ios libimobiledevice)
+ $(use_enable udev)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ rm "${ED}"/usr/$(get_libdir)/pkgconfig/libgpod-sharp.pc || die
+ [[ -d ${ED}/tmp ]] && rmdir "${ED}"/tmp || die
+ find "${ED}" -name '*.la' -type f -delete || die
+}
+
+pkg_postinst() {
+ use udev && udev_reload
+}
+
+pkg_postrm() {
+ use udev && udev_reload
+}
diff --git a/media-libs/libheif/Manifest b/media-libs/libheif/Manifest
index f28c23498611..cb35aa8230d8 100644
--- a/media-libs/libheif/Manifest
+++ b/media-libs/libheif/Manifest
@@ -1,4 +1 @@
-DIST libheif-1.15.2.tar.gz 1749773 BLAKE2B 788ecf59c936bfae9544bedd5fa50fd74f04adf29f804994bc208d2a5339b13984baf78a508babd80fa0d48381b2cc0bfb1e1140de97437b8c0336378a64fcb6 SHA512 79f22dad084bbe965dae7b8f92fc119dbdde7a04577ca9c7bc28b1a022a06f0ae64d3fbd11e82d6907f0fd678a31d98275e508a51a6bd0a9e8675c93790f1996
-DIST libheif-1.17.6.tar.gz 1433302 BLAKE2B 937a1ddfd86c4d50a609e24d00c07e0d1924a5532e36293f83fd67a38f4c13186cb5c4837598000d6d3516ec1965fdc6709ef825c327fd5ce3ea2194008b6efd SHA512 47d93df4f584979cea26af74cd8543b13398356b5fd46b1b378f7738cee471e80b7e117f6ce307674a549182f5ce22a577c6e79a6e72fe166421efc4be04687a
-DIST libheif-1.18.1.tar.gz 1524386 BLAKE2B 07c01c273460618d56b9259c2930da34632fffdcc2338480277e678ab173126bc9d6882a33dc459ed7cdacd7e636ff8d13c406c76c046afc47166609e9595942 SHA512 0b37b834882af8368fc550e75245f4cf487c71a041833ba5e7887155e289e9c2058b41724524091347f297cfdec45b537796a97f4c43531aecf9f0a099753f41
DIST libheif-1.18.2.tar.gz 1525096 BLAKE2B 667a68f324f89b2274ea837ec8d40ada5450dce79f2b8d9e8ba365fe5f02d4222195109519380a6d38c4ebca929575e58c3a8e517aed27a2696d67db3e287556 SHA512 8fd47dbc8e31fdb6a972c852bc4e78440492ee3dd769e139f28ad489ccc23e6cf42a90cd23b16405fa30df3c7c43c78b2b65d5ca3ffb449bf06789b457ed3072
diff --git a/media-libs/libheif/libheif-1.15.2-r1.ebuild b/media-libs/libheif/libheif-1.15.2-r1.ebuild
deleted file mode 100644
index 491451aa033b..000000000000
--- a/media-libs/libheif/libheif-1.15.2-r1.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools xdg multilib-minimal
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/strukturag/libheif.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/strukturag/libheif/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-fi
-
-DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder"
-HOMEPAGE="https://github.com/strukturag/libheif"
-
-LICENSE="GPL-3"
-SLOT="0/1.12"
-IUSE="+aom gdk-pixbuf go rav1e test +threads x265"
-REQUIRED_USE="test? ( go )"
-RESTRICT="!test? ( test )"
-
-# Bug 865351: tests requires <dev-cpp/catch-3
-BDEPEND="
- test? (
- =dev-cpp/catch-2*
- dev-lang/go
- )
-"
-DEPEND="
- media-libs/dav1d:=[${MULTILIB_USEDEP}]
- media-libs/libde265:=[${MULTILIB_USEDEP}]
- media-libs/libpng:0=[${MULTILIB_USEDEP}]
- sys-libs/zlib:=[${MULTILIB_USEDEP}]
- media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}]
- aom? ( >=media-libs/libaom-2.0.0:=[${MULTILIB_USEDEP}] )
- gdk-pixbuf? ( x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] )
- go? ( dev-lang/go )
- rav1e? ( media-video/rav1e:= )
- x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
-
- sed -i -e 's:-Werror::' configure.ac || die
-
- if use test ; then
- # bug 865351
- rm tests/catch.hpp || die
- ln -s "${ESYSROOT}"/usr/include/catch2/catch.hpp tests/catch.hpp || die
- fi
-
- eautoreconf
-
- # prevent "stat heif-test.go: no such file or directory"
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- export GO111MODULE=auto
- local econf_args=(
- --enable-libde265
- --disable-static
- $(multilib_is_native_abi && use go || echo --disable-go)
- $(use_enable aom)
- $(use_enable gdk-pixbuf)
- $(use_enable rav1e)
- $(use_enable threads multithreading)
- $(use_enable test tests)
- $(use_enable x265)
- )
- ECONF_SOURCE="${S}" econf "${econf_args[@]}"
-}
-
-multilib_src_test() {
- default
- emake -C go test
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/media-libs/libheif/libheif-1.17.6.ebuild b/media-libs/libheif/libheif-1.17.6.ebuild
deleted file mode 100644
index 7e7142cf23cc..000000000000
--- a/media-libs/libheif/libheif-1.17.6.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake xdg multilib-minimal
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/strukturag/libheif.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/strukturag/libheif/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-fi
-
-DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder"
-HOMEPAGE="https://github.com/strukturag/libheif"
-
-LICENSE="GPL-3"
-SLOT="0/$(ver_cut 1-2)"
-IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads x265"
-REQUIRED_USE="test? ( go )"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-cpp/catch
- dev-lang/go
- )
-"
-DEPEND="
- media-libs/dav1d:=[${MULTILIB_USEDEP}]
- media-libs/libde265:=[${MULTILIB_USEDEP}]
- media-libs/libpng:0=[${MULTILIB_USEDEP}]
- media-libs/tiff:=[${MULTILIB_USEDEP}]
- sys-libs/zlib:=[${MULTILIB_USEDEP}]
- media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}]
- aom? ( >=media-libs/libaom-2.0.0:=[${MULTILIB_USEDEP}] )
- gdk-pixbuf? ( x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] )
- go? ( dev-lang/go )
- rav1e? ( media-video/rav1e:= )
- svt-av1? ( media-libs/svt-av1:=[${MULTILIB_USEDEP}] )
- x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )"
-RDEPEND="${DEPEND}"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/libheif/heif_version.h
-)
-
-src_prepare() {
- default
-
- if use test ; then
- # bug 865351
- rm tests/catch.hpp || die
- ln -s "${ESYSROOT}"/usr/include/catch2/catch.hpp tests/catch.hpp || die
- fi
-
- sed -e '/Werror/d' -i CMakeLists.txt || die # bug 936466
-
- cmake_src_prepare
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- export GO111MODULE=auto
- local mycmakeargs=(
- -DENABLE_PLUGIN_LOADING=true
- -DWITH_LIBDE265=true
- -DWITH_AOM_DECODER=$(usex aom)
- -DWITH_AOM_ENCODER=$(usex aom)
- -DWITH_GDK_PIXBUF=$(usex gdk-pixbuf)
- -DWITH_RAV1E="$(multilib_native_usex rav1e)"
- -DWITH_SvtEnc="$(usex svt-av1)"
- -DWITH_X265=$(usex x265)
- -DWITH_KVAZAAR=true
- -DWITH_JPEG_DECODER=true
- -DWITH_JPEG_ENCODER=true
- -DWITH_OpenJPEG_DECODER=true
- -DWITH_OpenJPEG_ENCODER=true
- )
- cmake_src_configure
-}
-
-multilib_src_compile() {
- default
- cmake_src_compile
-}
-
-multilib_src_test() {
- default
-}
-
-multilib_src_install() {
- cmake_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
-}
diff --git a/media-libs/libheif/libheif-1.18.1.ebuild b/media-libs/libheif/libheif-1.18.1.ebuild
deleted file mode 100644
index cab80b1c1b09..000000000000
--- a/media-libs/libheif/libheif-1.18.1.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake xdg multilib-minimal
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/strukturag/libheif.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/strukturag/libheif/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv x86"
-fi
-
-DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder"
-HOMEPAGE="https://github.com/strukturag/libheif"
-
-LICENSE="GPL-3"
-SLOT="0/$(ver_cut 1-2)"
-IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads x265"
-REQUIRED_USE="test? ( go )"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-cpp/catch
- dev-lang/go
- )
-"
-DEPEND="
- media-libs/dav1d:=[${MULTILIB_USEDEP}]
- media-libs/libde265:=[${MULTILIB_USEDEP}]
- media-libs/libpng:0=[${MULTILIB_USEDEP}]
- media-libs/tiff:=[${MULTILIB_USEDEP}]
- sys-libs/zlib:=[${MULTILIB_USEDEP}]
- media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}]
- aom? ( >=media-libs/libaom-2.0.0:=[${MULTILIB_USEDEP}] )
- gdk-pixbuf? ( x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] )
- go? ( dev-lang/go )
- rav1e? ( media-video/rav1e:= )
- svt-av1? ( media-libs/svt-av1:=[${MULTILIB_USEDEP}] )
- x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )
-"
-RDEPEND="${DEPEND}"
-
-# https://github.com/strukturag/libheif/issues/1249
-PATCHES=( "${FILESDIR}"/${P}-prepend_DESTDIR_when_generating_heif-convert_symlink.patch )
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/libheif/heif_version.h
-)
-
-src_prepare() {
- if use test ; then
- # bug 865351
- rm tests/catch.hpp || die
- ln -s "${ESYSROOT}"/usr/include/catch2/catch.hpp tests/catch.hpp || die
- fi
-
- sed -e '/Werror/d' -i CMakeLists.txt || die # bug 936466
-
- cmake_src_prepare
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- export GO111MODULE=auto
- local mycmakeargs=(
- -DENABLE_PLUGIN_LOADING=true
- -DWITH_LIBDE265=true
- -DWITH_AOM_DECODER=$(usex aom)
- -DWITH_AOM_ENCODER=$(usex aom)
- -DWITH_GDK_PIXBUF=$(usex gdk-pixbuf)
- -DWITH_RAV1E="$(multilib_native_usex rav1e)"
- -DWITH_SvtEnc="$(usex svt-av1)"
- -DWITH_X265=$(usex x265)
- -DWITH_KVAZAAR=true
- -DWITH_JPEG_DECODER=true
- -DWITH_JPEG_ENCODER=true
- -DWITH_OpenJPEG_DECODER=true
- -DWITH_OpenJPEG_ENCODER=true
- )
- cmake_src_configure
-}
-
-multilib_src_compile() {
- default
- cmake_src_compile
-}
-
-multilib_src_test() {
- default
-}
-
-multilib_src_install() {
- cmake_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
-}
diff --git a/media-libs/libheif/libheif-1.18.2.ebuild b/media-libs/libheif/libheif-1.18.2-r1.ebuild
index eb8d3c1b497c..f06fd824520b 100644
--- a/media-libs/libheif/libheif-1.18.2.ebuild
+++ b/media-libs/libheif/libheif-1.18.2-r1.ebuild
@@ -5,12 +5,12 @@ EAPI=8
inherit cmake xdg multilib-minimal
-if [[ ${PV} == *9999 ]] ; then
+if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/strukturag/libheif.git"
inherit git-r3
else
SRC_URI="https://github.com/strukturag/libheif/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
fi
DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder"
@@ -18,7 +18,7 @@ HOMEPAGE="https://github.com/strukturag/libheif"
LICENSE="GPL-3"
SLOT="0/$(ver_cut 1-2)"
-IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads x265"
+IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads +webp x265"
REQUIRED_USE="test? ( go )"
RESTRICT="!test? ( test )"
@@ -40,6 +40,7 @@ DEPEND="
go? ( dev-lang/go )
rav1e? ( media-video/rav1e:= )
svt-av1? ( media-libs/svt-av1:=[${MULTILIB_USEDEP}] )
+ webp? ( media-libs/libwebp:= )
x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )
"
RDEPEND="${DEPEND}"
@@ -72,6 +73,7 @@ multilib_src_configure() {
-DWITH_GDK_PIXBUF=$(usex gdk-pixbuf)
-DWITH_RAV1E="$(multilib_native_usex rav1e)"
-DWITH_SvtEnc="$(usex svt-av1)"
+ -DWITH_LIBSHARPYUV=$(usex webp)
-DWITH_X265=$(usex x265)
-DWITH_KVAZAAR=true
-DWITH_JPEG_DECODER=true
diff --git a/media-libs/libheif/libheif-9999.ebuild b/media-libs/libheif/libheif-9999.ebuild
index b5c9b73f88d0..e55830a930cc 100644
--- a/media-libs/libheif/libheif-9999.ebuild
+++ b/media-libs/libheif/libheif-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
inherit cmake xdg multilib-minimal
-if [[ ${PV} == *9999 ]] ; then
+if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/strukturag/libheif.git"
inherit git-r3
else
@@ -18,7 +18,7 @@ HOMEPAGE="https://github.com/strukturag/libheif"
LICENSE="GPL-3"
SLOT="0/$(ver_cut 1-2)"
-IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads x265"
+IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads +webp x265"
REQUIRED_USE="test? ( go )"
RESTRICT="!test? ( test )"
@@ -30,7 +30,7 @@ BDEPEND="
"
DEPEND="
media-libs/dav1d:=[${MULTILIB_USEDEP}]
- media-libs/libde265:=[${MULTILIB_USEDEP}]
+ media-libs/libde265[${MULTILIB_USEDEP}]
media-libs/libpng:0=[${MULTILIB_USEDEP}]
media-libs/tiff:=[${MULTILIB_USEDEP}]
sys-libs/zlib:=[${MULTILIB_USEDEP}]
@@ -40,13 +40,11 @@ DEPEND="
go? ( dev-lang/go )
rav1e? ( media-video/rav1e:= )
svt-av1? ( media-libs/svt-av1:=[${MULTILIB_USEDEP}] )
+ webp? ( media-libs/libwebp:= )
x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )
"
RDEPEND="${DEPEND}"
-# https://github.com/strukturag/libheif/issues/1249
-PATCHES=( "${FILESDIR}"/${P}-prepend_DESTDIR_when_generating_heif-convert_symlink.patch )
-
MULTILIB_WRAPPED_HEADERS=(
/usr/include/libheif/heif_version.h
)
@@ -73,6 +71,7 @@ multilib_src_configure() {
-DWITH_GDK_PIXBUF=$(usex gdk-pixbuf)
-DWITH_RAV1E="$(multilib_native_usex rav1e)"
-DWITH_SvtEnc="$(usex svt-av1)"
+ -DWITH_LIBSHARPYUV=$(usex webp)
-DWITH_X265=$(usex x265)
-DWITH_KVAZAAR=true
-DWITH_JPEG_DECODER=true
diff --git a/media-libs/libheif/metadata.xml b/media-libs/libheif/metadata.xml
index e1aa5ee8fec4..c7254be4a3ca 100644
--- a/media-libs/libheif/metadata.xml
+++ b/media-libs/libheif/metadata.xml
@@ -8,6 +8,7 @@
<flag name="go">Enable building <pkg>dev-lang/go</pkg> code/examples</flag>
<flag name="rav1e">Use <pkg>media-video/rav1e</pkg> for AVIF encoding</flag>
<flag name="svt-av1">Use <pkg>media-libs/svt-av1</pkg> for SVT-AV1 encoding</flag>
+ <flag name="webp">Enable high-quality YCbCr/RGB color space conversion algorithms</flag>
<flag name="x265">Use <pkg> media-libs/x265</pkg> for HEIF encoding</flag>
</use>
<upstream>
diff --git a/media-libs/libiptcdata/libiptcdata-1.0.5-r1.ebuild b/media-libs/libiptcdata/libiptcdata-1.0.5-r1.ebuild
index 6f51a051ba3e..d043c92b131f 100644
--- a/media-libs/libiptcdata/libiptcdata-1.0.5-r1.ebuild
+++ b/media-libs/libiptcdata/libiptcdata-1.0.5-r1.ebuild
@@ -41,6 +41,13 @@ src_prepare() {
eautoreconf
if use python; then
cd python || die
+ # Bug #936589: compiling from inside the 'python' sub-directory
+ # might set that as the top source directory, and not ${S}, but
+ # "${S}/libiptcdata" is required to find headers and libraries.
+ # Symbolic linking "../libiptcdata" is a possible fix. Another
+ # way is adding in python/setup.py, under iptcdata's Extension,
+ # "include_dirs=['..']" and "library_dirs=['../libiptcdata']".
+ ln -s "../${PN}" . || die
distutils-r1_src_prepare
fi
}
diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-3.0.3-r1.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-3.0.3-r1.ebuild
index 1819d640e226..0e1e637c14be 100644
--- a/media-libs/libjpeg-turbo/libjpeg-turbo-3.0.3-r1.ebuild
+++ b/media-libs/libjpeg-turbo/libjpeg-turbo-3.0.3-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="
LICENSE="BSD IJG ZLIB java? ( GPL-2-with-classpath-exception )"
SLOT="0/0.2"
if [[ $(ver_cut 3) -lt 90 ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos ~x64-solaris"
fi
IUSE="cpu_flags_arm_neon java static-libs"
diff --git a/media-libs/libjxl/Manifest b/media-libs/libjxl/Manifest
index 27130d4f33c7..3be9ce4ebe87 100644
--- a/media-libs/libjxl/Manifest
+++ b/media-libs/libjxl/Manifest
@@ -1,5 +1,3 @@
-DIST libjxl-0.10.3.tar.gz 1912351 BLAKE2B 4432ecf34ac03d9ce8fc814835c7ee31fcc1e516b95e347dcb201a6996e1ffaadbd2e78a6a235ee1c4ff5121af495b8bc621e6738e2d03a8eb1639fb397e5246 SHA512 5ece482f4c5f0312e87e020f921525622a6d3f1a3834f3cd8666638fc8d0fba8cd072ef58f7b153dc17ca19071ebae2fbad7b08e6d440c2669f4f1b35888a7d4
DIST libjxl-0.11.0.tar.gz 1873614 BLAKE2B 60f038c35f921e1d6cfaab62ec92c15fa8b0bb9369724bdbaf25fb72559670de6f2e86bf1fb7d37158e1d046d46d20610b574e2288f86d4bae52fdc2c51e3b76 SHA512 a3648a5f046cae36b3272c46525d002d490f781f44647d4d8318f0b773dd9b7902582ced5636af3489f1d6a44e3baf8ad2e5ab47d26869d16b01607d90e14053
-DIST libjxl-0.8.3.tar.gz 1612441 BLAKE2B d1c3b108c67d0a3a63ce50cdc7305b6853b182ec6c210d499e15120fbb858dada23997a4a0eb545f936e02230ed773506b066f24e19cce1f99aedaafd2bd7803 SHA512 f7fb4b2b0fd2459bec86918371369e80de59549c8dc24ff5c83546f564e54c81ea6a72720af151e3f9b64ef326f3ec8a5a6e0023b7fe2de14b056e501af579ef
-DIST libjxl-testdata-d6168ffb9e1cc24007e64b65dd84d822ad1fc759.tar.gz 67553075 BLAKE2B 779fee87386e617edd93bca7a523fa1ab223ae88114c3cc5484987a7c92cca2d0bb3d668fa3c8064b2a0255c17a06447c009f4fbf9ef379692ddfa37dee1be97 SHA512 a48d74a1ccff404eb7675225b59965e056dc3fc09930572785d83bae03fa1c38e105336dbf5ecfc3f0995e8b8bfb1097b451ae661f2933590b2b152192c8aa2f
+DIST libjxl-0.11.1.tar.gz 1876134 BLAKE2B e2a96464fdcdff483de92e0f3301870a62f934976e6d78fd1efe30fe96f30ce6c3459843385712df7914ad53aeff3de1b84ac1a4d22294e909ed559d7c6c9db9 SHA512 0cfd81d9d3b783f96bd04f244d73ffbc12186c89993d46064a2751bef0a446a5e86be05add5c10f60d4482d39333d9bf3f9a866d6eb84f8fa0d4e8b5828fd74c
DIST libjxl-testdata-ff8d743aaba05b3014f17e5475e576242fa979fc.tar.gz 69105882 BLAKE2B a80fce437b810e7b99b4c7bd106ec7eba01a1eeddc90e1b82cb8d75f3ca194c357ef8e7b7e1e9da65aa39dc2cd11d32cb6de8558188c5258c7446d58787603ff SHA512 0d237e706fd8d001a9cb245b685e8e39085416daedec019c348ccc64cf15a34cecdb0c245f94f57507f5934e487ee5157f51f59bb6a000f5899862c582336384
diff --git a/media-libs/libjxl/libjxl-0.10.3.ebuild b/media-libs/libjxl/libjxl-0.11.1.ebuild
index 28d788eb5bc6..3c160e17d651 100644
--- a/media-libs/libjxl/libjxl-0.10.3.ebuild
+++ b/media-libs/libjxl/libjxl-0.11.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~sparc ~x86"
IUSE="+gdk-pixbuf gif jpeg openexr +png test"
REQUIRED_USE="test? ( png )"
RESTRICT="!test? ( test )"
diff --git a/media-libs/libjxl/libjxl-0.8.3.ebuild b/media-libs/libjxl/libjxl-0.8.3.ebuild
deleted file mode 100644
index 98201c404d7e..000000000000
--- a/media-libs/libjxl/libjxl-0.8.3.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-# This changes frequently. Please check the testdata submodule when bumping.
-TESTDATA_COMMIT="d6168ffb9e1cc24007e64b65dd84d822ad1fc759"
-DESCRIPTION="JPEG XL image format reference implementation"
-HOMEPAGE="https://github.com/libjxl/libjxl"
-SRC_URI="https://github.com/libjxl/libjxl/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://github.com/libjxl/testdata/archive/${TESTDATA_COMMIT}.tar.gz
- -> ${PN}-testdata-${TESTDATA_COMMIT}.tar.gz )"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc64 ~riscv ~sparc x86"
-IUSE="gif jpeg openexr +png test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- app-arch/brotli:=[${MULTILIB_USEDEP}]
- >=dev-cpp/highway-1.0.0[${MULTILIB_USEDEP}]
- >=media-libs/lcms-2.13:2[${MULTILIB_USEDEP}]
- gif? ( media-libs/giflib:=[${MULTILIB_USEDEP}] )
- jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- openexr? ( media-libs/openexr:= )
- png? ( media-libs/libpng:=[${MULTILIB_USEDEP}] )
-"
-RDEPEND="
- ${DEPEND}
- >=x11-misc/shared-mime-info-2.2
-"
-DEPEND+="
- test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.8.2-backport-pr2596.patch"
- "${FILESDIR}/${PN}-0.8.2-backport-pr2617.patch"
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DJPEGXL_ENABLE_BENCHMARK=OFF
- -DJPEGXL_ENABLE_COVERAGE=OFF
- -DJPEGXL_ENABLE_FUZZERS=OFF
- -DJPEGXL_ENABLE_SJPEG=OFF
- -DJPEGXL_WARNINGS_AS_ERRORS=OFF
-
- -DCMAKE_DISABLE_FIND_PACKAGE_GIF=$(usex !gif)
- -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=$(usex !jpeg)
- -DCMAKE_DISABLE_FIND_PACKAGE_PNG=$(usex !png)
-
- -DJPEGXL_ENABLE_SKCMS=OFF
- -DJPEGXL_ENABLE_VIEWERS=OFF
- -DJPEGXL_ENABLE_PLUGINS=OFF
- -DJPEGXL_FORCE_SYSTEM_BROTLI=ON
- -DJPEGXL_FORCE_SYSTEM_GTEST=ON
- -DJPEGXL_FORCE_SYSTEM_HWY=ON
- -DJPEGXL_FORCE_SYSTEM_LCMS2=ON
- -DJPEGXL_ENABLE_DOXYGEN=OFF
- -DJPEGXL_ENABLE_MANPAGES=OFF
- -DJPEGXL_ENABLE_JNI=OFF
- -DJPEGXL_ENABLE_JPEGLI_LIBJPEG=OFF
- -DJPEGXL_ENABLE_TCMALLOC=OFF
- -DJPEGXL_ENABLE_EXAMPLES=OFF
- )
-
- if multilib_is_native_abi; then
- mycmakeargs+=(
- -DJPEGXL_ENABLE_TOOLS=ON
- -DJPEGXL_ENABLE_OPENEXR=$(usex openexr)
- -DBUILD_TESTING=$(usex test ON OFF)
- )
- use test &&
- mycmakeargs+=( -DJPEGXL_TEST_DATA_PATH="${WORKDIR}/testdata-${TESTDATA_COMMIT}" )
- else
- mycmakeargs+=(
- -DJPEGXL_ENABLE_TOOLS=OFF
- -DJPEGXL_ENABLE_OPENEXR=OFF
- -DBUILD_TESTING=OFF
- )
- fi
-
- cmake_src_configure
-}
-
-multilib_src_install() {
- cmake_src_install
-
- find "${ED}" -name '*.a' -delete || die
-}
diff --git a/media-libs/libldac/libldac-2.0.2.3-r1.ebuild b/media-libs/libldac/libldac-2.0.2.3-r2.ebuild
index 7659cebb7986..9354fb95f51f 100644
--- a/media-libs/libldac/libldac-2.0.2.3-r1.ebuild
+++ b/media-libs/libldac/libldac-2.0.2.3-r2.ebuild
@@ -1,20 +1,19 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake-multilib
DESCRIPTION="LDAC codec library from AOSP"
HOMEPAGE="https://android.googlesource.com/platform/external/libldac/"
SRC_URI="https://github.com/EHfive/ldacBT/releases/download/v${PV}/ldacBT-${PV}.tar.gz"
+S="${WORKDIR}/ldacBT"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-S="${WORKDIR}/ldacBT"
-
multilib_src_configure() {
local mycmakeargs=(
-DLDAC_SOFT_FLOAT=OFF
@@ -23,7 +22,3 @@ multilib_src_configure() {
cmake_src_configure
}
-
-src_install() {
- cmake-multilib_src_install
-}
diff --git a/media-libs/liblingoteach/liblingoteach-0.2.3-r1.ebuild b/media-libs/liblingoteach/liblingoteach-0.2.3-r2.ebuild
index 95253511e9be..db15a931adee 100644
--- a/media-libs/liblingoteach/liblingoteach-0.2.3-r1.ebuild
+++ b/media-libs/liblingoteach/liblingoteach-0.2.3-r2.ebuild
@@ -3,6 +3,8 @@
EAPI=8
+inherit autotools
+
DESCRIPTION="A library to support lingoteach-ui and for generic lesson development"
HOMEPAGE="http://lingoteach.sourceforge.net"
SRC_URI="https://downloads.sourceforge.net/lingoteach/${P}.tar.gz"
@@ -19,6 +21,13 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
+src_prepare() {
+ default
+
+ # bug #899826
+ eautoreconf
+}
+
src_configure() {
local myeconfargs=(
$(use_enable zlib compression)
diff --git a/media-libs/libmediainfo/Manifest b/media-libs/libmediainfo/Manifest
index 7b43bcb2980e..0fb8abcc5254 100644
--- a/media-libs/libmediainfo/Manifest
+++ b/media-libs/libmediainfo/Manifest
@@ -1,4 +1,2 @@
-DIST libmediainfo_22.09.tar.xz 1886180 BLAKE2B 3b9fa03ae1fafd06e494ad462ab30a19141c516b6fe61867da7cf339ee470cb56a6cdab57c4e8a498e79c7e3e4b4e5a19b4302f2db2ab0172fe26fefcc0a92f6 SHA512 4204f0ad73f5b826ec89df88607d7e491ecdad512c6bdae12f72b551827b1e4818aa2b88a46a46cb1f8fca46f3638fbe0243e252c685ca46b2d33a9acb00198c
-DIST libmediainfo_23.03.tar.xz 1925904 BLAKE2B bd8d716e9e85bdf2c91ddb6b5492e87e75e497469107aa3ca8a045f25bca1202432a2c8e9a01d179afc1d705ad4c35fcc41cda44cf2b9e57bffd0e8db4f2b7c0 SHA512 a13c4042851248ee4c76f2f52bbafe6e2152e99d60d8cccbff3c5aa01c63e27f97c3335cf88bdaa4869a1f1550ed9ce428af127569ee09c2fee344ed06e44942
-DIST libmediainfo_23.04.tar.xz 1932860 BLAKE2B b5de44301693b65537b27bd097b3efa5d8a89e05c9f9d1755b9c0c70589bd8549dcb9079da0c9adc5d465170306f4612e2027127c74d4ed162448230c5632814 SHA512 5c673e78564132c8c5e64a7d2901914968c1c9a9bc362a95b74330e26447378eac3197f106f2abeeeea635bd68bbe57f596827ef6ee7dd139646ee0e05a124cc
DIST libmediainfo_23.10.tar.xz 1977204 BLAKE2B e64481694c651b16bf72e18d5e68069f63efc481b465b6eb7d1d6a8c3e7de84aaabbc212fce8d734f7dd6d082a6ffcf1cdf040f410fd16554bf20db5460c3db4 SHA512 fc7f6b4ff811e9656bfd795325511d53def3e78016a005cfd3439af955a3a6c13ef06dd72dd0685441e2419ed7d141bf762394f8b3d8a9bd00ad2780dc4acbb6
+DIST libmediainfo_24.11.tar.xz 2096092 BLAKE2B 4080c34afa7e0a3ff2c9424e95ae4c461d2535f715bcc9812f30953be9b127d73100ba13835a5e77baa383bef0e089333a7ebcf891ce4e461d91d3388b1972e2 SHA512 3a7c889b09be4b17696288ac5a773684fed2dc608f9c1da346e790524b8bea372cedf5573e602dc48e10f61a17d314c8bd48764e5365dabe2c0222687e904a26
diff --git a/media-libs/libmediainfo/libmediainfo-22.09.ebuild b/media-libs/libmediainfo/libmediainfo-22.09.ebuild
deleted file mode 100644
index 068ce2e3ebc3..000000000000
--- a/media-libs/libmediainfo/libmediainfo-22.09.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# These must be bumped together:
-# - media-libs/libzen (if a release is available)
-# - media-libs/libmediainfo
-# - media-video/mediainfo
-
-MY_PN="MediaInfo"
-inherit autotools edos2unix flag-o-matic
-
-DESCRIPTION="MediaInfo libraries"
-HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfoLib"
-SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz"
-S="${WORKDIR}"/${MY_PN}Lib/Project/GNU/Library
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
-IUSE="curl doc mms"
-
-# Tests try to fetch data from online sources
-RESTRICT="test"
-
-RDEPEND="dev-libs/tinyxml2:=
- >=media-libs/libzen-0.4.37
- sys-libs/zlib
- curl? ( net-misc/curl )
- mms? ( >=media-libs/libmms-0.6.1 )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( app-text/doxygen )"
-
-src_prepare() {
- default
-
- sed -i 's:-O2::' configure.ac || die
-
- append-cppflags -DMEDIAINFO_LIBMMS_DESCRIBE_SUPPORT=0
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-shared \
- --disable-static \
- --disable-staticlibs \
- --with-libtinyxml2 \
- $(use_with curl libcurl) \
- $(use_with mms libmms)
-}
-
-src_compile() {
- default
-
- if use doc; then
- cd "${WORKDIR}"/${MY_PN}Lib/Source/Doc || die
- doxygen Doxyfile || die
- fi
-}
-
-src_install() {
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/${MY_PN}Lib/Doc/*.html )
- fi
-
- default
-
- edos2unix ${PN}.pc #414545
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc
-
- for x in ./ Archive Audio Duplicate Export Image Multiple Reader Tag Text Video; do
- insinto /usr/include/${MY_PN}/${x}
- doins "${WORKDIR}"/${MY_PN}Lib/Source/${MY_PN}/${x}/*.h
- done
-
- insinto /usr/include/${MY_PN}DLL
- doins "${WORKDIR}"/${MY_PN}Lib/Source/${MY_PN}DLL/*.h
-
- dodoc "${WORKDIR}"/${MY_PN}Lib/*.txt
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/media-libs/libmediainfo/libmediainfo-23.03.ebuild b/media-libs/libmediainfo/libmediainfo-23.03.ebuild
deleted file mode 100644
index 694dbfd1db8c..000000000000
--- a/media-libs/libmediainfo/libmediainfo-23.03.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# These must be bumped together:
-# - media-libs/libzen (if a release is available)
-# - media-libs/libmediainfo
-# - media-video/mediainfo
-
-MY_PN="MediaInfo"
-inherit autotools edos2unix flag-o-matic
-
-DESCRIPTION="MediaInfo libraries"
-HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfoLib"
-SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz"
-S="${WORKDIR}"/${MY_PN}Lib/Project/GNU/Library
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
-IUSE="curl doc mms"
-
-# Tests try to fetch data from online sources
-RESTRICT="test"
-
-# The libzen dep usually needs to be bumped for each release!
-RDEPEND="
- dev-libs/tinyxml2:=
- >=media-libs/libzen-0.4.41
- sys-libs/zlib
- curl? ( net-misc/curl )
- mms? ( >=media-libs/libmms-0.6.1 )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-text/doxygen )
-"
-
-src_prepare() {
- default
-
- sed -i 's:-O2::' configure.ac || die
-
- append-cppflags -DMEDIAINFO_LIBMMS_DESCRIBE_SUPPORT=0
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-shared \
- --disable-static \
- --disable-staticlibs \
- --with-libtinyxml2 \
- $(use_with curl libcurl) \
- $(use_with mms libmms)
-}
-
-src_compile() {
- default
-
- if use doc; then
- cd "${WORKDIR}"/${MY_PN}Lib/Source/Doc || die
- doxygen Doxyfile || die
- fi
-}
-
-src_install() {
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/${MY_PN}Lib/Doc/*.html )
- fi
-
- default
-
- edos2unix ${PN}.pc #414545
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc
-
- for x in ./ Archive Audio Duplicate Export Image Multiple Reader Tag Text Video; do
- insinto /usr/include/${MY_PN}/${x}
- doins "${WORKDIR}"/${MY_PN}Lib/Source/${MY_PN}/${x}/*.h
- done
-
- insinto /usr/include/${MY_PN}DLL
- doins "${WORKDIR}"/${MY_PN}Lib/Source/${MY_PN}DLL/*.h
-
- dodoc "${WORKDIR}"/${MY_PN}Lib/*.txt
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/media-libs/libmediainfo/libmediainfo-23.04.ebuild b/media-libs/libmediainfo/libmediainfo-24.11.ebuild
index 694dbfd1db8c..dbdd5e56357c 100644
--- a/media-libs/libmediainfo/libmediainfo-23.04.ebuild
+++ b/media-libs/libmediainfo/libmediainfo-24.11.ebuild
@@ -12,13 +12,13 @@ MY_PN="MediaInfo"
inherit autotools edos2unix flag-o-matic
DESCRIPTION="MediaInfo libraries"
-HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfoLib"
+HOMEPAGE="https://mediaarea.net/en/MediaInfo https://github.com/MediaArea/MediaInfoLib"
SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz"
S="${WORKDIR}"/${MY_PN}Lib/Project/GNU/Library
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
IUSE="curl doc mms"
# Tests try to fetch data from online sources
diff --git a/media-libs/libmtp/Manifest b/media-libs/libmtp/Manifest
index a0ac4c9eeeee..7c66ca04809a 100644
--- a/media-libs/libmtp/Manifest
+++ b/media-libs/libmtp/Manifest
@@ -1 +1,2 @@
DIST libmtp-1.1.21.tar.gz 862703 BLAKE2B c6067d0e9c7e2410b950715d1f02243c835afacfb3eef2f250361d4075d378b2754dceadf5120c9a646413ea826f42291c530590861420f56140458558dccc8e SHA512 510f01f75de37a07c8ce54957a8fb74724538a7cfbdf1a86c201fda68573ef23fa578ff7baf2d9df938703b5776ded4ab1057c617125f3539e594bb5a1f3146f
+DIST libmtp-1.1.22.tar.gz 900914 BLAKE2B 5032cbe430bc0ff870f1a88e5b484e6fbe59fd4d7fabd842a1e982b47cd5207e799d2dc1b410b232fc58e2b0c7ba5ca99af71eaaef3beb8849e34a51cf6c3003 SHA512 97094b29073681da0c714b6c4aea2e5f35253a8d06229e60c0af46727413470e9da6be422d873449fc4dec6f9b8efce6d3edc657b9251182cc0a709859e99baa
diff --git a/media-libs/libmtp/libmtp-1.1.22.ebuild b/media-libs/libmtp/libmtp-1.1.22.ebuild
new file mode 100644
index 000000000000..850e3a37b359
--- /dev/null
+++ b/media-libs/libmtp/libmtp-1.1.22.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit udev
+
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://git.code.sf.net/p/${PN}/code"
+ inherit autotools git-r3
+else
+ inherit libtool
+ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Implementation of Microsoft's Media Transfer Protocol (MTP)"
+HOMEPAGE="https://libmtp.sourceforge.net/"
+
+LICENSE="LGPL-2.1" # LGPL-2+ and LGPL-2.1+ ?
+SLOT="0/9" # Based on SONAME of libmtp shared library
+IUSE="+crypt doc examples static-libs"
+
+RDEPEND="
+ acct-group/plugdev
+ virtual/libiconv
+ virtual/libusb:1
+ crypt? ( dev-libs/libgcrypt:0= )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )"
+
+DOCS=( AUTHORS README TODO )
+
+src_prepare() {
+ default
+
+ # ChangeLog says "RETIRING THIS FILE ..pause.. GIT" (Last entry from start of 2011)
+ rm ChangeLog || die
+
+ if [[ ${PV} == 9999* ]]; then
+ if [[ -e /usr/share/gettext/config.rpath ]]; then
+ cp /usr/share/gettext/config.rpath . || die
+ else
+ touch config.rpath || die # This is from upstream autogen.sh
+ fi
+ eautoreconf
+ else
+ # Needed to fix -fuse-ld=* filtering (e.g. lld)
+ # Can drop this once copyright year in libtool file included
+ # says >= 2021 (was 2014 at time of writing).
+ elibtoolize
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable crypt mtpz)
+ $(use_enable doc doxygen)
+ $(use_enable static-libs static)
+ --with-udev="${EPREFIX}$(get_udevdir)"
+ --with-udev-group=plugdev
+ --with-udev-mode=0660
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -delete || die
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.{c,h,sh}
+ fi
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/media-libs/libopenmpt/Manifest b/media-libs/libopenmpt/Manifest
index e2bc8dbeb550..df752810671b 100644
--- a/media-libs/libopenmpt/Manifest
+++ b/media-libs/libopenmpt/Manifest
@@ -1,3 +1,3 @@
DIST libopenmpt-0.6.6+release.autotools.tar.gz 1554516 BLAKE2B 21e2fc4252431235608a52d3a321e26eae5d45f2328ff3e3604d84c537d72e07d72346c504901b000af04dfc52b1dd91c79f576be4331ea8685e534a174b61cd SHA512 b634c556f13dc51d1008f4216936a9b7cab25a6fb0d5218da0b692ec848de21905ed1981223ac9ecdebea9ce6c5376e91ff92e1655dd0be491fce0114e3230bf
-DIST libopenmpt-0.7.7+release.autotools.tar.gz 1660204 BLAKE2B 4b6ee75036c97ac2dce7e66776b36df09847db2c482cb22b052569385c06eb954d1cfae5cb00d415a6b18fd11663b2af43c94361dc9c0c84595c0d530e2bb355 SHA512 88d68bd32e696c01c070abd7156645c2969d389d6fb660f4f45d9e5e16ff9c25c3084d30cef208578080ee8a2da5c6045e5b1d93db7e2c456d42b91daaa02199
+DIST libopenmpt-0.7.10+release.autotools.tar.gz 1671289 BLAKE2B 62bd4a1bcd9685fdb92c270687b71609a23986941e301ad17cc37ca5f6b5b76fa1a8f425b2e68603bb29bfa34c3c1caea98faea1d95004f87943b2bed6b7c9a0 SHA512 e5f02b045bc1449791ec43a32216c4c4231edff88b3bda07283c9768118bce3a1f50c2535dbe38a21eb12016294e3b5823ef2f32f2f1e21d40fafe188bad783d
DIST libopenmpt-0.7.9+release.autotools.tar.gz 1669833 BLAKE2B 9ba6af6df794583748336cc977b20d7bdb3f8d75e32d32a420c5e137511352ea5ec41b31beb7b0df78376dcb0e3a8160a1c527b6f4575b61b945a9f93252fe84 SHA512 e0928d3dc439c3ed7296b97dc8b8e255db22bfd91fd3bc73d0bdca8262a5cb26dff0ba89e508a4443ebe34c34fc880b202a758a11fde31b75e1ebd5725819414
diff --git a/media-libs/libopenmpt/libopenmpt-0.7.7.ebuild b/media-libs/libopenmpt/libopenmpt-0.7.10.ebuild
index 03b0016c8652..03b0016c8652 100644
--- a/media-libs/libopenmpt/libopenmpt-0.7.7.ebuild
+++ b/media-libs/libopenmpt/libopenmpt-0.7.10.ebuild
diff --git a/media-libs/libopenraw/libopenraw-0.3.7.ebuild b/media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild
index cbe9f9abf592..4825810f5604 100644
--- a/media-libs/libopenraw/libopenraw-0.3.7.ebuild
+++ b/media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild
@@ -4,6 +4,9 @@
EAPI=8
CRATES=" "
+# for stdsimd
+RUST_MAX_VER=1.77.1
+
inherit autotools cargo gnome2-utils
DESCRIPTION="RAW image formats decoding library"
diff --git a/media-libs/libplacebo/files/libplacebo-7.349.0-glslang-1.3.296.patch b/media-libs/libplacebo/files/libplacebo-7.349.0-glslang-1.3.296.patch
new file mode 100644
index 000000000000..81af061634b5
--- /dev/null
+++ b/media-libs/libplacebo/files/libplacebo-7.349.0-glslang-1.3.296.patch
@@ -0,0 +1,16 @@
+Quick workaround for libSPIRV seemingly having became a stub in glslang-1.3.296
+
+https://bugs.gentoo.org/941968
+
+TODO?: rather than worry with the constant issues with glslang, should likely
+always force shaderc -- it's also what upstream prefers by default and so the
+glslang paths are hardly tested.
+--- a/src/glsl/meson.build
++++ b/src/glsl/meson.build
+@@ -39,4 +39,5 @@
+
+ glslang_deps += spirv
++ glslang_deps += cxx.find_library('glslang', required: required, static: static)
+
+ if static
+
diff --git a/media-libs/libplacebo/libplacebo-7.349.0.ebuild b/media-libs/libplacebo/libplacebo-7.349.0.ebuild
index 9d16436f4759..ee0a83ec2656 100644
--- a/media-libs/libplacebo/libplacebo-7.349.0.ebuild
+++ b/media-libs/libplacebo/libplacebo-7.349.0.ebuild
@@ -64,17 +64,18 @@ DEPEND="
xxhash? ( dev-libs/xxhash[${MULTILIB_USEDEP}] )
"
BDEPEND="
- $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/jinja2[${PYTHON_USEDEP}]')
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${PN}-5.229.1-llvm-libunwind.patch
"${FILESDIR}"/${PN}-5.229.1-python-executable.patch
+ "${FILESDIR}"/${PN}-7.349.0-glslang-1.3.296.patch
)
python_check_deps() {
- python_has_version "dev-python/jinja[${PYTHON_USEDEP}]"
+ python_has_version "dev-python/jinja2[${PYTHON_USEDEP}]"
}
src_unpack() {
diff --git a/media-libs/libplacebo/libplacebo-9999.ebuild b/media-libs/libplacebo/libplacebo-9999.ebuild
index 1831a83708b6..fd9eb972c5a4 100644
--- a/media-libs/libplacebo/libplacebo-9999.ebuild
+++ b/media-libs/libplacebo/libplacebo-9999.ebuild
@@ -64,17 +64,18 @@ DEPEND="
xxhash? ( dev-libs/xxhash[${MULTILIB_USEDEP}] )
"
BDEPEND="
- $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep 'dev-python/jinja2[${PYTHON_USEDEP}]')
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${PN}-5.229.1-llvm-libunwind.patch
"${FILESDIR}"/${PN}-5.229.1-python-executable.patch
+ "${FILESDIR}"/${PN}-7.349.0-glslang-1.3.296.patch
)
python_check_deps() {
- python_has_version "dev-python/jinja[${PYTHON_USEDEP}]"
+ python_has_version "dev-python/jinja2[${PYTHON_USEDEP}]"
}
src_unpack() {
diff --git a/media-libs/libpng/libpng-1.6.44.ebuild b/media-libs/libpng/libpng-1.6.44.ebuild
index b5669bf7bc5c..4ace5f1cac5a 100644
--- a/media-libs/libpng/libpng-1.6.44.ebuild
+++ b/media-libs/libpng/libpng-1.6.44.ebuild
@@ -19,7 +19,7 @@ SRC_URI="
LICENSE="libpng2"
SLOT="0/16"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="apng cpu_flags_x86_sse static-libs test"
RESTRICT="!test? ( test )"
diff --git a/media-libs/libpqstego/libpqstego-0.0.1-r1.ebuild b/media-libs/libpqstego/libpqstego-0.0.1-r2.ebuild
index d78e9c223119..6715cfedd36b 100644
--- a/media-libs/libpqstego/libpqstego-0.0.1-r1.ebuild
+++ b/media-libs/libpqstego/libpqstego-0.0.1-r2.ebuild
@@ -1,7 +1,9 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+inherit autotools
DESCRIPTION="Library for Perturbed Quantization Steganography"
HOMEPAGE="https://sourceforge.net/projects/pqstego/"
@@ -13,6 +15,11 @@ KEYWORDS="~amd64 ~x86"
DEPEND="sci-libs/gsl:=[cblas-external]"
+src_prepare() {
+ default
+ eautoreconf
+}
+
src_configure() {
econf \
--disable-static
diff --git a/media-libs/libprojectm/Manifest b/media-libs/libprojectm/Manifest
index 81b84180f368..afde8166d097 100644
--- a/media-libs/libprojectm/Manifest
+++ b/media-libs/libprojectm/Manifest
@@ -1,2 +1,3 @@
DIST libprojectm-3.1.12.tar.gz 52831726 BLAKE2B f9a9ecf8fc55b49e664a61a5c0ca3eef745b00390d5dd3b1549d6d68985c246834d35adb96ab8595e2bf78997c4688096c7931a6be54ea9d867bfdbe5a427832 SHA512 6d265280f3e3e952686ebf77afd8b083669e9ab81d2d9d122168d47747c367ff3b17ab682cc041e4ac9cee9607b7393b5dcb067deac95fcbb97d63a9656912a5
DIST libprojectm-4.1.1.tar.gz 47988154 BLAKE2B 47fd71d857f307ea09c87d36102662423d1df4d62f36f23373fcba36760312bd4e4d11408a3f4820b5caedd2e31bfd0dfc1e551c1bf27eb0ba33149f8ea13ebe SHA512 af38913e56d46ed15118b2dccd2701f9bf043bb3103f58ad2ebbfaffc60c3ed4e1b0eb3d8f922bdffb0001acfa5e3d23633a4903250fd00ede0dede1e6e1ba47
+DIST libprojectm-4.1.2.tar.gz 47980796 BLAKE2B 2932c96645916c715971c0fc2237791a1ca28295738e7433b9e856b303ab5c2beee48419c36ae65913537f2b65f2f7bd390875efa46e965faf9f4568b44c66e3 SHA512 4a8181dd5e41a9f8c0d8e3b105c5fd2d8638c7029a1054e75fbf6b7e5222740d179db37b7bd79147d4a34dce8360ce7b0eaa6c0c90af96bc8e8c557d8a496aff
diff --git a/media-libs/libprojectm/libprojectm-4.1.2.ebuild b/media-libs/libprojectm/libprojectm-4.1.2.ebuild
new file mode 100644
index 000000000000..506045464288
--- /dev/null
+++ b/media-libs/libprojectm/libprojectm-4.1.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+DESCRIPTION="A graphical music visualization plugin similar to milkdrop"
+HOMEPAGE="https://github.com/projectM-visualizer/projectm"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/projectM-visualizer/projectm.git"
+ inherit git-r3
+else
+ MY_PV="${PV/_/-}"
+ SRC_URI="https://github.com/projectM-visualizer/projectm/releases/download/v${MY_PV}/libprojectM-${MY_PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+ S="${WORKDIR}/libprojectM-${MY_PV}"
+fi
+
+LICENSE="LGPL-2"
+SLOT="4"
+IUSE="gles2-only static-libs"
+
+RDEPEND="
+ media-libs/glm
+ media-libs/libglvnd[X(+)]
+"
+
+DEPEND="${RDEPEND}"
+
+multilib_prc_prepare() {
+ cmake_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DENABLE_SDL_UI=OFF
+ -DENABLE_CXX_INTERFACE=OFF
+ -DENABLE_GLES=$(usex gles2-only)
+ -DENABLE_SYSTEM_GLM=ON
+ -DBUILD_SHARED_LIBS=$(usex static-libs OFF ON)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_install_all() {
+ default
+}
diff --git a/media-libs/libpulse/Manifest b/media-libs/libpulse/Manifest
index 776caac18a80..42cd89ab8f99 100644
--- a/media-libs/libpulse/Manifest
+++ b/media-libs/libpulse/Manifest
@@ -1,3 +1 @@
-DIST pulseaudio-16.1.tar.xz 1545596 BLAKE2B 535706abcea2cae39834b23c8bdc37f71b0e633de2d8e43ea4425da97a850b57c2f980c318681cbc86cf1e746200609dad41f8b96ecf4568f86d94aa6831c9a1 SHA512 33b0b4292f05e0882f3ec822cf5720414bb34c523d80fe287b9740d6be219787c562e8024c9b0d9e2ee010771ca72c7ae4f27df1bbef9c9cb6bb6a23cbcc412f
-DIST pulseaudio-16.99.1.tar.xz 1565020 BLAKE2B 02aad918e2b76dcf250bd55e03460206c7781cd1b43aa2efe46b25258626892e07f478b9966fa5027c9ae0a370145f5204dba05d2f5dfbfd3ba956225ccb3cad SHA512 1a3347e4c892ba0e321d39184f8bd52cfd16f59e66e52a753d6f706dfbf3f170f87b7ff27c0a6cdf3e462e6dd531ecde6829d48a374d0be2622688fb85abaac2
DIST pulseaudio-17.0.tar.xz 1566556 BLAKE2B 781ece3d507916aa681d3b0132689730a621b4d92e45f86570e4d2fdebc4c0025ebe7f7a05046545f9b26caca513e8975f12498fa314524bc67eacaea72842fa SHA512 be0aec46204d9c9188a796fbe41b4cf6f0f5e6b16fa08ce359b8f0f51253f0ade364b89448bbf5faa2af7e59deb6c72194734c3233944250dcfd4f31968a5e97
diff --git a/media-libs/libpulse/files/pulseaudio-16.1-memfd-cleanup.patch b/media-libs/libpulse/files/pulseaudio-16.1-memfd-cleanup.patch
deleted file mode 100644
index b24ab8943899..000000000000
--- a/media-libs/libpulse/files/pulseaudio-16.1-memfd-cleanup.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit e650c2b33e4fefc0589751b3958bd3b5d3b423ac
-Author: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
-Date: Thu Nov 3 09:22:48 2022 +1100
-
- Ensure fds are closed when exec functions are used.
-
- When usng shm_open, FD_CLOEXEC is set explicitly.
-
- However when using memfd_create, we must pass the MFD_CLOEXEC flag
- to ensure the same fcntl value (FD_CLOEXEC) is set.
-
- Fixes #1394
-
- Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/751>
-
-diff --git a/src/pulsecore/shm.c b/src/pulsecore/shm.c
-index e464f6bce..ff54dcb59 100644
---- a/src/pulsecore/shm.c
-+++ b/src/pulsecore/shm.c
-@@ -164,7 +164,7 @@ static int sharedmem_create(pa_shm *m, pa_mem_type_t type, size_t size, mode_t m
- #endif
- #ifdef HAVE_MEMFD
- case PA_MEM_TYPE_SHARED_MEMFD:
-- fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING);
-+ fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING|MFD_CLOEXEC);
- break;
- #endif
- default:
diff --git a/media-libs/libpulse/files/pulseaudio-16.1-proplist-util-without-gdkx.patch b/media-libs/libpulse/files/pulseaudio-16.1-proplist-util-without-gdkx.patch
deleted file mode 100644
index a5e025ccb4dc..000000000000
--- a/media-libs/libpulse/files/pulseaudio-16.1-proplist-util-without-gdkx.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-commit 89ce6321bd19452097392ddfb416bc51a280b63e
-Author: Mart Raudsepp <leio@gentoo.org>
-Date: Wed Nov 30 09:25:22 2022 +0200
-
- proplist-util: Don't assume gdkx is there as gtk could be built without it
-
- Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/757>
-
-diff --git a/src/pulsecore/proplist-util.c b/src/pulsecore/proplist-util.c
-index 16ea9e006..1330ef5ef 100644
---- a/src/pulsecore/proplist-util.c
-+++ b/src/pulsecore/proplist-util.c
-@@ -51,10 +51,12 @@ static const gchar* _g_get_application_name(void) PA_GCC_WEAKREF(g_get_applicati
- #if defined(HAVE_GTK) && defined(PA_GCC_WEAKREF)
- #pragma GCC diagnostic ignored "-Wstrict-prototypes"
- #include <gtk/gtk.h>
--#include <gdk/gdkx.h>
- static const gchar* _gtk_window_get_default_icon_name(void) PA_GCC_WEAKREF(gtk_window_get_default_icon_name);
-+#ifdef GDK_WINDOWING_X11
-+#include <gdk/gdkx.h>
- static Display *_gdk_display PA_GCC_WEAKREF(gdk_display);
- #endif
-+#endif
-
- #include "proplist-util.h"
-
-@@ -89,6 +91,7 @@ static void add_gtk_properties(pa_proplist *p) {
- pa_proplist_sets(p, PA_PROP_APPLICATION_ICON_NAME, t);
- }
-
-+#ifdef GDK_WINDOWING_X11
- if (!pa_proplist_contains(p, PA_PROP_WINDOW_X11_DISPLAY))
- if (&_gdk_display && _gdk_display) {
- const char *t;
-@@ -99,6 +102,7 @@ static void add_gtk_properties(pa_proplist *p) {
- pa_proplist_sets(p, PA_PROP_WINDOW_X11_DISPLAY, t);
- }
-
-+#endif
- #endif
- }
-
diff --git a/media-libs/libpulse/files/pulseaudio-16.99.1-memfd-compat.patch b/media-libs/libpulse/files/pulseaudio-16.99.1-memfd-compat.patch
deleted file mode 100644
index 77af0ac915f6..000000000000
--- a/media-libs/libpulse/files/pulseaudio-16.99.1-memfd-compat.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit 421cf15486eea1b52f10e2b0be305018fee8c285
-Author: Rudi Heitbaum <rudi@heitbaum.com>
-Date: Sun Aug 13 09:37:32 2023 +0000
-
- shm: allow for older versions of Linux without MFD_NOEXEC_SEAL
-
- Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/794>
-
-diff --git a/src/pulsecore/shm.c b/src/pulsecore/shm.c
-index 4247b0921..694f971b4 100644
---- a/src/pulsecore/shm.c
-+++ b/src/pulsecore/shm.c
-@@ -164,7 +164,11 @@ static int sharedmem_create(pa_shm *m, pa_mem_type_t type, size_t size, mode_t m
- #endif
- #ifdef HAVE_MEMFD
- case PA_MEM_TYPE_SHARED_MEMFD:
-+ /* For linux >= 6.3 create fd with MFD_NOEXEC_SEAL flag */
- fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING|MFD_CLOEXEC|MFD_NOEXEC_SEAL);
-+ /* Retry creating fd without MFD_NOEXEC_SEAL to support linux < 6.3 */
-+ if (fd < 0)
-+ fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING|MFD_CLOEXEC);
- break;
- #endif
- default:
diff --git a/media-libs/libpulse/libpulse-16.1-r2.ebuild b/media-libs/libpulse/libpulse-16.1-r2.ebuild
deleted file mode 100644
index 1a552c4be5cb..000000000000
--- a/media-libs/libpulse/libpulse-16.1-r2.ebuild
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-MY_PV="${PV/_pre*}"
-MY_P="pulseaudio-${MY_PV}"
-inherit bash-completion-r1 gnome2-utils meson-multilib optfeature systemd udev
-
-DESCRIPTION="Libraries for PulseAudio clients"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/"
-
-if [[ ${PV} = 9999 ]]; then
- inherit git-r3
- EGIT_BRANCH="master"
- EGIT_REPO_URI="https://gitlab.freedesktop.org/pulseaudio/pulseaudio"
-else
- SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-fi
-
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-2.1+"
-
-SLOT="0"
-IUSE="+asyncns dbus doc +glib gtk selinux systemd test valgrind X"
-RESTRICT="!test? ( test )"
-
-# NOTE: libpcre needed in some cases, bug #472228
-# TODO: libatomic_ops is only needed on some architectures and conditions, and then at runtime too
-RDEPEND="
- dev-libs/libatomic_ops
- >=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}]
- asyncns? ( >=net-libs/libasyncns-0.1[${MULTILIB_USEDEP}] )
- dbus? ( >=sys-apps/dbus-1.4.12[${MULTILIB_USEDEP}] )
- elibc_mingw? ( dev-libs/libpcre:3 )
- glib? ( >=dev-libs/glib-2.28.0:2[${MULTILIB_USEDEP}] )
- gtk? ( x11-libs/gtk+:3 )
- selinux? ( sec-policy/selinux-pulseaudio )
- systemd? ( sys-apps/systemd:= )
- valgrind? ( dev-debug/valgrind )
- X? (
- x11-libs/libX11[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
- )
- !<media-sound/pulseaudio-15.0-r100
-"
-
-DEPEND="${RDEPEND}
- test? ( >=dev-libs/check-0.9.10 )
- X? ( x11-base/xorg-proto )
-"
-
-# pulseaudio ships a bundled xmltoman, which uses XML::Parser
-BDEPEND="
- dev-lang/perl
- dev-perl/XML-Parser
- sys-devel/gettext
- sys-devel/m4
- virtual/libiconv
- virtual/libintl
- virtual/pkgconfig
- doc? ( app-text/doxygen )
-"
-PDEPEND="
- || (
- media-video/pipewire[sound-server(+)]
- media-sound/pulseaudio-daemon
- media-sound/pulseaudio[daemon(+)]
- )
-"
-
-DOCS=( NEWS README )
-
-# patches merged upstream, to be removed with 16.2 or later bump
-PATCHES=(
- "${FILESDIR}"/pulseaudio-16.1-memfd-cleanup.patch
- "${FILESDIR}"/pulseaudio-16.1-proplist-util-without-gdkx.patch
-)
-
-src_prepare() {
- default
-
- # disable autospawn by client
- sed -i -e 's:; autospawn = yes:autospawn = no:g' src/pulse/client.conf.in || die
-
- gnome2_environment_reset
-}
-
-multilib_src_configure() {
- local emesonargs=(
- --localstatedir="${EPREFIX}"/var
-
- -Ddaemon=false
- -Dclient=true
- $(meson_native_use_bool doc doxygen)
- -Dgcov=false
- # tests involve random modules, so just do them for the native # TODO: tests should run always
- $(meson_native_use_bool test tests)
- -Ddatabase=simple # Not used for non-daemon, simple database avoids external dep checks
- -Dstream-restore-clear-old-devices=true
- -Drunning-from-build-tree=false
-
- # Paths
- -Dmodlibexecdir="${EPREFIX}/usr/$(get_libdir)/pulseaudio/modules" # Was $(get_libdir)/${P}
- -Dsystemduserunitdir=$(systemd_get_userunitdir)
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dbashcompletiondir="$(get_bashcompdir)" # Alternatively DEPEND on app-shells/bash-completion for pkg-config to provide the value
-
- # Optional features
- -Dalsa=disabled
- $(meson_feature asyncns)
- -Davahi=disabled
- -Dbluez5=disabled
- -Dbluez5-gstreamer=disabled
- -Dbluez5-native-headset=false
- -Dbluez5-ofono-headset=false
- $(meson_feature dbus)
- -Delogind=disabled
- -Dfftw=disabled
- $(meson_feature glib) # WARNING: toggling this likely changes ABI
- -Dgsettings=disabled
- -Dgstreamer=disabled
- $(meson_native_use_feature gtk)
- -Dhal-compat=false
- -Dipv6=true
- -Djack=disabled
- -Dlirc=disabled
- -Dopenssl=disabled
- -Dorc=disabled
- -Doss-output=disabled
- -Dsamplerate=disabled # Matches upstream
- -Dsoxr=disabled
- -Dspeex=disabled
- $(meson_native_use_feature systemd)
- -Dtcpwrap=disabled
- -Dudev=disabled
- $(meson_native_use_feature valgrind)
- $(meson_feature X x11)
-
- # Echo cancellation
- -Dadrian-aec=false
- -Dwebrtc-aec=disabled
- )
-
- if multilib_is_native_abi; then
- # Make padsp work for non-native ABI, supposedly only possible with glibc;
- # this is used by /usr/bin/padsp that comes from native build, thus we need
- # this argument for native build
- if use elibc_glibc; then
- emesonargs+=( -Dpulsedsp-location="${EPREFIX}"'/usr/\\$$LIB/pulseaudio' )
- fi
- else
- emesonargs+=( -Dman=false )
- if ! use elibc_glibc; then
- # Non-glibc multilib is probably non-existent but just in case:
- ewarn "padsp wrapper for OSS emulation will only work with native ABI applications!"
- fi
- fi
-
- meson_src_configure
-}
-
-multilib_src_compile() {
- meson_src_compile
-
- if multilib_is_native_abi; then
- if use doc; then
- einfo "Generating documentation ..."
- meson_src_compile doxygen
- fi
- fi
-}
-
-multilib_src_install() {
- # The files referenced in the DOCS array do not exist in the multilib source directory,
- # therefore clear the variable when calling the function that will access it.
- DOCS= meson_src_install
-
- # Upstream installs 'pactl' if client is built, with all symlinks except for
- # 'pulseaudio', 'pacmd' and 'pasuspender' which are installed if server is built.
- # This trips QA warning, workaround:
- # - install missing aliases in media-libs/libpulse (client build)
- # - remove corresponding symlinks in media-sound/pulseaudio-daemonclient (server build)
- bashcomp_alias pactl pulseaudio
- bashcomp_alias pactl pacmd
- bashcomp_alias pactl pasuspender
-
- if multilib_is_native_abi; then
- if use doc; then
- einfo "Installing documentation ..."
- docinto html
- dodoc -r doxygen/html/.
- fi
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die
-}
-
-pkg_postinst() {
- optfeature_header "PulseAudio can be enhanced by installing the following:"
- use dbus && optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-}
diff --git a/media-libs/libpulse/libpulse-16.99.1.ebuild b/media-libs/libpulse/libpulse-16.99.1.ebuild
deleted file mode 100644
index 833d72d57d8b..000000000000
--- a/media-libs/libpulse/libpulse-16.99.1.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-MY_PV="${PV/_pre*}"
-MY_P="pulseaudio-${MY_PV}"
-inherit bash-completion-r1 flag-o-matic gnome2-utils meson-multilib optfeature systemd toolchain-funcs udev
-
-DESCRIPTION="Libraries for PulseAudio clients"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/"
-
-if [[ ${PV} = 9999 ]]; then
- inherit git-r3
- EGIT_BRANCH="master"
- EGIT_REPO_URI="https://gitlab.freedesktop.org/pulseaudio/pulseaudio"
-else
- SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-fi
-
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-2.1+"
-
-SLOT="0"
-IUSE="+asyncns dbus doc +glib gtk selinux systemd test valgrind X"
-RESTRICT="!test? ( test )"
-
-# NOTE: libpcre needed in some cases, bug #472228
-# TODO: libatomic_ops is only needed on some architectures and conditions, and then at runtime too
-RDEPEND="
- dev-libs/libatomic_ops
- >=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}]
- asyncns? ( >=net-libs/libasyncns-0.1[${MULTILIB_USEDEP}] )
- dbus? ( >=sys-apps/dbus-1.4.12[${MULTILIB_USEDEP}] )
- elibc_mingw? ( dev-libs/libpcre:3 )
- glib? ( >=dev-libs/glib-2.28.0:2[${MULTILIB_USEDEP}] )
- gtk? ( x11-libs/gtk+:3 )
- selinux? ( sec-policy/selinux-pulseaudio )
- systemd? ( sys-apps/systemd:= )
- valgrind? ( dev-debug/valgrind )
- X? (
- x11-libs/libX11[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
- )
- !<media-sound/pulseaudio-16.1
- !<media-sound/pulseaudio-daemon-16.99.1
-"
-
-DEPEND="${RDEPEND}
- test? ( >=dev-libs/check-0.9.10 )
- X? ( x11-base/xorg-proto )
-"
-
-# pulseaudio ships a bundled xmltoman, which uses XML::Parser
-BDEPEND="
- dev-lang/perl
- dev-perl/XML-Parser
- sys-devel/gettext
- sys-devel/m4
- virtual/libiconv
- virtual/libintl
- virtual/pkgconfig
- doc? ( app-text/doxygen )
-"
-PDEPEND="
- || (
- media-video/pipewire[sound-server(+)]
- media-sound/pulseaudio-daemon
- media-sound/pulseaudio[daemon(+)]
- )
-"
-
-DOCS=( NEWS README )
-
-# patches merged upstream, to be removed with 16.99.2 or later bump
-PATCHES=(
- "${FILESDIR}"/pulseaudio-16.99.1-memfd-compat.patch
-)
-
-src_prepare() {
- default
-
- # disable autospawn by client
- sed -i -e 's:; autospawn = yes:autospawn = no:g' src/pulse/client.conf.in || die
-
- gnome2_environment_reset
-}
-
-multilib_src_configure() {
- # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs
- # https://github.com/gentoo/gentoo/pull/28355
- # mold needs this too but right now tc-ld-is-mold is also not available
- if tc-ld-is-lld; then
- append-ldflags -Wl,--undefined-version
- fi
-
- local emesonargs=(
- --localstatedir="${EPREFIX}"/var
-
- -Ddaemon=false
- -Dclient=true
- $(meson_native_use_bool doc doxygen)
- -Dgcov=false
- # tests involve random modules, so just do them for the native # TODO: tests should run always
- $(meson_native_use_bool test tests)
- -Ddatabase=simple # Not used for non-daemon, simple database avoids external dep checks
- -Dstream-restore-clear-old-devices=true
- -Drunning-from-build-tree=false
-
- # Paths
- -Dmodlibexecdir="${EPREFIX}/usr/$(get_libdir)/pulseaudio/modules" # Was $(get_libdir)/${P}
- -Dsystemduserunitdir=$(systemd_get_userunitdir)
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dbashcompletiondir="$(get_bashcompdir)" # Alternatively DEPEND on app-shells/bash-completion for pkg-config to provide the value
-
- # Optional features
- -Dalsa=disabled
- $(meson_feature asyncns)
- -Davahi=disabled
- -Dbluez5=disabled
- -Dbluez5-gstreamer=disabled
- -Dbluez5-native-headset=false
- -Dbluez5-ofono-headset=false
- $(meson_feature dbus)
- -Delogind=disabled
- -Dfftw=disabled
- $(meson_feature glib) # WARNING: toggling this likely changes ABI
- -Dgsettings=disabled
- -Dgstreamer=disabled
- $(meson_native_use_feature gtk)
- -Dhal-compat=false
- -Dipv6=true
- -Djack=disabled
- -Dlirc=disabled
- -Dopenssl=disabled
- -Dorc=disabled
- -Doss-output=disabled
- -Dsamplerate=disabled # Matches upstream
- -Dsoxr=disabled
- -Dspeex=disabled
- $(meson_native_use_feature systemd)
- -Dtcpwrap=disabled
- -Dudev=disabled
- $(meson_native_use_feature valgrind)
- $(meson_feature X x11)
-
- # Echo cancellation
- -Dadrian-aec=false
- -Dwebrtc-aec=disabled
- )
-
- if multilib_is_native_abi; then
- # Make padsp work for non-native ABI, supposedly only possible with glibc;
- # this is used by /usr/bin/padsp that comes from native build, thus we need
- # this argument for native build
- if use elibc_glibc; then
- emesonargs+=( -Dpulsedsp-location="${EPREFIX}"'/usr/\\$$LIB/pulseaudio' )
- fi
- else
- emesonargs+=( -Dman=false )
- if ! use elibc_glibc; then
- # Non-glibc multilib is probably non-existent but just in case:
- ewarn "padsp wrapper for OSS emulation will only work with native ABI applications!"
- fi
- fi
-
- meson_src_configure
-}
-
-multilib_src_compile() {
- meson_src_compile
-
- if multilib_is_native_abi; then
- if use doc; then
- einfo "Generating documentation ..."
- meson_src_compile doxygen
- fi
- fi
-}
-
-multilib_src_install() {
- # The files referenced in the DOCS array do not exist in the multilib source directory,
- # therefore clear the variable when calling the function that will access it.
- DOCS= meson_src_install
-
- # Upstream installs 'pactl' if client is built, with all symlinks except for
- # 'pulseaudio', 'pacmd' and 'pasuspender' which are installed if server is built.
- # This trips QA warning, workaround:
- # - install missing aliases in media-libs/libpulse (client build)
- # - remove corresponding symlinks in media-sound/pulseaudio-daemonclient (server build)
- bashcomp_alias pactl pulseaudio
- bashcomp_alias pactl pacmd
- bashcomp_alias pactl pasuspender
-
- if multilib_is_native_abi; then
- if use doc; then
- einfo "Installing documentation ..."
- docinto html
- dodoc -r doxygen/html/.
- fi
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die
-}
-
-pkg_postinst() {
- optfeature_header "PulseAudio can be enhanced by installing the following:"
- use dbus && optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-}
diff --git a/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild b/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild
index c997e6f48020..3535c4c787b8 100644
--- a/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild
+++ b/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="aac alsa doc dv encode ffmpeg gtk jpeg lame cpu_flags_x86_mmx opengl png static-libs vorbis X x264"
RDEPEND="
diff --git a/media-libs/libsdl/Manifest b/media-libs/libsdl/Manifest
index e60a4ed8bb39..3bc75be0f4a0 100644
--- a/media-libs/libsdl/Manifest
+++ b/media-libs/libsdl/Manifest
@@ -1,4 +1 @@
-DIST SDL-1.2.15_p20221201.tar.gz 4002787 BLAKE2B 87b729cb16cfb36efa2b66166ef21d4c5c8bc99f8c8b4683885f04699122945a60512c5875d0c8425ddfe33b2eb901d11f27afbd9e3656cde3f30de5a5f1537c SHA512 5e70977cf5beaffebb28ae84f778e08d3cf56b2badda125ec1f08ac26c6b4e60a148d9ca9b2d7efee8a5fbc0b1a343d1d27a05be1c08e5d9251da67aea209659
-DIST libsdl-1.2.64.tar.gz 459020 BLAKE2B 72e13e14c134116edc73a9127a854700f0c878b3a56ae0ed5c70a3e227fcd46411ebb25bdf0ebfe76c1c648ac6052161e3eae11ebdee8ffbddb5cf70e9b01da3 SHA512 cd551666d2e6a2de273ee29b9a68a5472933a5f5a6340616510051e78f0a96af68a2f13f4473431d6b58ad89a379d672b3a3e82bc86ded01943b6bc3ca7947d2
-DIST libsdl-1.2.64_p20230726.tar.gz 459365 BLAKE2B d669e46cb6f1f2ac4869d438d0a045019f8b5132c9e4a34b0945a83514fadb4e7c52954657ff3d9a149c3e052b88c77b740920171654add31d65806a361debfa SHA512 4cb41fb455ea7bfe7768f88715064fa5e092e6e24cdc7e0786f91693f21425a53fb3ba355100db5984d5ca969916f22738b7abd5cb58b87b43a154098979ee2d
DIST libsdl-1.2.68.tar.gz 460180 BLAKE2B c821772d5c43a9406e06f89d7f0248e051b2cfb0aff33e025dc645d6ba17277ca6db44a586e65fda48155dfb6c48a9d0459d59319ea6750562caa96194ff232b SHA512 d0e71e75f312402bf075f6553d9fd6493a3db9dd42719bb753287a35e6c40ee37c6092b157ff2384f3055400a3113645595d1269590cd50ea1e0c8f247240858
diff --git a/media-libs/libsdl/files/libsdl-1.2.15-gamma.patch b/media-libs/libsdl/files/libsdl-1.2.15-gamma.patch
deleted file mode 100644
index a0582da9cecd..000000000000
--- a/media-libs/libsdl/files/libsdl-1.2.15-gamma.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 4b56fa058a45b7c804d1a5fcaf7a70db0bd0581c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <petr.pisar@atlas.cz>
-Date: Tue, 1 Jan 2013 21:25:15 +0100
-Subject: [PATCH] x11: Bypass SetGammaRamp when changing gamma
-
-Recent Xorg has broken dynamic colors setting, so calling SDL_SetGamme()
-does not have any effect here. Recent means xorg-server >= 1.7, since 2010.
-See <https://bugs.freedesktop.org/show_bug.cgi?id=27222>.
----
- src/video/SDL_gamma.c | 15 ++-------------
- 1 files changed, 2 insertions(+), 13 deletions(-)
-
---- a/src/video/SDL_gamma.c
-+++ b/src/video/SDL_gamma.c
-@@ -92,22 +92,11 @@ static void CalculateGammaFromRamp(float *gamma, Uint16 *ramp)
-
- int SDL_SetGamma(float red, float green, float blue)
- {
-- int succeeded;
-+ int succeeded = -1;
- SDL_VideoDevice *video = current_video;
- SDL_VideoDevice *this = current_video;
-
-- succeeded = -1;
-- /* Prefer using SetGammaRamp(), as it's more flexible */
-- {
-- Uint16 ramp[3][256];
--
-- CalculateGammaRamp(red, ramp[0]);
-- CalculateGammaRamp(green, ramp[1]);
-- CalculateGammaRamp(blue, ramp[2]);
-- succeeded = SDL_SetGammaRamp(ramp[0], ramp[1], ramp[2]);
-- }
-- if ( (succeeded < 0) && video->SetGamma ) {
-- SDL_ClearError();
-+ if ( video->SetGamma ) {
- succeeded = video->SetGamma(this, red, green, blue);
- }
- return succeeded;
---
-1.7.8.6
-
diff --git a/media-libs/libsdl/files/libsdl-1.2.15-sdl-config.patch b/media-libs/libsdl/files/libsdl-1.2.15-sdl-config.patch
deleted file mode 100644
index 457c934b6c40..000000000000
--- a/media-libs/libsdl/files/libsdl-1.2.15-sdl-config.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Only output -L -rpath cruft if using a non-standard install location.
-
-Makes ABI / cross-compiling easier on the soul.
-
---- a/sdl-config.in
-+++ b/sdl-config.in
-@@ -44,7 +44,12 @@
- echo -I@includedir@/SDL @SDL_CFLAGS@
- ;;
- @ENABLE_SHARED_TRUE@ --libs)
--@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
-+@ENABLE_SHARED_TRUE@ if test x"${prefix}" != x"/usr" ; then
-+@ENABLE_SHARED_TRUE@ libdirs="-L@libdir@"
-+@ENABLE_SHARED_TRUE@ else
-+@ENABLE_SHARED_TRUE@ libdirs=""
-+@ENABLE_SHARED_TRUE@ fi
-+@ENABLE_SHARED_TRUE@ echo $libdirs @SDL_RLD_FLAGS@ @SDL_LIBS@
- @ENABLE_SHARED_TRUE@ ;;
- @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs)
- @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs)
diff --git a/media-libs/libsdl/libsdl-1.2.15_p20221201.ebuild b/media-libs/libsdl/libsdl-1.2.15_p20221201.ebuild
deleted file mode 100644
index 1bc6f7deb667..000000000000
--- a/media-libs/libsdl/libsdl-1.2.15_p20221201.ebuild
+++ /dev/null
@@ -1,166 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-MY_COMMIT="ca3acd25348edc9b6e984fc1712fd4d365931dc1"
-DESCRIPTION="Simple Direct Media Layer"
-HOMEPAGE="https://libsdl.org/"
-SRC_URI="https://github.com/libsdl-org/SDL-1.2/archive/${MY_COMMIT}.tar.gz -> SDL-${PV}.tar.gz"
-S="${WORKDIR}"/SDL-1.2-${MY_COMMIT}
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-# WARNING:
-# If you turn on the custom-cflags use flag in USE and something breaks,
-# you pick up the pieces. Be prepared for bug reports to be marked INVALID.
-IUSE="aalib alsa custom-cflags dga fbcon +joystick libcaca nas opengl oss pulseaudio +sound static-libs tslib +video X xinerama xv"
-
-RDEPEND="
- aalib? ( >=media-libs/aalib-1.4_rc5-r6[${MULTILIB_USEDEP}] )
- alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
- libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
- nas? (
- >=media-libs/nas-1.9.4[${MULTILIB_USEDEP}]
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}]
- )
- opengl? (
- >=virtual/glu-9.0-r1[${MULTILIB_USEDEP}]
- >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]
- )
- tslib? ( >=x11-libs/tslib-1.0-r3[${MULTILIB_USEDEP}] )
- pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
- sound? ( >=media-libs/audiofile-0.3.5[${MULTILIB_USEDEP}] )
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXrandr-1.4.2[${MULTILIB_USEDEP}]
- )
-"
-DEPEND="
- ${RDEPEND}
- nas? ( x11-base/xorg-proto )
- X? ( x11-base/xorg-proto )
-"
-BDEPEND="
- pulseaudio? ( virtual/pkgconfig )
- x86? (
- || (
- >=dev-lang/yasm-0.6.0
- >=dev-lang/nasm-0.98.39-r3
- )
- )"
-
-pkg_setup() {
- if use custom-cflags ; then
- ewarn "Since you've chosen to use possibly unsafe CFLAGS,"
- ewarn "don't bother filing libsdl-related bugs until trying to remerge"
- ewarn "libsdl without the custom-cflags use flag in USE."
- fi
-}
-
-PATCHES=(
- "${FILESDIR}"/${PN}-$(ver_cut 1-3)-sdl-config.patch
- "${FILESDIR}"/${PN}-$(ver_cut 1-3)-gamma.patch
-)
-
-DOCS=( BUGS CREDITS README-SDL.txt TODO WhatsNew )
-
-HTML_DOCS=( {docs,VisualC}.html docs/{html,images,index.html} )
-
-src_prepare() {
- default
-
- if $(tc-is-gcc) && [[ ${CHOST} == *-darwin* ]] ; then
- # GCC at least has no idea what -fpascal-strings is
- sed -i -e '/EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"/d' configure.ac || die
- # We have trouble building against Frameworks with GCC for now (no Blocks support, etc)
- # error: unknown type name ‘CGImageSourceAnimationBlock’
- sed -i \
- -e '/EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"/d' \
- -e '/EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"/d' \
- configure.ac || die
- fi
-
- AT_M4DIR="${EPREFIX}/usr/share/aclocal acinclude" eautoreconf
-}
-
-multilib_src_configure() {
- local myconf=
-
- if $(tc-is-gcc) && [[ ${CHOST} == *-darwin* ]] ; then
- # We can't build against Cocoa because we lack Blocks + Objective C++ support in
- # GCC (for now)
- use video && myconf="${myconf} --disable-video-cocoa"
- # CD support drags in audio
- myconf="${myconf} --disable-cdrom"
- else
- myconf="${myconf} --enable-cdrom"
- fi
-
- if use !x86 && use !x86-linux ; then
- myconf="${myconf} --disable-nasm"
- else
- myconf="${myconf} --enable-nasm"
- fi
- use custom-cflags || strip-flags
- use sound || myconf="${myconf} --disable-audio"
- use video \
- && myconf="${myconf} --enable-video-dummy" \
- || myconf="${myconf} --disable-video"
- use joystick || myconf="${myconf} --disable-joystick"
-
- ECONF_SOURCE="${S}" econf \
- $(use_enable prefix rpath) \
- --disable-arts \
- --disable-esd \
- --enable-events \
- --enable-threads \
- --enable-timers \
- --enable-file \
- --enable-cpuinfo \
- --disable-alsa-shared \
- --disable-esd-shared \
- --disable-sndio \
- --disable-pulseaudio-shared \
- --disable-arts-shared \
- --disable-nas-shared \
- --disable-osmesa-shared \
- $(use_enable oss) \
- $(use_enable alsa) \
- $(use_enable pulseaudio) \
- $(use_enable nas) \
- $(use_enable X video-x11) \
- $(use_enable dga) \
- $(use_enable xv video-x11-xv) \
- $(use_enable xinerama video-x11-xinerama) \
- $(use_enable X video-x11-xrandr) \
- $(use_enable dga video-dga) \
- $(use_enable fbcon video-fbcon) \
- --disable-video-ggi \
- --disable-video-svga \
- $(use_enable aalib video-aalib) \
- $(use_enable libcaca video-caca) \
- $(use_enable opengl video-opengl) \
- --disable-video-ps3 \
- $(use_enable tslib input-tslib) \
- $(use_with X x) \
- $(use_enable static-libs static) \
- --disable-video-x11-xme \
- --disable-video-directfb \
- ${myconf}
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- use static-libs || find "${ED}" -type f -name "*.la" -delete || die
- einstalldocs
-}
diff --git a/media-libs/libsdl/libsdl-1.2.64.ebuild b/media-libs/libsdl/libsdl-1.2.64.ebuild
deleted file mode 100644
index f5a8862ee0f3..000000000000
--- a/media-libs/libsdl/libsdl-1.2.64.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-DESCRIPTION="Simple Direct Media Layer 1.2 compatibility wrapper around SDL2"
-HOMEPAGE="https://github.com/libsdl-org/sdl12-compat"
-SRC_URI="https://github.com/libsdl-org/sdl12-compat/archive/refs/tags/release-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv"
-
-# IUSE dropped from real SDL1: aalib custom-cflags dga fbcon libcaca nas oss pulseaudio static-libs tslib xinerama xv
-IUSE="alsa +joystick opengl +sound test +video X"
-REQUIRED_USE="test? ( joystick opengl sound video )"
-
-# The tests are more like example programs.
-RESTRICT="test"
-
-RDEPEND="
- media-libs/libsdl2[${MULTILIB_USEDEP},alsa=,joystick=,opengl=,sound=,video=,X=]
-"
-
-DEPEND="
- ${RDEPEND}
- test? ( virtual/opengl[${MULTILIB_USEDEP}] )
-"
-
-S="${WORKDIR}/sdl12-compat-release-${PV}"
-
-src_configure() {
- local mycmakeargs=(
- -DSDL12TESTS=$(usex test)
- )
-
- cmake-multilib_src_configure
-}
diff --git a/media-libs/libsdl/libsdl-1.2.64_p20230726.ebuild b/media-libs/libsdl/libsdl-1.2.64_p20230726.ebuild
deleted file mode 100644
index 99fab427c636..000000000000
--- a/media-libs/libsdl/libsdl-1.2.64_p20230726.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-DESCRIPTION="Simple Direct Media Layer 1.2 compatibility wrapper around SDL2"
-HOMEPAGE="https://github.com/libsdl-org/sdl12-compat"
-if [[ ${PV} == *_p* ]] ; then
- MY_COMMIT="f94a1ec0069266e40843138d0c5dd2fc6d43734c"
- SRC_URI="https://github.com/libsdl-org/sdl12-compat/archive/${MY_COMMIT}.tar.gz -> libsdl-${PV}.tar.gz"
- S="${WORKDIR}"/sdl12-compat-${MY_COMMIT}
-else
- SRC_URI="https://github.com/libsdl-org/sdl12-compat/archive/refs/tags/release-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/sdl12-compat-release-${PV}"
-fi
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv"
-
-# IUSE dropped from real SDL1: aalib custom-cflags dga fbcon libcaca nas oss pulseaudio static-libs tslib xinerama xv
-IUSE="alsa +joystick opengl +sound test +video X"
-REQUIRED_USE="test? ( joystick opengl sound video )"
-
-# The tests are more like example programs.
-RESTRICT="test"
-
-RDEPEND="
- media-libs/libsdl2[${MULTILIB_USEDEP},alsa=,joystick=,opengl=,sound=,video=,X=]
-"
-
-DEPEND="
- ${RDEPEND}
- test? ( virtual/opengl[${MULTILIB_USEDEP}] )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DSDL12TESTS=$(usex test)
- )
-
- cmake-multilib_src_configure
-}
diff --git a/media-libs/libsdl/metadata.xml b/media-libs/libsdl/metadata.xml
index 121e0e8a44e1..8197bc495339 100644
--- a/media-libs/libsdl/metadata.xml
+++ b/media-libs/libsdl/metadata.xml
@@ -24,7 +24,6 @@
<use>
<flag name="joystick">Control joystick support (disable at your own risk)</flag>
<flag name="sound">Control audio support (disable at your own risk)</flag>
- <flag name="tslib">Build with tslib support for touchscreen devices</flag>
<flag name="video">Control video support (disable at your own risk)</flag>
</use>
<upstream>
diff --git a/media-libs/libsdl2/libsdl2-2.30.7-r1.ebuild b/media-libs/libsdl2/libsdl2-2.30.7-r1.ebuild
index 19b19d7070a4..c625970b60e5 100644
--- a/media-libs/libsdl2/libsdl2-2.30.7-r1.ebuild
+++ b/media-libs/libsdl2/libsdl2-2.30.7-r1.ebuild
@@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~sparc x86"
IUSE="alsa aqua cpu_flags_ppc_altivec cpu_flags_x86_3dnow cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 custom-cflags dbus doc fcitx gles1 gles2 +haptic ibus jack +joystick kms libsamplerate nas opengl oss pipewire pulseaudio sndio +sound static-libs test udev +video vulkan wayland X xscreensaver"
RESTRICT="!test? ( test )"
diff --git a/media-libs/libsfml/Manifest b/media-libs/libsfml/Manifest
index 812571c63fd8..43090803c3d8 100644
--- a/media-libs/libsfml/Manifest
+++ b/media-libs/libsfml/Manifest
@@ -1,3 +1,4 @@
DIST libsfml-2.5.1.tar.gz 22868556 BLAKE2B b6c70b75a778ffeb141438153fb1e5693c3e92e277919b8f8befe98f55dfd519a67c86504bb5656961b947fcf60758b16a18d5a4ae7585c7c5256f327529ae31 SHA512 7aed2fc29d1da98e6c4d598d5c86cf536cb4eb5c2079cdc23bb8e502288833c052579dadbe0ce13ad6461792d959bf6d9660229f54c54cf90a541c88c6b03d59
DIST libsfml-2.6.0.tar.gz 25493305 BLAKE2B 205db3aa9fa197dbc29c8b3a74c09651fb9ca8e60bf18e385b8ecfa350d85b31ab33b6d2e61b6cdcfdc3caf77a8af37cbe97445e871b6e688359b320a12a3cea SHA512 aac734e8b0e16936c0238ec792c922923545ec6cf06576bc70004fa1920cd05b4c5e56fbc8a77b650bbe6e202adc39df1d30509dbce95778d04338917a38a87a
DIST libsfml-2.6.1.tar.gz 25499153 BLAKE2B 0e4251d7aade5a596e9d0afdaa86d843fb5ba3ca63fc4f9dccb2e7db70aa8ae253af30dba68d57dd6869a6142818575e6fd843005a6e54fe186b20b573ad8f63 SHA512 b376d3b00277ed60d107fe1268c210749b3aafcee618a8f924b181a9b476e92b9cb9baddecf70a8913b5910c471d53ea0260a876ad7b2db2b98b944d9f508714
+DIST libsfml-2.6.2.tar.gz 28624288 BLAKE2B 52442ef05a2719c1e7cd45ba15a4a41af7f3026c7c3a01c55993769bde39c9426962d640ffa2ac293dd4d90b9290b5f0895fffe7c10d3ffadbc189b10001c7ff SHA512 d8a8bee3aa9acda4609104c2a9d4a2512e4be6d6e85fd4b24c287c03f60cfb888e669e61bfac4113dae35f0c3492559b65b3453baf38766d8c0223d9ab77aada
diff --git a/media-libs/libsfml/libsfml-2.6.1.ebuild b/media-libs/libsfml/libsfml-2.6.1.ebuild
index 87c36048ce3e..7427b45b2650 100644
--- a/media-libs/libsfml/libsfml-2.6.1.ebuild
+++ b/media-libs/libsfml/libsfml-2.6.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/SFML/SFML/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="ZLIB"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
IUSE="debug doc examples"
RDEPEND="
diff --git a/media-libs/libsfml/libsfml-2.5.1-r1.ebuild b/media-libs/libsfml/libsfml-2.6.2.ebuild
index 4855c128c89a..771d64d56587 100644
--- a/media-libs/libsfml/libsfml-2.5.1-r1.ebuild
+++ b/media-libs/libsfml/libsfml-2.6.2.ebuild
@@ -8,40 +8,41 @@ inherit cmake
DESCRIPTION="Simple and Fast Multimedia Library (SFML)"
HOMEPAGE="https://www.sfml-dev.org/ https://github.com/SFML/SFML"
SRC_URI="https://github.com/SFML/SFML/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/SFML-${PV}"
LICENSE="ZLIB"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="debug doc examples"
RDEPEND="
media-libs/flac:=
media-libs/freetype:2
media-libs/libjpeg-turbo:=
- media-libs/libpng:=
media-libs/libogg
+ media-libs/libpng:=
media-libs/libvorbis
media-libs/openal
sys-libs/zlib
virtual/opengl
x11-libs/libX11
+ x11-libs/libXcursor
x11-libs/libXrandr
x11-libs/libxcb
x11-libs/xcb-util-image
kernel_linux? ( virtual/libudev:= )
"
-DEPEND="${RDEPEND}"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
BDEPEND="
doc? ( app-text/doxygen )
"
DOCS=( changelog.md readme.md )
-S="${WORKDIR}/SFML-${PV}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-musl-1.2.3-nullptr.patch
-)
+PATCHES=( "${FILESDIR}"/libsfml-2.6.0-supress-werror.patch )
src_prepare() {
sed -i "s:DESTINATION .*:DESTINATION /usr/share/doc/${PF}:" \
diff --git a/media-libs/libshumate/Manifest b/media-libs/libshumate/Manifest
index a30cd4c1b69d..b5307b8085ab 100644
--- a/media-libs/libshumate/Manifest
+++ b/media-libs/libshumate/Manifest
@@ -1,3 +1,4 @@
DIST libshumate-1.1.3.tar.xz 299644 BLAKE2B f07a583e1fd142a0601c725840e84397ed04962f828cbc15217dcdc0d767015664a06252879416e9422cb32154406dae2742ffb511404c5923ce9acab7efae0c SHA512 163cce5c9aca2f3c52da3ecb3b4a651798e314d38a145ed4c69b0510303c72a0934c24084036ca2dfaab8b008753a37f7116b0bd2907cddc78a2aceee4f847d2
DIST libshumate-1.1.4.tar.xz 299700 BLAKE2B 1f60b0807d99c8ea675be2ca85ada1929c51aa1a5f27bb5565ddba062626c4bde447f95ad4b7e02b6d3f57af1365501e64b5bca18dc566b3bf0ae1f47d5c638f SHA512 f2bb90255a43fbdf9b17bd69260c9054378959900adbc26db9b7417f98595f1d5c9221db4f31b78a546f7bd30d95175f4210fc7db11db6704d7de4c9ad000619
DIST libshumate-1.2.2.tar.xz 321216 BLAKE2B f0f26798fc9a32707d5e669c0af5396ddcdff0bea9f93150f29751ab952f72bfed457f105ea0835d3b31fbb3d66934139e1a6a06e1d056d47bf2f270cc32b23c SHA512 9e1f3f26aa591ac681ccd4613ae921f4e3f3863bacd0a0dc3be56f52749135d6c035535111808d18929d5be2a6461a47739e586f20081f485bb992b4e0a22c3a
+DIST libshumate-1.2.3.tar.xz 321768 BLAKE2B 42349a0d96d35972cf5440470983792ffe897aa0d3e8a1cd7435f1a0ecd870142d33fa28f4e5cc559cd9adba66dbd6ab1bf57d10aa5cfb4934dd3b67ae4983c6 SHA512 4f56e51b72a63d89d6b159dc002617866abd388cb6c3a092107bc5751728c99466f8c36e8086bb39b22b3d91de28f840e9d28fc29dba0b94bafd643950fee8ec
diff --git a/media-libs/libshumate/libshumate-1.2.3.ebuild b/media-libs/libshumate/libshumate-1.2.3.ebuild
new file mode 100644
index 000000000000..425d110b1dd0
--- /dev/null
+++ b/media-libs/libshumate/libshumate-1.2.3.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org meson vala virtualx
+
+DESCRIPTION="Shumate is a GTK toolkit providing widgets for embedded maps"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libshumate"
+
+LICENSE="LGPL-2.1+"
+SLOT="1.0/1"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~sparc ~x86"
+REQUIRED_USE="gtk-doc? ( introspection )"
+
+IUSE="gtk-doc +introspection sysprof vala"
+
+RDEPEND="
+ >=dev-libs/glib-2.74.0:2
+ >=x11-libs/cairo-1.4
+ >=dev-db/sqlite-1.12:3
+ >=gui-libs/gtk-4:4
+ >=net-libs/libsoup-3.0:3.0
+ introspection? ( >=dev-libs/gobject-introspection-0.6.3:= )
+ >=dev-libs/json-glib-1.6.0[introspection?]
+ dev-libs/protobuf-c
+"
+DEPEND="${RDEPEND}
+ sysprof? ( dev-util/sysprof-capture:4 )
+"
+BDEPEND="
+ gtk-doc? ( >=dev-util/gi-docgen-2021.1 )
+ vala? ( $(vala_depend) )
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use introspection gir)
+ $(meson_use vala vapi)
+ $(meson_use gtk-doc gtk_doc)
+ -Ddemos=false # only built, not installed
+ -Dvector_renderer=true
+ $(meson_feature sysprof)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ virtx dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
+}
+
+src_install() {
+ meson_src_install
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html || die
+ mv "${ED}"/usr/share/doc/libshumate-1.0 "${ED}"/usr/share/gtk-doc/html/libshumate-1.0 || die
+ fi
+}
diff --git a/media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild b/media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild
index 871874ea1d4f..ae7adefd6545 100644
--- a/media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild
+++ b/media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,9 +12,6 @@ SRC_URI="http://critical.ch/distfiles/${P}.tgz"
LICENSE="GPL-2"
SLOT="1"
KEYWORDS="~alpha amd64 ~arm64 ~hppa ppc ppc64 ~riscv sparc x86"
-IUSE=""
-DEPEND=""
-RDEPEND=""
DOCS=( AUTHORS DEVELOPER )
PATCHES=(
diff --git a/media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild b/media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild
index 4cc0dd9e7a70..80891d2e8e6f 100644
--- a/media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild
+++ b/media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild
@@ -8,8 +8,9 @@ inherit autotools flag-o-matic multilib-minimal
MY_P=sidplay-libs-${PV}
DESCRIPTION="C64 SID player library"
-HOMEPAGE="http://sidplay2.sourceforge.net/"
+HOMEPAGE="https://sidplay2.sourceforge.net/"
SRC_URI="https://downloads.sourceforge.net/sidplay2/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
SLOT="2"
@@ -33,8 +34,6 @@ PATCHES=(
"${FILESDIR}"/${P}-clang16.patch
)
-S="${WORKDIR}/${MY_P}"
-
src_prepare() {
default
diff --git a/media-libs/libsidplayfp/Manifest b/media-libs/libsidplayfp/Manifest
index 08d58b73ea43..ad4b93c04a24 100644
--- a/media-libs/libsidplayfp/Manifest
+++ b/media-libs/libsidplayfp/Manifest
@@ -1,2 +1,2 @@
-DIST libsidplayfp-2.10.0.tar.gz 811416 BLAKE2B 5d81c1c74eccb5b4e176a82e1232eed7a5687bd6dd5c22b0941d414be438db54f0d303bb0c26445404beb94f9d01cf78ec57983e8a11dd265ec6f94947a71b2b SHA512 ebffc99d04e4e5ef309636c08105b42150c5b707bcb6ecd196ee6956f301ae152efdfdd86b14276e31a0936d97cc534caec4e2281249df6ba7571926a1daffeb
-DIST libsidplayfp-2.9.0.tar.gz 807772 BLAKE2B 9ec5066a69f912c4183e98c4883875b646c9f6150ab4bd3c8d9a7110a9c75529cdb6f8aeac8d379ecacf2c0ec6181a8ee13ff93bcc53f296b8900b0e6c8d5281 SHA512 3d6b0b6ab5155da3ae4cface17a2fe85deb1dd8ab8076dba60f04e5df78b10dc9b756b408734a1012e254d3d24d8cfcf15b562fdb1f28edd756a5d63719595b0
+DIST libsidplayfp-2.10.1.tar.gz 812511 BLAKE2B 7c4a8c276a0adf75f96cebaf7931f314bdc097df8e682d2894b9903b574e2a6dd5d9b6619243aceb3458e70d29041c4549aaefe45fb37bb9312333d5d03322f8 SHA512 b8a15b34b0c834b037fc35ae9c968505322f9fb4971313ca59a0a8d22e31580354e18fda530246c0086079a9f9ff40e9c54f93279831817dc377fa9c9894bb20
+DIST libsidplayfp-2.11.0.tar.gz 813488 BLAKE2B 6bb8f37e5272c166ba5fe804395c676becb366fbf2adff0831236eaa46f889811f9173f99a7b0e67f986dfbc8e58b4957b27a39c7b7da2571a7014776bc92c1b SHA512 5f8c32d6964cdd651db0718b8f02d7fcbf829c58ed15bc8fa07f5cc0a452954ec93b041f54641744b597a8e67b6c723df6031b00685231e931f6388c294ea172
diff --git a/media-libs/libsidplayfp/libsidplayfp-2.9.0.ebuild b/media-libs/libsidplayfp/libsidplayfp-2.10.1.ebuild
index 4eefc5282af5..4eefc5282af5 100644
--- a/media-libs/libsidplayfp/libsidplayfp-2.9.0.ebuild
+++ b/media-libs/libsidplayfp/libsidplayfp-2.10.1.ebuild
diff --git a/media-libs/libsidplayfp/libsidplayfp-2.10.0.ebuild b/media-libs/libsidplayfp/libsidplayfp-2.11.0.ebuild
index bc7c3460f07e..bc7c3460f07e 100644
--- a/media-libs/libsidplayfp/libsidplayfp-2.10.0.ebuild
+++ b/media-libs/libsidplayfp/libsidplayfp-2.11.0.ebuild
diff --git a/media-libs/libsndfile/libsndfile-1.2.2-r2.ebuild b/media-libs/libsndfile/libsndfile-1.2.2-r2.ebuild
index dc08adbb90a0..21634fd6b8ab 100644
--- a/media-libs/libsndfile/libsndfile-1.2.2-r2.ebuild
+++ b/media-libs/libsndfile/libsndfile-1.2.2-r2.ebuild
@@ -12,7 +12,7 @@ else
SRC_URI="https://github.com/libsndfile/libsndfile/releases/download/${PV}/${P}.tar.xz"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
fi
-inherit python-any-r1 multilib-minimal
+inherit flag-o-matic python-any-r1 multilib-minimal
DESCRIPTION="C library for reading and writing files containing sampled sound"
HOMEPAGE="https://libsndfile.github.io/libsndfile/"
@@ -49,8 +49,16 @@ src_prepare() {
[[ ${PV} == *9999 ]] && eautoreconf
}
+src_configure() {
+ # https://github.com/libsndfile/libsndfile/issues/1049 (bug #943864)
+ append-cflags -std=gnu17
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
+ # CONFIG_SHELL hack can be dropped >1.2.2 (bug #923921)
+ CONFIG_SHELL="${BROOT}"/bin/bash ECONF_SOURCE="${S}" econf \
--disable-octave \
--disable-static \
--disable-werror \
diff --git a/media-libs/libsndfile/libsndfile-1.2.2.ebuild b/media-libs/libsndfile/libsndfile-1.2.2.ebuild
deleted file mode 100644
index 78f6380d464a..000000000000
--- a/media-libs/libsndfile/libsndfile-1.2.2.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-if [[ ${PV} == *9999 ]]; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/libsndfile/libsndfile.git"
-else
- SRC_URI="https://github.com/libsndfile/libsndfile/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-inherit python-any-r1 multilib-minimal
-
-DESCRIPTION="C library for reading and writing files containing sampled sound"
-HOMEPAGE="https://libsndfile.github.io/libsndfile/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="alsa minimal sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !minimal? (
- media-libs/flac:=[${MULTILIB_USEDEP}]
- media-libs/libogg:=[${MULTILIB_USEDEP}]
- media-libs/libvorbis:=[${MULTILIB_USEDEP}]
- media-libs/opus:=[${MULTILIB_USEDEP}]
- media-sound/lame:=[${MULTILIB_USEDEP}]
- media-sound/mpg123:=[${MULTILIB_USEDEP}]
- )
- alsa? ( media-libs/alsa-lib:= )
- sqlite? ( dev-db/sqlite )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- virtual/pkgconfig"
-if [[ ${PV} == *9999 ]]; then
- BDEPEND+="
- sys-devel/autogen
- "
-fi
-
-src_prepare() {
- default
-
- [[ ${PV} == *9999 ]] && eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --disable-octave \
- --disable-static \
- --disable-werror \
- $(use_enable !minimal external-libs) \
- $(use_enable !minimal mpeg) \
- $(multilib_native_enable full-suite) \
- $(multilib_native_use_enable alsa) \
- $(multilib_native_use_enable sqlite) \
- PYTHON="${EPYTHON}"
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/media-libs/libsndfile/libsndfile-9999.ebuild b/media-libs/libsndfile/libsndfile-9999.ebuild
index d75e3910471e..f32a95a3585c 100644
--- a/media-libs/libsndfile/libsndfile-9999.ebuild
+++ b/media-libs/libsndfile/libsndfile-9999.ebuild
@@ -12,7 +12,7 @@ else
SRC_URI="https://github.com/libsndfile/libsndfile/releases/download/${PV}/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
fi
-inherit python-any-r1 multilib-minimal
+inherit flag-o-matic python-any-r1 multilib-minimal
DESCRIPTION="C library for reading and writing files containing sampled sound"
HOMEPAGE="https://libsndfile.github.io/libsndfile/"
@@ -49,6 +49,13 @@ src_prepare() {
[[ ${PV} == *9999 ]] && eautoreconf
}
+src_configure() {
+ # https://github.com/libsndfile/libsndfile/issues/1049 (bug #943864)
+ append-cflags -std=gnu17
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \
--disable-octave \
diff --git a/media-libs/libtgvoip/libtgvoip-2.4.4_p20240706.ebuild b/media-libs/libtgvoip/libtgvoip-2.4.4_p20240706.ebuild
index 3032ed6833b6..755ad2bcff63 100644
--- a/media-libs/libtgvoip/libtgvoip-2.4.4_p20240706.ebuild
+++ b/media-libs/libtgvoip/libtgvoip-2.4.4_p20240706.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}-${LIBTGVOIP_COMMIT}"
LICENSE="Unlicense"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv"
IUSE="+dsp +alsa pulseaudio"
DEPEND="
diff --git a/media-libs/libuninameslist/libuninameslist-20230916.ebuild b/media-libs/libuninameslist/libuninameslist-20230916.ebuild
index 6b5f5eacb206..7aa13f4cf40e 100644
--- a/media-libs/libuninameslist/libuninameslist-20230916.ebuild
+++ b/media-libs/libuninameslist/libuninameslist-20230916.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/fontforge/libuninameslist/releases/download/${PV}/${
LICENSE="BSD"
SLOT="0/1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
src_configure() {
econf --enable-frenchlib
diff --git a/media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch b/media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch
new file mode 100644
index 000000000000..4cc3ee2017c4
--- /dev/null
+++ b/media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch
@@ -0,0 +1,52 @@
+https://bugs.gentoo.org/941253
+https://github.com/intel/intel-vaapi-driver/pull/566
+
+From 1c3c43371d45e1d072faa9a5cd850c1722a06569 Mon Sep 17 00:00:00 2001
+From: Simon Ser <contact@emersion.fr>
+Date: Mon, 11 Mar 2024 23:48:17 +0100
+Subject: [PATCH] Make wl_drm optional
+
+Don't error out when vtable->wl_interface is NULL.
+
+Fetching wl_drm_interface from libEGL used to work but doesn't
+anymore: it's now a private symbol (wayland-scanner private-code).
+---
+ src/i965_output_wayland.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/i965_output_wayland.c b/src/i965_output_wayland.c
+index a6120b7..a002cae 100644
+--- a/src/i965_output_wayland.c
++++ b/src/i965_output_wayland.c
+@@ -154,7 +154,7 @@ registry_handle_global(
+ struct va_wl_output * const wl_output = i965->wl_output;
+ struct wl_vtable * const wl_vtable = &wl_output->vtable;
+
+- if (strcmp(interface, "wl_drm") == 0) {
++ if (strcmp(interface, "wl_drm") == 0 && wl_vtable->drm_interface) {
+ wl_output->wl_drm_name = name;
+ wl_output->wl_drm = registry_bind(wl_vtable, wl_output->wl_registry,
+ name, wl_vtable->drm_interface,
+@@ -472,6 +472,7 @@ i965_output_wayland_init(VADriverContextP ctx)
+
+ wl_vtable = &i965->wl_output->vtable;
+
++ /* drm_interface is optional */
+ if (vtable->wl_interface)
+ wl_vtable->drm_interface = vtable->wl_interface;
+ else {
+@@ -483,9 +484,8 @@ i965_output_wayland_init(VADriverContextP ctx)
+ }
+
+ dso_handle = i965->wl_output->libegl_handle;
+- if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
+- libegl_symbols))
+- goto error;
++ dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
++ libegl_symbols);
+ }
+
+ i965->wl_output->libwl_client_handle = dso_open(LIBWAYLAND_CLIENT_NAME);
+--
+2.45.2
+
diff --git a/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r4.ebuild b/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r6.ebuild
index 4a0de8f43ac2..824e056d80f1 100644
--- a/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r4.ebuild
+++ b/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r6.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
MY_PN="intel-vaapi-driver"
if [[ ${PV} = *9999* ]] ; then # Live ebuild
@@ -40,8 +40,12 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
+PATCHES=(
+ "${FILESDIR}"/${PV}-Make-wl_drm-optional.patch
+)
+
src_prepare() {
- eapply_user
+ default
sed -e 's/intel-gen4asm/\0diSaBlEd/g' -i configure.ac || die
eautoreconf
}
diff --git a/media-libs/libva-intel-driver/libva-intel-driver-9999.ebuild b/media-libs/libva-intel-driver/libva-intel-driver-9999.ebuild
index f59da31c7a3b..0ab23b553cf4 100644
--- a/media-libs/libva-intel-driver/libva-intel-driver-9999.ebuild
+++ b/media-libs/libva-intel-driver/libva-intel-driver-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
MY_PN="intel-vaapi-driver"
if [[ ${PV} = *9999* ]] ; then # Live ebuild
@@ -41,7 +41,7 @@ DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
src_prepare() {
- eapply_user
+ default
sed -e 's/intel-gen4asm/\0diSaBlEd/g' -i configure.ac || die
eautoreconf
}
diff --git a/media-libs/libva-intel-media-driver/Manifest b/media-libs/libva-intel-media-driver/Manifest
index 8e413054f817..5837caa181d6 100644
--- a/media-libs/libva-intel-media-driver/Manifest
+++ b/media-libs/libva-intel-media-driver/Manifest
@@ -1,7 +1,3 @@
-DIST intel-media-24.1.5.tar.gz 25834293 BLAKE2B 076731a57c7fbf6776df393c631e8abda7e07679b5babb28a8973b9919ce6522b3bfa92f9a1fcb173714a2c7dedec79a791a8e94d3e1962df072d1b2157692b9 SHA512 9c8121345f23153361f6458b638938896c42542c80efb0490847aa04c873a0726199985318ee6691f240def12d4f18e804971040dc1284b0cd46287756bb61ba
-DIST intel-media-24.2.5.tar.gz 25860224 BLAKE2B 2d2cfe9b72a1271e98deae9b80321c4953e2dfa73db80156d09352f2420081fda4ece0f4d98a4cd9c36217a8808d4816451d041fcb4f46979efaa3c8ae1d84e5 SHA512 f283cf4b6536e2c05df9c169958668ab7ee96291473a203dfd2fe79888e297b0b12f2b75ea9dba988335139fc7a63c1d2a4908a5a7d2c68b807fa131cb29b7b4
-DIST intel-media-24.3.0.tar.gz 27035846 BLAKE2B cb1d8764f532234c8f853d8918f33be2ad31d807fc7b128acb2551e62004d3e8a431bbb7c38e534c0ad5b5f0c2e4e1917da0ea8e242d5785088e2a6a4ef9bc2d SHA512 2e9c21c93e8d842aef7785195c7c6ad4fceb384eccb79e4108d7305cd2ba9ce34e9785ecd227345ede1135678da61259d325f074e1e9c8d08b29da107f96bfdc
-DIST intel-media-24.3.1.tar.gz 27087463 BLAKE2B 0c8519e5976e51cb6c854363f23f30bb98ea4a6e47a66e196a18a174ebde89bb71d36d21aa58a39f5dd3da76d225bd8902c1e983865ab1831dac3f7368d476fa SHA512 557fb40dcb409304f3209e0409d208648629f10bdeb2d9f4fe17f3c581bcc05c71d00cc9331c1d498e1981607b7fff7e4cad20a8f88b5b3605c7a606a5648828
-DIST intel-media-24.3.2.tar.gz 27086020 BLAKE2B 3a0dab661cd837075321657f495cd4c09e0226218fa64780777ba85d89a94624d69f383647c12786dcf776da2e04993882dbdeabe03cd9d15e1084dc7fc08042 SHA512 a6a29b07870b1f8288b01f100089026a68e6ca55908f00b1e3d1b579e29f96969f91c948eea2410a982588e8e47ad73ed3b8184acafb645811c5922e76cc0442
-DIST intel-media-24.3.3.tar.gz 27534326 BLAKE2B ab4adb5aded35387ead884cb385f1ce5dffa3a19d00e85095536077d4318e09e260f227b004a16a50faaaac735cb44ff3e7427bf2dba84c0415cd11107de9793 SHA512 73c637677216e3bb145b002d1ce5a4e799cfd0e33656152b8e12e290e893487131e49c01b31573e7b978da89cdb7d5663a1a6c6ad43ae3897e1778569f0c313f
DIST intel-media-24.3.4.tar.gz 27623962 BLAKE2B 0f4eb4321db0b3f1ce05461d0321777918dbb7ac1e28dc916040ca252441c7682650c6af0224588c445ccb06cc1c28b8d5ff47b7a0b271e83b1a97cf3af6e67d SHA512 015915b4265fafa5cb619ac69e1cbd3f17ac22fc51dcb9455782cad097dd494c28cdcc9c4c184c739216b419a5b1ec5730ee19d9dedfc83e20761803a3e89d81
+DIST intel-media-24.4.2.tar.gz 27670782 BLAKE2B a89df89b15cb800fd9e90e8ffaee6ee76cdaa3b97d49feacb0c40e2ff7ac44db38dd2ef4fd65b25bdc4450d95c20559b1a9cb3f87e9f7916568ef7fdea631685 SHA512 63f68c2fec1608082b5e1892b7f0cfadbd9e7c2ccacf681e2e596d020d15dbd8dd95bbff353cf7e987dc9a2638b498594b42c36b366ba9bc8cdf5795f38b23fe
+DIST intel-media-24.4.3.tar.gz 27695613 BLAKE2B 9f4201563d93a0bab5408161b5b418a163bca09f2c17734638817a4060444a321c06a95fbc81616140b55e46a2a1bf8267dba93e15c8f6a1368b8fd98497c4de SHA512 151416aa5e22c98a56d15a00cb8dd3a25cff4a8445b5106b77000d7cff4788736d0e0f4067121334bc3e7b4fba76e84a07b5ac318f12b0fa9a8f9c2317847ada
diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.1.5.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.1.5.ebuild
deleted file mode 100644
index 724fb1822753..000000000000
--- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.1.5.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib flag-o-matic
-
-if [[ ${PV} == *9999 ]] ; then
- : ${EGIT_REPO_URI:="https://github.com/intel/media-driver"}
- if [[ ${PV%9999} != "" ]] ; then
- : ${EGIT_BRANCH:="release/${PV%.9999}"}
- fi
- inherit git-r3
-else
- MY_PV="${PV%_pre}"
- SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz"
- S="${WORKDIR}/media-driver-intel-media-${MY_PV}"
- if [[ ${PV} != *_pre* ]] ; then
- KEYWORDS="amd64"
- fi
-fi
-
-DESCRIPTION="Intel Media Driver for VA-API (iHD)"
-HOMEPAGE="https://github.com/intel/media-driver"
-
-LICENSE="MIT BSD redistributable? ( no-source-code )"
-SLOT="0"
-IUSE="+redistributable test X"
-
-RESTRICT="!test? ( test )"
-
-DEPEND=">=media-libs/gmmlib-22.3.14:=[${MULTILIB_USEDEP}]
- >=media-libs/libva-2.20.0[X?,${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-23.3.4-Remove-unwanted-CFLAGS.patch
- "${FILESDIR}"/${PN}-23.3.4_testing_in_src_test.patch
-)
-
-multilib_src_configure() {
- # https://github.com/intel/media-driver/issues/356
- append-cxxflags -D_FILE_OFFSET_BITS=64
-
- local mycmakeargs=(
- -DMEDIA_BUILD_FATAL_WARNINGS=OFF
- -DMEDIA_RUN_TEST_SUITE=$(usex test)
- -DBUILD_TYPE=Release
- -DPLATFORM=linux
- -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X)
- -DENABLE_NONFREE_KERNELS=$(usex redistributable)
- -DLATEST_CPP_NEEDED=ON # Seems to be the best option for now
- )
- local CMAKE_BUILD_TYPE="Release"
- cmake_src_configure
-}
diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.2.5.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.2.5.ebuild
deleted file mode 100644
index 4acc0837e7aa..000000000000
--- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.2.5.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib flag-o-matic
-
-if [[ ${PV} == *9999 ]] ; then
- : ${EGIT_REPO_URI:="https://github.com/intel/media-driver"}
- if [[ ${PV%9999} != "" ]] ; then
- : ${EGIT_BRANCH:="release/${PV%.9999}"}
- fi
- inherit git-r3
-else
- MY_PV="${PV%_pre}"
- SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz"
- S="${WORKDIR}/media-driver-intel-media-${MY_PV}"
- if [[ ${PV} != *_pre* ]] ; then
- KEYWORDS="amd64"
- fi
-fi
-
-DESCRIPTION="Intel Media Driver for VA-API (iHD)"
-HOMEPAGE="https://github.com/intel/media-driver"
-
-LICENSE="MIT BSD redistributable? ( no-source-code )"
-SLOT="0"
-IUSE="+redistributable test X"
-
-RESTRICT="!test? ( test )"
-
-DEPEND=">=media-libs/gmmlib-22.3.20:=[${MULTILIB_USEDEP}]
- >=media-libs/libva-2.21.0[X?,${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-23.3.4-Remove-unwanted-CFLAGS.patch
- "${FILESDIR}"/${PN}-23.3.4_testing_in_src_test.patch
-)
-
-multilib_src_configure() {
- # https://github.com/intel/media-driver/issues/356
- append-cxxflags -D_FILE_OFFSET_BITS=64
-
- local mycmakeargs=(
- -DMEDIA_BUILD_FATAL_WARNINGS=OFF
- -DMEDIA_RUN_TEST_SUITE=$(usex test)
- -DBUILD_TYPE=Release
- -DPLATFORM=linux
- -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X)
- -DENABLE_NONFREE_KERNELS=$(usex redistributable)
- -DLATEST_CPP_NEEDED=ON # Seems to be the best option for now
- )
- local CMAKE_BUILD_TYPE="Release"
- cmake_src_configure
-}
diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.0.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.0.ebuild
deleted file mode 100644
index 343e7ed8c609..000000000000
--- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib flag-o-matic
-
-if [[ ${PV} == *9999 ]] ; then
- : ${EGIT_REPO_URI:="https://github.com/intel/media-driver"}
- if [[ ${PV%9999} != "" ]] ; then
- : ${EGIT_BRANCH:="release/${PV%.9999}"}
- fi
- inherit git-r3
-else
- MY_PV="${PV%_pre}"
- SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz"
- S="${WORKDIR}/media-driver-intel-media-${MY_PV}"
- if [[ ${PV} != *_pre* ]] ; then
- KEYWORDS="~amd64"
- fi
-fi
-
-DESCRIPTION="Intel Media Driver for VA-API (iHD)"
-HOMEPAGE="https://github.com/intel/media-driver"
-
-LICENSE="MIT BSD redistributable? ( no-source-code )"
-SLOT="0"
-IUSE="+redistributable test X"
-
-RESTRICT="!test? ( test )"
-
-DEPEND=">=media-libs/gmmlib-22.3.20:=[${MULTILIB_USEDEP}]
- >=media-libs/libva-2.21.0[X?,${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-23.3.4-Remove-unwanted-CFLAGS.patch
- "${FILESDIR}"/${PN}-23.3.4_testing_in_src_test.patch
-)
-
-multilib_src_configure() {
- # https://github.com/intel/media-driver/issues/356
- append-cxxflags -D_FILE_OFFSET_BITS=64
-
- local mycmakeargs=(
- -DMEDIA_BUILD_FATAL_WARNINGS=OFF
- -DMEDIA_RUN_TEST_SUITE=$(usex test)
- -DBUILD_TYPE=Release
- -DPLATFORM=linux
- -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X)
- -DENABLE_NONFREE_KERNELS=$(usex redistributable)
- -DLATEST_CPP_NEEDED=ON # Seems to be the best option for now
- )
- local CMAKE_BUILD_TYPE="Release"
- cmake_src_configure
-}
diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.1-r1.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.1-r1.ebuild
deleted file mode 100644
index bc3be02793b7..000000000000
--- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.1-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib flag-o-matic
-
-if [[ ${PV} == *9999 ]] ; then
- : ${EGIT_REPO_URI:="https://github.com/intel/media-driver"}
- if [[ ${PV%9999} != "" ]] ; then
- : ${EGIT_BRANCH:="release/${PV%.9999}"}
- fi
- inherit git-r3
-else
- MY_PV="${PV%_pre}"
- SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz"
- S="${WORKDIR}/media-driver-intel-media-${MY_PV}"
- if [[ ${PV} != *_pre* ]] ; then
- KEYWORDS="~amd64"
- fi
-fi
-
-DESCRIPTION="Intel Media Driver for VA-API (iHD)"
-HOMEPAGE="https://github.com/intel/media-driver"
-
-LICENSE="MIT BSD redistributable? ( no-source-code )"
-SLOT="0"
-IUSE="+redistributable test X"
-
-RESTRICT="!test? ( test )"
-
-DEPEND=">=media-libs/gmmlib-22.3.20:=[${MULTILIB_USEDEP}]
- >=media-libs/libva-2.22.0[X?,${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-23.3.4-Remove-unwanted-CFLAGS.patch
- "${FILESDIR}"/${PN}-23.3.4_testing_in_src_test.patch
-)
-
-multilib_src_configure() {
- # https://github.com/intel/media-driver/issues/356
- append-cxxflags -D_FILE_OFFSET_BITS=64
-
- local mycmakeargs=(
- -DMEDIA_BUILD_FATAL_WARNINGS=OFF
- -DMEDIA_RUN_TEST_SUITE=$(usex test)
- -DBUILD_TYPE=Release
- -DPLATFORM=linux
- -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X)
- -DENABLE_NONFREE_KERNELS=$(usex redistributable)
- -DLATEST_CPP_NEEDED=ON # Seems to be the best option for now
- )
- local CMAKE_BUILD_TYPE="Release"
- cmake_src_configure
-}
diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.4.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.4.ebuild
index bc3be02793b7..68e5df8b6f80 100644
--- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.4.ebuild
+++ b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.4.ebuild
@@ -16,7 +16,7 @@ else
SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz"
S="${WORKDIR}/media-driver-intel-media-${MY_PV}"
if [[ ${PV} != *_pre* ]] ; then
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
fi
fi
diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.2.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.4.2.ebuild
index bc3be02793b7..42f6583e9710 100644
--- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.2.ebuild
+++ b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.4.2.ebuild
@@ -29,7 +29,7 @@ IUSE="+redistributable test X"
RESTRICT="!test? ( test )"
-DEPEND=">=media-libs/gmmlib-22.3.20:=[${MULTILIB_USEDEP}]
+DEPEND=">=media-libs/gmmlib-22.5.0:=[${MULTILIB_USEDEP}]
>=media-libs/libva-2.22.0[X?,${MULTILIB_USEDEP}]
"
RDEPEND="${DEPEND}"
diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.3.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.4.3.ebuild
index bc3be02793b7..42f6583e9710 100644
--- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.3.ebuild
+++ b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.4.3.ebuild
@@ -29,7 +29,7 @@ IUSE="+redistributable test X"
RESTRICT="!test? ( test )"
-DEPEND=">=media-libs/gmmlib-22.3.20:=[${MULTILIB_USEDEP}]
+DEPEND=">=media-libs/gmmlib-22.5.0:=[${MULTILIB_USEDEP}]
>=media-libs/libva-2.22.0[X?,${MULTILIB_USEDEP}]
"
RDEPEND="${DEPEND}"
diff --git a/media-libs/libva/Manifest b/media-libs/libva/Manifest
index bca1f5125751..f3bb4308d7a1 100644
--- a/media-libs/libva/Manifest
+++ b/media-libs/libva/Manifest
@@ -1,2 +1 @@
-DIST libva-2.21.0.tar.gz 281515 BLAKE2B bd430162b07987d8982d8f81296e94623efea68624f34b7e159ebefeb37a2b062f2c0d809e16e76c172d6c2df11b59691174fb9a1d65d0938949ac2a025b746c SHA512 93654bb892e0e269d7682a1344fe6f7298432d1f2b347396c63aa1bd84ac0f707af34950a93098fe86a9bc8986fc9f97f75f0f15d8495ffd2caf8cf0eed9612c
DIST libva-2.22.0.tar.gz 301705 BLAKE2B b438c95613628b8eb1150238016bafdf2ef33fc01ed78742cd50768238cedf5475752a6dd7413ee217961a705abcd7628219ddf3f13c5aa77015b6bbb4e77929 SHA512 cd633e5e09eac1ed10f1fc12b0f664f836e0eda9e47c17e1295b746cfd643a18fd0564a06a148ced3cf1e2321aa4d21275918bcf8c717d3981e98a598179f370
diff --git a/media-libs/libva/files/libva-2.21.0-no-undefined-version.patch b/media-libs/libva/files/libva-2.21.0-no-undefined-version.patch
deleted file mode 100644
index 007540bdb535..000000000000
--- a/media-libs/libva/files/libva-2.21.0-no-undefined-version.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From https://github.com/intel/libva/commit/17e07d17ba723a6b5822390afacdd3ccd976ecd2 Mon Sep 17 00:00:00 2001
-From: Violet Purcell <vimproved@inventati.org>
-Date: Sun, 1 Oct 2023 16:34:19 -0400
-Subject: [PATCH] va: Fix -Wl,--version-script check with LLD 17
-
-LLD 17 uses --no-undefined-version by default, so the check currently
-fails due to vaCreateSurface being undefined. This commit replaces that
-check with a generic check in the top level meson.build, using the
-conftest.syms file.
-
-Signed-off-by: Violet Purcell <vimproved@inventati.org>
---- /dev/null
-+++ b/conftest.syms
-@@ -0,0 +1,6 @@
-+VERSION_1 {
-+ global:
-+ main;
-+ local:
-+ *;
-+};
---- a/meson.build
-+++ b/meson.build
-@@ -87,6 +87,12 @@ dl_dep = cc.find_library('dl', required : false)
- WITH_DRM = not get_option('disable_drm') and (host_machine.system() != 'windows')
- libdrm_dep = dependency('libdrm', version : '>= 2.4.60', required : (host_machine.system() != 'windows'))
-
-+ld_supports_version_script = cc.links(
-+ 'int main() { return 0; }',
-+ name : '-Wl,--version-script',
-+ args : ['-shared', '-Wl,--version-script,' + '@0@/@1@'.format(meson.current_source_dir(), 'conftest.syms')]
-+)
-+
- WITH_X11 = false
- if get_option('with_x11') != 'no'
- x11_dep = dependency('x11', required : get_option('with_x11') == 'yes')
---- a/va/meson.build
-+++ b/va/meson.build
-@@ -60,7 +60,7 @@ libva_sym_arg = '-Wl,-version-script,' + '@0@/@1@'.format(meson.current_source_d
-
- libva_link_args = []
- libva_link_depends = []
--if cc.links('', name: '-Wl,--version-script', args: ['-shared', libva_sym_arg])
-+if ld_supports_version_script
- libva_link_args = libva_sym_arg
- libva_link_depends = libva_sym
- endif
diff --git a/media-libs/libva/libva-2.21.0.ebuild b/media-libs/libva/libva-2.21.0.ebuild
deleted file mode 100644
index 55ff808ff96f..000000000000
--- a/media-libs/libva/libva-2.21.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
-
-inherit meson-multilib optfeature
-
-DESCRIPTION="Video Acceleration (VA) API for Linux"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-
-if [[ ${PV} = *9999 ]] ; then
- inherit git-r3
- EGIT_BRANCH=master
- EGIT_REPO_URI="https://github.com/intel/libva"
-else
- SRC_URI="https://github.com/intel/libva/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1)"
-IUSE="wayland X"
-
-RDEPEND="
- >=x11-libs/libdrm-2.4.60[${MULTILIB_USEDEP}]
- wayland? (
- >=dev-libs/wayland-1.11[${MULTILIB_USEDEP}]
- )
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXfixes-5.0.1[${MULTILIB_USEDEP}]
- x11-libs/libxcb:=[${MULTILIB_USEDEP}]
- )
-"
-DEPEND="
- ${RDEPEND}
- X? ( x11-base/xorg-proto )
-"
-BDEPEND="
- wayland? ( dev-util/wayland-scanner )
- virtual/pkgconfig
-"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/va/va_x11.h
- /usr/include/va/va_dri2.h
- /usr/include/va/va_dricommon.h
-)
-
-PATCHES=(
- "${FILESDIR}/libva-2.21.0-no-undefined-version.patch"
-)
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddriverdir="${EPREFIX}/usr/$(get_libdir)/va/drivers"
- -Ddisable_drm=false
- -Dwith_x11=$(usex X)
- -Dwith_glx=no
- -Dwith_wayland=$(usex wayland)
- -Denable_docs=false
- )
- meson_src_configure
-}
-
-pkg_postinst() {
- optfeature_header
- optfeature "Older Intel GPU support up to Gen8" media-libs/libva-intel-driver
- optfeature "Newer Intel GPU support from Gen9+" media-libs/libva-intel-media-driver
-}
diff --git a/media-libs/libvisio/Manifest b/media-libs/libvisio/Manifest
index 2d0862335acd..9b59b3200a77 100644
--- a/media-libs/libvisio/Manifest
+++ b/media-libs/libvisio/Manifest
@@ -1 +1,2 @@
DIST libvisio-0.1.7.tar.xz 854296 BLAKE2B db5dd96d769c237bc2926d52a43c2496adca50b74133ea3c81df7ba5a61824891623eb33b4801b463b27f5c03946ea7ffcf827b98c95139c9659b0a1b0f7b604 SHA512 c26f67a09fa6a6d0bf6f3fff5590d5cf16983630d4f7cfcf86d9461baec58dbdf7989fd934be6db0639ca043c160aac2d008275afb9e047766bc878ac579a9ea
+DIST libvisio-0.1.8.tar.xz 1686344 BLAKE2B 5e852e96c6484990349e3fb93dafb1bb3a23f9f72fefc13ceaf56677e3e4aaf01384fcae423cf9f022fb9a91800dc967a89b3eced40a96fe17c756241fb88ad8 SHA512 f89e7cd08287f769936cfacdbdd95fe97a535cca63231c14e2637a8ee6a5e86c6de79b3858c08a5ab483e17cf06107af4fac9014f695b25fedad15f841efba53
diff --git a/media-libs/libvisio/libvisio-0.1.8.ebuild b/media-libs/libvisio/libvisio-0.1.8.ebuild
new file mode 100644
index 000000000000..3b50dc5240e3
--- /dev/null
+++ b/media-libs/libvisio/libvisio-0.1.8.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://anongit.freedesktop.org/git/libreoffice/libvisio.git"
+ inherit autotools git-r3
+else
+ SRC_URI="https://dev-www.libreoffice.org/src/libvisio/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Library parsing the file format of MS Visio documents"
+HOMEPAGE="https://wiki.documentfoundation.org/DLP/Libraries/libvisio"
+
+LICENSE="|| ( GPL-2+ LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+IUSE="doc test tools"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/icu:=
+ dev-libs/librevenge
+ dev-libs/libxml2
+"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ dev-util/gperf
+ dev-build/libtool
+ test? ( dev-util/cppunit )
+"
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
+
+src_prepare() {
+ default
+ [[ -d m4 ]] || mkdir "m4" || die
+ [[ ${PV} == *9999* ]] && eautoreconf
+}
+
+src_configure() {
+ # bug 619688, 932496
+ append-cxxflags -std=c++17
+
+ local myeconfargs=(
+ $(use_with doc docs)
+ $(use_enable test tests)
+ $(use_enable tools)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/media-libs/libvisio/libvisio-9999.ebuild b/media-libs/libvisio/libvisio-9999.ebuild
index f9f22b09cf32..3b50dc5240e3 100644
--- a/media-libs/libvisio/libvisio-9999.ebuild
+++ b/media-libs/libvisio/libvisio-9999.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic
-if [[ ${PV} == 9999 ]]; then
+if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://anongit.freedesktop.org/git/libreoffice/libvisio.git"
inherit autotools git-r3
else
@@ -18,14 +18,9 @@ HOMEPAGE="https://wiki.documentfoundation.org/DLP/Libraries/libvisio"
LICENSE="|| ( GPL-2+ LGPL-2.1 MPL-1.1 )"
SLOT="0"
-IUSE="doc static-libs test tools"
+IUSE="doc test tools"
RESTRICT="!test? ( test )"
-BDEPEND="
- dev-lang/perl
- virtual/pkgconfig
- doc? ( app-text/doxygen )
-"
RDEPEND="
dev-libs/icu:=
dev-libs/librevenge
@@ -37,11 +32,16 @@ DEPEND="${RDEPEND}
dev-build/libtool
test? ( dev-util/cppunit )
"
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
src_prepare() {
default
- [[ -d m4 ]] || mkdir "m4"
- [[ ${PV} == 9999 ]] && eautoreconf
+ [[ -d m4 ]] || mkdir "m4" || die
+ [[ ${PV} == *9999* ]] && eautoreconf
}
src_configure() {
@@ -50,7 +50,6 @@ src_configure() {
local myeconfargs=(
$(use_with doc docs)
- $(use_enable static-libs static)
$(use_enable test tests)
$(use_enable tools)
)
@@ -59,5 +58,5 @@ src_configure() {
src_install() {
default
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/media-libs/libvpl-tools/metadata.xml b/media-libs/libvpl-tools/metadata.xml
index 33d1f718149c..fa93f977ac83 100644
--- a/media-libs/libvpl-tools/metadata.xml
+++ b/media-libs/libvpl-tools/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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">intel/libvpl-tools</remote-id>
diff --git a/media-libs/libvpl/libvpl-2.12.0.ebuild b/media-libs/libvpl/libvpl-2.12.0.ebuild
index 915dea848836..a30f50707598 100644
--- a/media-libs/libvpl/libvpl-2.12.0.ebuild
+++ b/media-libs/libvpl/libvpl-2.12.0.ebuild
@@ -46,6 +46,6 @@ multilib_src_install() {
pkg_postinst() {
optfeature_header "This package provides only the dispatcher, to use it install one or more implementations"
optfeature "CPUs" media-libs/oneVPL-cpu
- optfeature "Intel GPUs newer then, and including, Intel Xe" media-libs/oneVPL-intel-gpu
+ optfeature "Intel GPUs newer then, and including, Intel Xe" media-libs/vpl-gpu-rt
optfeature "Intel GPUs older then Intel Xe" media-libs/intel-mediasdk
}
diff --git a/media-libs/libvpl/libvpl-2.13.0.ebuild b/media-libs/libvpl/libvpl-2.13.0.ebuild
index 915dea848836..a30f50707598 100644
--- a/media-libs/libvpl/libvpl-2.13.0.ebuild
+++ b/media-libs/libvpl/libvpl-2.13.0.ebuild
@@ -46,6 +46,6 @@ multilib_src_install() {
pkg_postinst() {
optfeature_header "This package provides only the dispatcher, to use it install one or more implementations"
optfeature "CPUs" media-libs/oneVPL-cpu
- optfeature "Intel GPUs newer then, and including, Intel Xe" media-libs/oneVPL-intel-gpu
+ optfeature "Intel GPUs newer then, and including, Intel Xe" media-libs/vpl-gpu-rt
optfeature "Intel GPUs older then Intel Xe" media-libs/intel-mediasdk
}
diff --git a/media-libs/libvpl/metadata.xml b/media-libs/libvpl/metadata.xml
index 3414bc8c7e63..cc06f95011b8 100644
--- a/media-libs/libvpl/metadata.xml
+++ b/media-libs/libvpl/metadata.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>media-video@gentoo.org</email>
</maintainer>
<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">intel/libvpl</remote-id>
diff --git a/media-libs/libvpx/Manifest b/media-libs/libvpx/Manifest
index e2578b126b3f..70220b7f6a22 100644
--- a/media-libs/libvpx/Manifest
+++ b/media-libs/libvpx/Manifest
@@ -1,6 +1,4 @@
DIST libvpx-1.13.1.tar.gz 5515662 BLAKE2B f7e2fa2880a11c7e40fed8ab5efe843346c351b8de8725aa6803cdebdf9c1253e26992fe3ffed3a68710674765b4d2aec2cce06d22885b722e728d03eaf916f7 SHA512 49706838563c92fab7334376848d0f374efcbc1729ef511e967c908fd2ecd40e8d197f1d85da6553b3a7026bdbc17e5a76595319858af26ce58cb9a4c3854897
-DIST libvpx-1.14.0.tar.gz 5606471 BLAKE2B 6204c060794e8265fe501f87bb269a37f62955cd848514e34e657be1d869a797661fc90ad28623e833c5369737d9970b0b86ad0c151a818c1e6d52000ef2b370 SHA512 724150c5cafa934e0a8dd9aebbab8afd25aa4f584734e0de37837ec2e8bdcbd9390acd7f883665be7ecdc27af93afda737a4dea7e3bd7531abffcc5bb7c2c7d2
DIST libvpx-1.14.1-testdata.tar.xz 547349520 BLAKE2B bec234e14bcba84138829c402cb5c7078d0ff0cf90cf4bbd2c1682e5ec71618b26d822a42446cd4826304b778cacc8703271118a1c90ba619ccae87b059e4d08 SHA512 2a43a6fcde74f4cd1b2d15768fcdfdea5d0868a953688edc7fd0ac6fea0128e578235e824a7a10c281dfdb329c65358dc3638f9b807418b8512c8ecbda2586df
DIST libvpx-1.14.1.tar.gz 5614104 BLAKE2B 47b9e4f3864fe82a8d1c9cf81c4bdf42949ccd3ac0c21bdbb7a6898b1bcb5aabb801728aadd68e20e70c807917d9594c85f557e226f3a56de87da6aeb1c6cb4a SHA512 3e3bfad3d035c0bc3db7cb5a194d56d3c90f5963fb1ad527ae5252054e7c48ce2973de1346c97d94b59f7a95d4801bec44214cce10faf123f92b36fca79a8d1e
DIST libvpx-testdata-1.13.1.tar.xz 495765552 BLAKE2B 4aba008653b645c1adbfc0f4e20f675712dbe2ee7cf89a240203b8254a463e0ed83f1e90ab49459ed5bf0489c94feeb12a307b6f05c876404393bb2ed2fe5e0f SHA512 16bfb947c83cb1a8bccbe5c0a533ed2f946c2b207640e0813dd28c1109177157f045ad5679e8a6146482fab48586e9dffccbfeff1cb05ab3dba02e48e9c31bd8
-DIST libvpx-testdata-1.14.0.tar.xz 571257860 BLAKE2B 88cbd11dc4078fcb586d1d2f0d78968f42a8324eb3379496d51ca511be1a30b4b2d4b46b5f68bab601b4b7e90e03bdd307fcd9deba19692c46f6d11cc20617e8 SHA512 ec05ad3b0661acc816caa4a438eda90b7ecee7ef161fb7d9b6bd1efb8134075d6e1bc74229121d3208a4e537367244f3a06b0544a86a00c165f59e57317e2872
diff --git a/media-libs/libvpx/libvpx-1.14.0.ebuild b/media-libs/libvpx/libvpx-1.14.0.ebuild
deleted file mode 100644
index 55962805ff73..000000000000
--- a/media-libs/libvpx/libvpx-1.14.0.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit edo toolchain-funcs multilib-minimal
-
-# To create a new testdata tarball:
-# 1. Unpack source tarball or checkout git tag
-# 2. mkdir libvpx-testdata
-# 3. export LIBVPX_TEST_DATA_PATH=libvpx-testdata
-# 4. ./configure --enable-unit-tests --enable-vp9-highbitdepth
-# 5. make testdata
-# 6. tar -caf libvpx-testdata-${MY_PV}.tar.xz libvpx-testdata
-
-LIBVPX_TESTDATA_VER=1.14.0
-
-DESCRIPTION="WebM VP8 and VP9 Codec SDK"
-HOMEPAGE="https://www.webmproject.org"
-SRC_URI="
- https://github.com/webmproject/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.xz
- https://dev.gentoo.org/~juippis/distfiles/libvpx-testdata-${LIBVPX_TESTDATA_VER}.tar.xz )
-"
-
-LICENSE="BSD"
-SLOT="0/9"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="cpu_flags_ppc_vsx3 doc +highbitdepth postproc static-libs test +threads"
-REQUIRED_USE="test? ( threads )"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-lang/perl
- abi_x86_32? ( dev-lang/yasm )
- abi_x86_64? ( dev-lang/yasm )
- abi_x86_x32? ( dev-lang/yasm )
- doc? (
- app-text/doxygen
- dev-lang/php
- )
-"
-
-PATCHES=(
- # bug #501010
- "${FILESDIR}/${PN}-1.3.0-sparc-configure.patch"
- "${FILESDIR}/${PN}-1.13.1-allow-fortify-source.patch"
-)
-
-src_configure() {
- # bug #384585, bug #465988
- # copied from php-pear-r1.eclass
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/
- addpredict /var/lib/net-snmp/mib_indexes
- addpredict /session_mm_cli0.sem
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # bug #357487
- unset CODECS
- # bug #905986
- unset DIST_DIR
-
- # bug #498364: sse doesn't work without sse2 enabled,
- local myconfargs=(
- --prefix="${EPREFIX}"/usr
- --libdir="${EPREFIX}"/usr/$(get_libdir)
- --enable-pic
- --enable-vp8
- --enable-vp9
- --enable-shared
- --disable-optimizations
- $(use_enable postproc)
- $(use_enable static-libs static)
- $(use_enable test unit-tests)
- $(use_enable threads multithread)
- $(use_enable highbitdepth vp9-highbitdepth)
- )
-
- # let the build system decide which AS to use (it honours $AS but
- # then feeds it with yasm flags without checking...), bug #345161
- tc-export AS
- case "${CHOST}" in
- i?86*) export AS=yasm;;
- x86_64*) export AS=yasm;;
- esac
-
- # libvpx is fragile: both for tests at runtime.
- # We force using the generic target unless we know things work to
- # avoid runtime breakage on exotic arches.
- if [[ ${ABI} == amd64 ]] ; then
- myconfargs+=( --force-target=x86_64-linux-gcc )
- elif [[ ${ABI} == x86 ]] ; then
- myconfargs+=( --force-target=x86-linux-gcc )
- elif [[ ${ABI} == arm64 ]] ; then
- myconfargs+=( --force-target=arm64-linux-gcc )
- elif [[ ${ABI} == arm ]] && [[ ${CHOST} == *armv7* ]] ; then
- myconfargs+=( --force-target=armv7-linux-gcc )
- elif [[ ${ABI} == ppc64 ]] && [[ $(tc-endian) != big ]] && use cpu_flags_ppc_vsx3; then
- # only enable this target for at least power9 CPU running little-endian
- myconfargs+=( --force-target=ppc64le-linux-gcc )
- else
- myconfargs+=( --force-target=generic-gnu )
- fi
-
- # powerpc toolchain is not recognized anymore, bug #694368
- #[[ ${CHOST} == powerpc-* ]] && myconfargs+=( --force-target=generic-gnu )
-
- # Build with correct toolchain.
- tc-export CC CXX AR NM
- # Link with gcc by default, the build system should override this if needed.
- export LD="${CC}"
-
- if multilib_is_native_abi; then
- myconfargs+=( $(use_enable doc install-docs) $(use_enable doc docs) )
- else
- # Not needed for multilib and will be overwritten anyway.
- myconfargs+=( --disable-examples --disable-install-docs --disable-docs )
- fi
-
- edo "${S}"/configure "${myconfargs[@]}"
-}
-
-multilib_src_compile() {
- # Build verbose by default and do not build examples that will not be installed
- # Disable stripping of debug info, bug #752057
- # (only works as long as upstream does not use non-gnu strip)
- emake verbose=yes GEN_EXAMPLES= HAVE_GNU_STRIP=no
-}
-
-multilib_src_test() {
- local -x LD_LIBRARY_PATH="${BUILD_DIR}"
- local -x LIBVPX_TEST_DATA_PATH="${WORKDIR}/${PN}-testdata"
- emake verbose=yes GEN_EXAMPLES= test
-}
-
-multilib_src_install() {
- emake verbose=yes GEN_EXAMPLES= DESTDIR="${D}" install
-
- multilib_is_native_abi && use doc && dodoc -r docs/html
-}
diff --git a/media-libs/libwebp/Manifest b/media-libs/libwebp/Manifest
index e1c3ef2495d7..73a4c1c932d5 100644
--- a/media-libs/libwebp/Manifest
+++ b/media-libs/libwebp/Manifest
@@ -1,2 +1 @@
-DIST libwebp-1.3.2.tar.gz 4162949 BLAKE2B 12b3ff3aa9952dd32ce13656146556d5efb6a66860249a8676721980aee10253a1b0335685a769d995e9954cd305190a8ed1878ba4fefce9dcaf41a3976f9e3d SHA512 2b624d2ecfbff6b4db2719e38f146722638ae262acd96327073a04451dd05fb27ef70c5681187821d251df728a6be7e89209c861c561a13bfb786495a830bc20
DIST libwebp-1.4.0.tar.gz 4281370 BLAKE2B 022cef190284b69af781718a82b28ee9806d7e6b1e642ee0833e608f64f691ef918a83e99db02335fb9f60d24d6f0cfc58e7e05e99a3f13d2118719d40a71722 SHA512 1217363fbb5c860b17c2ba4612f240f121c74ced6e3e58e8aa61252a9022f59893c5874bfa433cc50a7e65bac1ae2bfa99fa2cede070183b7a467f148cebb0bd
diff --git a/media-libs/libwebp/libwebp-1.3.2.ebuild b/media-libs/libwebp/libwebp-1.3.2.ebuild
deleted file mode 100644
index da91a5f0e278..000000000000
--- a/media-libs/libwebp/libwebp-1.3.2.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools multilib-minimal
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="A lossy image compression format"
-HOMEPAGE="https://developers.google.com/speed/webp/download"
-SRC_URI="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0/7" # subslot = libwebp soname version
-if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 gif +jpeg opengl +png static-libs swap-16bit-csp tiff"
-
-# TODO: dev-lang/swig bindings in swig/ subdirectory
-RDEPEND="gif? ( media-libs/giflib:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- opengl? (
- media-libs/freeglut
- virtual/opengl
- )
- png? ( media-libs/libpng:= )
- tiff? ( media-libs/tiff:= )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.2.3-libpng-pkg-config.patch
-)
-
-src_prepare() {
- default
- # Needed for pkg-config patch; use elibtoolize instead if that's ever dropped
- eautoreconf
-}
-
-multilib_src_configure() {
- local args=(
- --enable-libwebpmux
- --enable-libwebpdemux
- --enable-libwebpdecoder
- $(use_enable static-libs static)
- $(use_enable swap-16bit-csp)
- $(use_enable jpeg)
- $(use_enable png)
- $(use_enable opengl gl)
- $(use_enable tiff)
-
- $(use_enable cpu_flags_x86_sse2 sse2)
- $(use_enable cpu_flags_x86_sse4_1 sse4.1)
- $(use_enable cpu_flags_arm_neon neon)
-
- # Only used for gif2webp binary wrt bug #486646
- $(multilib_native_use_enable gif)
- )
-
- ECONF_SOURCE="${S}" econf "${args[@]}"
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name "*.la" -delete || die
- dodoc AUTHORS ChangeLog doc/*.txt NEWS README.md
-}
diff --git a/media-libs/libwebp/libwebp-1.4.0.ebuild b/media-libs/libwebp/libwebp-1.4.0.ebuild
index adc970717512..8e5165f38fcf 100644
--- a/media-libs/libwebp/libwebp-1.4.0.ebuild
+++ b/media-libs/libwebp/libwebp-1.4.0.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0/7" # subslot = libwebp soname version
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 gif +jpeg opengl +png static-libs swap-16bit-csp tiff"
diff --git a/media-libs/libxmp/libxmp-4.6.0.ebuild b/media-libs/libxmp/libxmp-4.6.0.ebuild
index ae61d7ce0174..780d3b51010e 100644
--- a/media-libs/libxmp/libxmp-4.6.0.ebuild
+++ b/media-libs/libxmp/libxmp-4.6.0.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/libxmp/libxmp.git"
else
SRC_URI="https://github.com/libxmp/${PN}/releases/download/${P}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 ~x86"
fi
# bzip2 depacker code is 0BSD
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
index 0a6a5d174a7a..7a171cb9146e 100644
--- a/media-libs/mesa/Manifest
+++ b/media-libs/mesa/Manifest
@@ -1,6 +1,12 @@
DIST mesa-24.1.7.tar.xz 29206724 BLAKE2B b3102fcf96c032d07826186c2d60dc93e5c17b26f725c20cf1e402d1cfbaaba9809bff7a04d3df0179d2ec8606bc9fb391761d17a148671b9270cf2aaca0324d SHA512 890f6387963bbb86a85305ea963cca326a3b3f8f8758ae2082fd62c52df77c2883a359341e91f36614fea59219394ef78f799a334080699a0bb71d984a68cb01
DIST mesa-24.2.3.tar.xz 29465732 BLAKE2B 3c480bd9f5948ae4d66a833cfc059b1b872fca989296a070deaa46aeb72298eaca6a3fa9d13574859623cec4a6af978f44d2c9562b9757be2257364c27600be6 SHA512 7a1ace23568d1907b778a2859f97c8988a414ba74e02e1fb5af6f95f768e1b1a2dfdaf412b0d655678ed915d28273953fd1236ebcd87553a1880f1a7f3ea4d44
DIST mesa-24.2.4.tar.xz 29510040 BLAKE2B a0a977e5032e1c9a5b59dc9212d50b6f023fb9d42d325e692a3c680e77a06e2ccd66843b9eaeeadbf3614b65798c5c4649fb0bb74f134334e662ee9dd47ac21f SHA512 f0f1c23591cce85966efaf3988afdb14b64ceb7216b3994e8fc50e8ddc62c35a84b2013285c84080d963aec2afb94dac345f5f00e7ccf9ae7e9ab3f5b9ba0bcb
+DIST mesa-24.2.5.tar.xz 29534380 BLAKE2B 6ea7303b7e762a3f32ebbccd53a47f28ab6b6919850f55fffc5be10ab2873a206d9f78ef3a2c32c55f6ab94d2886104b9c96f2140fdb7d4c1ac67650d3521441 SHA512 9f202907dc4e7f1063c32882b2c9a3ab34c4d83de1c9ef4dd171043b87b110bfd7e7a3d6e3632ed768e024ef18b97181c4f6bc377cc7d3eb609dd96ebf6a783e
+DIST mesa-24.2.6.tar.xz 29568568 BLAKE2B e49fc85c8a61315d86b253b7dd8052a1e46ea99d5188cf930c833317898c51b7b413286f57a53af3c2b1bb147ce2541ea80279ee9e237deeb499729bb7fd8381 SHA512 830a40d38200ff8b2a6bd949e1ac3bf4edc887a10d9aa92285007d138079e1fafb3568f658e777e7894e95b5ce75d2bd6836b0473fa70d32270005e482b1a2da
+DIST mesa-24.2.7.tar.xz 29589968 BLAKE2B eb1b0285e14e77c3140275b322ff084fca74a1048e6df38f4b14cb03ed7fc436897f7b33d107d1e262d9d4944229fb1e85d02e731c645ead5a7b269dec9334b7 SHA512 8776b45abe5e845c587c0fa9feb22d89f07457265ff63175fb42681ce56dff97b0e163d9e9ac80555ee04decb78754e7331e1015d95c5f84ca3c2549663291dd
+DIST mesa-24.2.8.tar.xz 29622208 BLAKE2B f71a1663f9637883b4c442ba8c68f7960c48c4f8a02412738404386bfb962052923b40c1412198bd29f2ab6cf11654f8c63d4c14a400b89d99229680bc96eaae SHA512 3aa1051a72e1428e42f9537d8f6a26f2ebddc78894e0f71d2cdcc9ed555ea4d6489ad8e74d4c59b8cdf7ea1c629fa725ac2fe1e385db5d3a582d8fe8186392d6
+DIST mesa-24.3.0-rc2.tar.xz 30490544 BLAKE2B 043ca1c90d87ec93788fea1c3911e8703cdd2aa8fbf14eafd3b56be1a8b5cdc25bc6c1fec5adeff10af937e2b2d584c1b44c7dda130c78654f390f4cdfc08db8 SHA512 6f47ad5a7d0d5d3cfb933275e566531c176078edffc582c638678ee5fab6cbece9e66ae92c099e8c494a79883b6728cb7deca9297c8d9b6095b7089401d64f1f
+DIST mesa-24.3.0.tar.xz 30566304 BLAKE2B 43977028609e1be35849e5b72d5cdfbe2052ce959ec43dd649fbf2f3d0f262fbbc3f5194a56a33463eb0b0de8f7f32e4fd2b0dc06cc2f83b27d01bca611f26ec SHA512 20168ae4c278776a60d5febf53b3367cf08bffffb40ef2054821e68d7a8c37a07871d097ab17555f41a4fe716f0de7df95ad7d452b1ed57db6527838eb839ba4
DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
diff --git a/media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch b/media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch
new file mode 100644
index 000000000000..a0d3ef1af912
--- /dev/null
+++ b/media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch
@@ -0,0 +1,85 @@
+https://bugs.gentoo.org/939429
+
+From e1098310da6b9fa7e66dc3fe382ae08d88fd1352 Mon Sep 17 00:00:00 2001
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Date: Mon, 4 Nov 2024 17:45:45 +1100
+Subject: [PATCH] dril: Fixup order of pixel formats in drilConfigs
+
+Having the RGB* formats before the BGR* formats in the table causes
+problems where under some circumstances, some applications end up
+with the wrong colors.
+
+The repro case for me is: Xvnc + mutter + chromium
+
+There was an existing comment in dri_fill_in_modes() which explained
+the problem. This was lost when dril_target.c was created.
+
+Fixes: ec7afd2c24c ("dril: rework config creation")
+Fixes: 3de62b2f9a6 ("gallium/dril: Compatibility stub for the legacy DRI loader interface")
+
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31950>
+---
+ src/gallium/targets/dril/dril_target.c | 36 +++++++++++++++++++-------
+ 1 file changed, 27 insertions(+), 9 deletions(-)
+
+diff --git ./src/gallium/targets/dril/dril_target.c ./src/gallium/targets/dril/dril_target.c
+index 672d50a4182..583728e4093 100644
+--- ./src/gallium/targets/dril/dril_target.c
++++ ./src/gallium/targets/dril/dril_target.c
+@@ -47,25 +47,43 @@
+ CONFIG_ZS(color, PIPE_FORMAT_Z16_UNORM), \
+ CONFIG_ZS(color, PIPE_FORMAT_NONE) \
+
++/*
++ * (copy of a comment in dri_screen.c:dri_fill_in_modes())
++ *
++ * The 32-bit RGBA format must not precede the 32-bit BGRA format.
++ * Likewise for RGBX and BGRX. Otherwise, the GLX client and the GLX
++ * server may disagree on which format the GLXFBConfig represents,
++ * resulting in swapped color channels.
++ *
++ * The problem, as of 2017-05-30:
++ * When matching a GLXFBConfig to a __DRIconfig, GLX ignores the channel
++ * order and chooses the first __DRIconfig with the expected channel
++ * sizes. Specifically, GLX compares the GLXFBConfig's and __DRIconfig's
++ * __DRI_ATTRIB_{CHANNEL}_SIZE but ignores __DRI_ATTRIB_{CHANNEL}_MASK.
++ *
++ * EGL does not suffer from this problem. It correctly compares the
++ * channel masks when matching EGLConfig to __DRIconfig.
++ */
++
+ static const struct gl_config drilConfigs[] = {
+- CONFIG(PIPE_FORMAT_R8G8B8A8_UNORM),
+- CONFIG(PIPE_FORMAT_R8G8B8X8_UNORM),
+ CONFIG(PIPE_FORMAT_B8G8R8A8_UNORM),
+ CONFIG(PIPE_FORMAT_B8G8R8X8_UNORM),
+- CONFIG(PIPE_FORMAT_R10G10B10A2_UNORM),
+- CONFIG(PIPE_FORMAT_R10G10B10X2_UNORM),
++ CONFIG(PIPE_FORMAT_R8G8B8A8_UNORM),
++ CONFIG(PIPE_FORMAT_R8G8B8X8_UNORM),
+ CONFIG(PIPE_FORMAT_B10G10R10A2_UNORM),
+ CONFIG(PIPE_FORMAT_B10G10R10X2_UNORM),
+- CONFIG(PIPE_FORMAT_R5G6B5_UNORM),
+- CONFIG(PIPE_FORMAT_R5G5B5A1_UNORM),
+- CONFIG(PIPE_FORMAT_R5G5B5X1_UNORM),
+- CONFIG(PIPE_FORMAT_R4G4B4A4_UNORM),
+- CONFIG(PIPE_FORMAT_R4G4B4X4_UNORM),
++ CONFIG(PIPE_FORMAT_R10G10B10A2_UNORM),
++ CONFIG(PIPE_FORMAT_R10G10B10X2_UNORM),
+ CONFIG(PIPE_FORMAT_B5G6R5_UNORM),
+ CONFIG(PIPE_FORMAT_B5G5R5A1_UNORM),
+ CONFIG(PIPE_FORMAT_B5G5R5X1_UNORM),
+ CONFIG(PIPE_FORMAT_B4G4R4A4_UNORM),
+ CONFIG(PIPE_FORMAT_B4G4R4X4_UNORM),
++ CONFIG(PIPE_FORMAT_R5G6B5_UNORM),
++ CONFIG(PIPE_FORMAT_R5G5B5A1_UNORM),
++ CONFIG(PIPE_FORMAT_R5G5B5X1_UNORM),
++ CONFIG(PIPE_FORMAT_R4G4B4A4_UNORM),
++ CONFIG(PIPE_FORMAT_R4G4B4X4_UNORM),
+ };
+
+ #define RGB UTIL_FORMAT_COLORSPACE_RGB
+--
+2.45.2
+
diff --git a/media-libs/mesa/mesa-24.1.7.ebuild b/media-libs/mesa/mesa-24.1.7-r1.ebuild
index af5ee095a972..ebfcea5d7aac 100644
--- a/media-libs/mesa/mesa-24.1.7.ebuild
+++ b/media-libs/mesa/mesa-24.1.7-r1.ebuild
@@ -20,6 +20,9 @@ CRATES="
paste@1.0.14
"
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
inherit cargo
DESCRIPTION="OpenGL-like graphic library for Linux"
@@ -154,7 +157,7 @@ DEPEND="${RDEPEND}
BDEPEND="
${PYTHON_DEPS}
opencl? (
- >=virtual/rust-1.62.0
+ ${RUST_DEPEND}
>=dev-util/bindgen-0.58.0
)
>=dev-build/meson-1.4.1
@@ -175,7 +178,7 @@ BDEPEND="
video_cards_nvk? (
>=dev-util/bindgen-0.68.1
>=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
+ ${RUST_DEPEND}
)
)
wayland? ( dev-util/wayland-scanner )
@@ -291,6 +294,10 @@ pkg_setup() {
use llvm && llvm-r1_pkg_setup
python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
}
src_prepare() {
diff --git a/media-libs/mesa/mesa-24.2.3.ebuild b/media-libs/mesa/mesa-24.2.3-r1.ebuild
index a58a2652340e..3dd7cb3ad57b 100644
--- a/media-libs/mesa/mesa-24.2.3.ebuild
+++ b/media-libs/mesa/mesa-24.2.3-r1.ebuild
@@ -20,6 +20,9 @@ CRATES="
paste@1.0.14
"
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
inherit cargo
DESCRIPTION="OpenGL-like graphic library for Linux"
@@ -156,7 +159,7 @@ DEPEND="${RDEPEND}
BDEPEND="
${PYTHON_DEPS}
opencl? (
- >=virtual/rust-1.62.0
+ ${RUST_DEPEND}
>=dev-util/bindgen-0.58.0
)
>=dev-build/meson-1.4.1
@@ -178,7 +181,7 @@ BDEPEND="
video_cards_nvk? (
>=dev-util/bindgen-0.68.1
>=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
+ ${RUST_DEPEND}
)
)
wayland? ( dev-util/wayland-scanner )
@@ -295,6 +298,10 @@ pkg_setup() {
use llvm && llvm-r1_pkg_setup
python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
}
src_prepare() {
diff --git a/media-libs/mesa/mesa-24.2.4.ebuild b/media-libs/mesa/mesa-24.2.4-r1.ebuild
index a58a2652340e..3dd7cb3ad57b 100644
--- a/media-libs/mesa/mesa-24.2.4.ebuild
+++ b/media-libs/mesa/mesa-24.2.4-r1.ebuild
@@ -20,6 +20,9 @@ CRATES="
paste@1.0.14
"
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
inherit cargo
DESCRIPTION="OpenGL-like graphic library for Linux"
@@ -156,7 +159,7 @@ DEPEND="${RDEPEND}
BDEPEND="
${PYTHON_DEPS}
opencl? (
- >=virtual/rust-1.62.0
+ ${RUST_DEPEND}
>=dev-util/bindgen-0.58.0
)
>=dev-build/meson-1.4.1
@@ -178,7 +181,7 @@ BDEPEND="
video_cards_nvk? (
>=dev-util/bindgen-0.68.1
>=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
+ ${RUST_DEPEND}
)
)
wayland? ( dev-util/wayland-scanner )
@@ -295,6 +298,10 @@ pkg_setup() {
use llvm && llvm-r1_pkg_setup
python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
}
src_prepare() {
diff --git a/media-libs/mesa/mesa-24.2.5-r1.ebuild b/media-libs/mesa/mesa-24.2.5-r1.ebuild
new file mode 100644
index 000000000000..3dd7cb3ad57b
--- /dev/null
+++ b/media-libs/mesa/mesa-24.2.5-r1.ebuild
@@ -0,0 +1,497 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} )
+LLVM_OPTIONAL=1
+CARGO_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain
+
+MY_P="${P/_/-}"
+
+CRATES="
+ syn@2.0.68
+ proc-macro2@1.0.86
+ quote@1.0.33
+ unicode-ident@1.0.12
+ paste@1.0.14
+"
+
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
+inherit cargo
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://archive.mesa3d.org/${MY_P}.tar.xz
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
+# but there are "stale" distfiles on the mirrors with the wrong names.
+# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+RADEON_CARDS="r300 r600 radeon radeonsi"
+VIDEO_CARDS="${RADEON_CARDS}
+ d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl
+ vivante vmware zink"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ cpu_flags_x86_sse2 d3d9 debug +llvm
+ lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
+ test unwind vaapi valgrind vdpau vulkan
+ vulkan-overlay wayland +X xa +zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ d3d9? (
+ || (
+ video_cards_freedreno
+ video_cards_intel
+ video_cards_nouveau
+ video_cards_panfrost
+ video_cards_r300
+ video_cards_r600
+ video_cards_radeonsi
+ video_cards_vmware
+ video_cards_zink
+ )
+ )
+ llvm? ( ${LLVM_REQUIRED_USE} )
+ vulkan-overlay? ( vulkan )
+ video_cards_lavapipe? ( llvm vulkan )
+ video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_zink? ( vulkan opengl )
+ video_cards_nvk? ( vulkan video_cards_nouveau )
+ vdpau? ( X )
+ xa? ( X )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
+RDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+ llvm? (
+ $(llvm_gen_dep "
+ sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ opencl? (
+ dev-util/spirv-llvm-translator:\${LLVM_SLOT}
+ sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ )
+ ")
+ video_cards_r600? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_radeon? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ )
+ lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
+ opencl? (
+ >=virtual/opencl-3
+ dev-libs/libclc[spirv(-)]
+ >=dev-util/spirv-tools-1.3.231.0
+ virtual/libelf:0=
+ )
+ vaapi? (
+ >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
+ )
+ vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
+ video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
+ video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
+ selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
+ ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
+ )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+RDEPEND="${RDEPEND}
+ video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
+"
+
+DEPEND="${RDEPEND}
+ video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
+ valgrind? ( dev-debug/valgrind )
+ wayland? ( >=dev-libs/wayland-protocols-1.34 )
+ X? (
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ opencl? (
+ ${RUST_DEPEND}
+ >=dev-util/bindgen-0.58.0
+ )
+ >=dev-build/meson-1.4.1
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ dev-python/pyyaml[\${PYTHON_USEDEP}]
+ ")
+ video_cards_intel? (
+ ~dev-util/intel_clc-${PV}
+ dev-libs/libclc[spirv(-)]
+ $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
+ )
+ vulkan? (
+ dev-util/glslang
+ video_cards_nvk? (
+ >=dev-util/bindgen-0.68.1
+ >=dev-util/cbindgen-0.26.0
+ ${RUST_DEPEND}
+ )
+ )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+QA_WX_LOAD="
+x86? (
+ usr/lib/libglapi.so.0.0.0
+ usr/lib/libOSMesa.so.8.0.0
+ usr/lib/libGLX_mesa.so.0.0.0
+)"
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack ${MY_P}.tar.xz
+ fi
+
+ # We need this because we cannot tell meson to use DISTDIR yet
+ pushd "${DISTDIR}" >/dev/null || die
+ mkdir -p "${S}"/subprojects/packagecache || die
+ local i
+ for i in *.crate; do
+ ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
+ done
+ popd >/dev/null || die
+}
+
+pkg_pretend() {
+ if use vulkan; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_lavapipe &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_nvk &&
+ ! use video_cards_panfrost &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_v3d &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
+ fi
+ fi
+
+ # VA
+ if use vaapi; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use vdpau; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use xa; then
+ if ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_vmware; then
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
+ fi
+ fi
+
+ if ! use llvm; then
+ use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
+ fi
+
+ if use osmesa && ! use llvm; then
+ ewarn "OSMesa will be slow without enabling USE=llvm"
+ fi
+}
+
+python_check_deps() {
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
+ if use llvm && use vulkan && use video_cards_intel && use amd64; then
+ python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
+ fi
+}
+
+pkg_setup() {
+ # warning message for bug 459306
+ if use llvm && has_version sys-devel/llvm[!debug=]; then
+ ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
+ ewarn "detected! This can cause problems. For details, see bug 459306."
+ fi
+
+ if use video_cards_intel ||
+ use video_cards_radeonsi; then
+ if kernel_is -ge 5 11 3; then
+ CONFIG_CHECK="~KCMP"
+ elif kernel_is -ge 5 11; then
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ elif kernel_is -ge 5 10 20; then
+ CONFIG_CHECK="~KCMP"
+ else
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ fi
+ linux-info_pkg_setup
+ fi
+
+ use llvm && llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
+ bin/symbols-check.py || die # bug #830728
+}
+
+multilib_src_configure() {
+ local emesonargs=()
+
+ # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
+ filter-lto
+
+ local platforms
+ use X && platforms+="x11"
+ use wayland && platforms+=",wayland"
+ emesonargs+=(-Dplatforms=${platforms#,})
+
+ if use video_cards_freedreno ||
+ use video_cards_intel || # crocus i915 iris
+ use video_cards_nouveau ||
+ use video_cards_panfrost ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_vmware || # svga
+ use video_cards_zink; then
+ emesonargs+=($(meson_use d3d9 gallium-nine))
+ else
+ emesonargs+=(-Dgallium-nine=false)
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vaapi gallium-va))
+ use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
+ else
+ emesonargs+=(-Dgallium-va=disabled)
+ fi
+
+ if use video_cards_d3d12; then
+ emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vdpau gallium-vdpau))
+ else
+ emesonargs+=(-Dgallium-vdpau=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_intel ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_feature xa gallium-xa))
+ else
+ emesonargs+=(-Dgallium-xa=disabled)
+ fi
+
+ gallium_enable !llvm softpipe
+ gallium_enable llvm llvmpipe
+ gallium_enable video_cards_d3d12 d3d12
+ gallium_enable video_cards_freedreno freedreno
+ gallium_enable video_cards_intel crocus i915 iris
+ gallium_enable video_cards_lima lima
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_panfrost panfrost
+ gallium_enable video_cards_v3d v3d
+ gallium_enable video_cards_vc4 vc4
+ gallium_enable video_cards_virgl virgl
+ gallium_enable video_cards_vivante etnaviv
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_zink zink
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 &&
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+
+ if use llvm && use opencl; then
+ PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
+ # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
+ emesonargs+=(
+ $(meson_native_true gallium-rusticl)
+ -Drust_std=2021
+ )
+ fi
+
+ if use vulkan; then
+ vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_freedreno freedreno
+ vulkan_enable video_cards_intel intel intel_hasvk
+ vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_panfrost panfrost
+ vulkan_enable video_cards_radeonsi amd
+ vulkan_enable video_cards_v3d broadcom
+ vulkan_enable video_cards_vc4 broadcom
+ vulkan_enable video_cards_virgl virtio
+ if use video_cards_nvk; then
+ vulkan_enable video_cards_nvk nouveau
+ if ! multilib_is_native_abi; then
+ echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
+ emesonargs+=(
+ --native-file "${T}"/rust_fix.ini
+ )
+ fi
+ fi
+ fi
+
+ driver_list() {
+ local drivers="$(sort -u <<< "${1// /$'\n'}")"
+ echo "${drivers//$'\n'/,}"
+ }
+
+ local vulkan_layers
+ use vulkan && vulkan_layers+="device-select"
+ use vulkan-overlay && vulkan_layers+=",overlay"
+ emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
+
+ if use opengl && use X; then
+ emesonargs+=(-Dglx=dri)
+ else
+ emesonargs+=(-Dglx=disabled)
+ fi
+
+ if [[ "${ABI}" == amd64 ]]; then
+ emesonargs+=($(meson_feature video_cards_intel intel-rt))
+ fi
+
+ use debug && EMESON_BUILDTYPE=debug
+
+ emesonargs+=(
+ $(meson_use test build-tests)
+ -Dshared-glapi=enabled
+ -Ddri3=enabled
+ -Dexpat=enabled
+ $(meson_use opengl)
+ $(meson_feature opengl gbm)
+ $(meson_feature opengl gles1)
+ $(meson_feature opengl gles2)
+ $(meson_feature opengl glvnd)
+ $(meson_feature opengl egl)
+ $(meson_feature llvm)
+ $(meson_feature lm-sensors lmsensors)
+ $(meson_use osmesa)
+ $(meson_use selinux)
+ $(meson_feature unwind libunwind)
+ $(meson_feature zstd)
+ $(meson_use cpu_flags_x86_sse2 sse2)
+ -Dintel-clc=$(usex video_cards_intel system auto)
+ -Dvalgrind=$(usex valgrind auto disabled)
+ -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
+ -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+ -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+ -Db_ndebug=$(usex debug false true)
+ )
+ meson_src_configure
+
+ if ! multilib_is_native_abi && use video_cards_nvk; then
+ sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
+ fi
+}
+
+multilib_src_test() {
+ meson_src_test -t 100
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+gallium_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ GALLIUM_DRIVERS+=("$@")
+ fi
+}
+
+vulkan_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ VULKAN_DRIVERS+=("$@")
+ fi
+}
diff --git a/media-libs/mesa/mesa-24.2.6-r2.ebuild b/media-libs/mesa/mesa-24.2.6-r2.ebuild
new file mode 100644
index 000000000000..db88d34888ed
--- /dev/null
+++ b/media-libs/mesa/mesa-24.2.6-r2.ebuild
@@ -0,0 +1,501 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} )
+LLVM_OPTIONAL=1
+CARGO_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain
+
+MY_P="${P/_/-}"
+
+CRATES="
+ syn@2.0.68
+ proc-macro2@1.0.86
+ quote@1.0.33
+ unicode-ident@1.0.12
+ paste@1.0.14
+"
+
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
+inherit cargo
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://archive.mesa3d.org/${MY_P}.tar.xz
+ "
+ KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
+# but there are "stale" distfiles on the mirrors with the wrong names.
+# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+RADEON_CARDS="r300 r600 radeon radeonsi"
+VIDEO_CARDS="${RADEON_CARDS}
+ d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl
+ vivante vmware zink"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ cpu_flags_x86_sse2 d3d9 debug +llvm
+ lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
+ test unwind vaapi valgrind vdpau vulkan
+ vulkan-overlay wayland +X xa +zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ d3d9? (
+ || (
+ video_cards_freedreno
+ video_cards_intel
+ video_cards_nouveau
+ video_cards_panfrost
+ video_cards_r300
+ video_cards_r600
+ video_cards_radeonsi
+ video_cards_vmware
+ video_cards_zink
+ )
+ )
+ llvm? ( ${LLVM_REQUIRED_USE} )
+ vulkan-overlay? ( vulkan )
+ video_cards_lavapipe? ( llvm vulkan )
+ video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_zink? ( vulkan opengl )
+ video_cards_nvk? ( vulkan video_cards_nouveau )
+ vdpau? ( X )
+ xa? ( X )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
+RDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+ llvm? (
+ $(llvm_gen_dep "
+ sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ opencl? (
+ dev-util/spirv-llvm-translator:\${LLVM_SLOT}
+ sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ )
+ ")
+ video_cards_r600? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_radeon? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ )
+ lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
+ opencl? (
+ >=virtual/opencl-3
+ dev-libs/libclc[spirv(-)]
+ >=dev-util/spirv-tools-1.3.231.0
+ virtual/libelf:0=
+ )
+ vaapi? (
+ >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
+ )
+ vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
+ video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
+ video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
+ selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
+ ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
+ )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+RDEPEND="${RDEPEND}
+ video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
+"
+
+DEPEND="${RDEPEND}
+ video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
+ valgrind? ( dev-debug/valgrind )
+ wayland? ( >=dev-libs/wayland-protocols-1.34 )
+ X? (
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ opencl? (
+ ${RUST_DEPEND}
+ >=dev-util/bindgen-0.58.0
+ )
+ >=dev-build/meson-1.4.1
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ dev-python/pyyaml[\${PYTHON_USEDEP}]
+ ")
+ video_cards_intel? (
+ ~dev-util/intel_clc-${PV}
+ dev-libs/libclc[spirv(-)]
+ $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
+ )
+ vulkan? (
+ dev-util/glslang
+ video_cards_nvk? (
+ >=dev-util/bindgen-0.68.1
+ >=dev-util/cbindgen-0.26.0
+ ${RUST_DEPEND}
+ )
+ )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch
+)
+
+QA_WX_LOAD="
+x86? (
+ usr/lib/libglapi.so.0.0.0
+ usr/lib/libOSMesa.so.8.0.0
+ usr/lib/libGLX_mesa.so.0.0.0
+)"
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack ${MY_P}.tar.xz
+ fi
+
+ # We need this because we cannot tell meson to use DISTDIR yet
+ pushd "${DISTDIR}" >/dev/null || die
+ mkdir -p "${S}"/subprojects/packagecache || die
+ local i
+ for i in *.crate; do
+ ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
+ done
+ popd >/dev/null || die
+}
+
+pkg_pretend() {
+ if use vulkan; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_lavapipe &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_nvk &&
+ ! use video_cards_panfrost &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_v3d &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
+ fi
+ fi
+
+ # VA
+ if use vaapi; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use vdpau; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use xa; then
+ if ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_vmware; then
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
+ fi
+ fi
+
+ if ! use llvm; then
+ use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
+ fi
+
+ if use osmesa && ! use llvm; then
+ ewarn "OSMesa will be slow without enabling USE=llvm"
+ fi
+}
+
+python_check_deps() {
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
+ if use llvm && use vulkan && use video_cards_intel && use amd64; then
+ python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
+ fi
+}
+
+pkg_setup() {
+ # warning message for bug 459306
+ if use llvm && has_version sys-devel/llvm[!debug=]; then
+ ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
+ ewarn "detected! This can cause problems. For details, see bug 459306."
+ fi
+
+ if use video_cards_intel ||
+ use video_cards_radeonsi; then
+ if kernel_is -ge 5 11 3; then
+ CONFIG_CHECK="~KCMP"
+ elif kernel_is -ge 5 11; then
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ elif kernel_is -ge 5 10 20; then
+ CONFIG_CHECK="~KCMP"
+ else
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ fi
+ linux-info_pkg_setup
+ fi
+
+ use llvm && llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
+ bin/symbols-check.py || die # bug #830728
+}
+
+multilib_src_configure() {
+ local emesonargs=()
+
+ # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
+ filter-lto
+
+ local platforms
+ use X && platforms+="x11"
+ use wayland && platforms+=",wayland"
+ emesonargs+=(-Dplatforms=${platforms#,})
+
+ if use video_cards_freedreno ||
+ use video_cards_intel || # crocus i915 iris
+ use video_cards_nouveau ||
+ use video_cards_panfrost ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_vmware || # svga
+ use video_cards_zink; then
+ emesonargs+=($(meson_use d3d9 gallium-nine))
+ else
+ emesonargs+=(-Dgallium-nine=false)
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vaapi gallium-va))
+ use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
+ else
+ emesonargs+=(-Dgallium-va=disabled)
+ fi
+
+ if use video_cards_d3d12; then
+ emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vdpau gallium-vdpau))
+ else
+ emesonargs+=(-Dgallium-vdpau=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_intel ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_feature xa gallium-xa))
+ else
+ emesonargs+=(-Dgallium-xa=disabled)
+ fi
+
+ gallium_enable !llvm softpipe
+ gallium_enable llvm llvmpipe
+ gallium_enable video_cards_d3d12 d3d12
+ gallium_enable video_cards_freedreno freedreno
+ gallium_enable video_cards_intel crocus i915 iris
+ gallium_enable video_cards_lima lima
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_panfrost panfrost
+ gallium_enable video_cards_v3d v3d
+ gallium_enable video_cards_vc4 vc4
+ gallium_enable video_cards_virgl virgl
+ gallium_enable video_cards_vivante etnaviv
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_zink zink
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 &&
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+
+ if use llvm && use opencl; then
+ PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
+ # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
+ emesonargs+=(
+ $(meson_native_true gallium-rusticl)
+ -Drust_std=2021
+ )
+ fi
+
+ if use vulkan; then
+ vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_freedreno freedreno
+ vulkan_enable video_cards_intel intel intel_hasvk
+ vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_panfrost panfrost
+ vulkan_enable video_cards_radeonsi amd
+ vulkan_enable video_cards_v3d broadcom
+ vulkan_enable video_cards_vc4 broadcom
+ vulkan_enable video_cards_virgl virtio
+ if use video_cards_nvk; then
+ vulkan_enable video_cards_nvk nouveau
+ if ! multilib_is_native_abi; then
+ echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
+ emesonargs+=(
+ --native-file "${T}"/rust_fix.ini
+ )
+ fi
+ fi
+ fi
+
+ driver_list() {
+ local drivers="$(sort -u <<< "${1// /$'\n'}")"
+ echo "${drivers//$'\n'/,}"
+ }
+
+ local vulkan_layers
+ use vulkan && vulkan_layers+="device-select"
+ use vulkan-overlay && vulkan_layers+=",overlay"
+ emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
+
+ if use opengl && use X; then
+ emesonargs+=(-Dglx=dri)
+ else
+ emesonargs+=(-Dglx=disabled)
+ fi
+
+ if [[ "${ABI}" == amd64 ]]; then
+ emesonargs+=($(meson_feature video_cards_intel intel-rt))
+ fi
+
+ use debug && EMESON_BUILDTYPE=debug
+
+ emesonargs+=(
+ $(meson_use test build-tests)
+ -Dshared-glapi=enabled
+ -Ddri3=enabled
+ -Dexpat=enabled
+ $(meson_use opengl)
+ $(meson_feature opengl gbm)
+ $(meson_feature opengl gles1)
+ $(meson_feature opengl gles2)
+ $(meson_feature opengl glvnd)
+ $(meson_feature opengl egl)
+ $(meson_feature llvm)
+ $(meson_feature lm-sensors lmsensors)
+ $(meson_use osmesa)
+ $(meson_use selinux)
+ $(meson_feature unwind libunwind)
+ $(meson_feature zstd)
+ $(meson_use cpu_flags_x86_sse2 sse2)
+ -Dintel-clc=$(usex video_cards_intel system auto)
+ -Dvalgrind=$(usex valgrind auto disabled)
+ -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
+ -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+ -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+ -Db_ndebug=$(usex debug false true)
+ )
+ meson_src_configure
+
+ if ! multilib_is_native_abi && use video_cards_nvk; then
+ sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
+ fi
+}
+
+multilib_src_test() {
+ meson_src_test -t 100
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+gallium_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ GALLIUM_DRIVERS+=("$@")
+ fi
+}
+
+vulkan_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ VULKAN_DRIVERS+=("$@")
+ fi
+}
diff --git a/media-libs/mesa/mesa-24.2.7.ebuild b/media-libs/mesa/mesa-24.2.7.ebuild
new file mode 100644
index 000000000000..3dd7cb3ad57b
--- /dev/null
+++ b/media-libs/mesa/mesa-24.2.7.ebuild
@@ -0,0 +1,497 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} )
+LLVM_OPTIONAL=1
+CARGO_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain
+
+MY_P="${P/_/-}"
+
+CRATES="
+ syn@2.0.68
+ proc-macro2@1.0.86
+ quote@1.0.33
+ unicode-ident@1.0.12
+ paste@1.0.14
+"
+
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
+inherit cargo
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://archive.mesa3d.org/${MY_P}.tar.xz
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
+# but there are "stale" distfiles on the mirrors with the wrong names.
+# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+RADEON_CARDS="r300 r600 radeon radeonsi"
+VIDEO_CARDS="${RADEON_CARDS}
+ d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl
+ vivante vmware zink"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ cpu_flags_x86_sse2 d3d9 debug +llvm
+ lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
+ test unwind vaapi valgrind vdpau vulkan
+ vulkan-overlay wayland +X xa +zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ d3d9? (
+ || (
+ video_cards_freedreno
+ video_cards_intel
+ video_cards_nouveau
+ video_cards_panfrost
+ video_cards_r300
+ video_cards_r600
+ video_cards_radeonsi
+ video_cards_vmware
+ video_cards_zink
+ )
+ )
+ llvm? ( ${LLVM_REQUIRED_USE} )
+ vulkan-overlay? ( vulkan )
+ video_cards_lavapipe? ( llvm vulkan )
+ video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_zink? ( vulkan opengl )
+ video_cards_nvk? ( vulkan video_cards_nouveau )
+ vdpau? ( X )
+ xa? ( X )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
+RDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+ llvm? (
+ $(llvm_gen_dep "
+ sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ opencl? (
+ dev-util/spirv-llvm-translator:\${LLVM_SLOT}
+ sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ )
+ ")
+ video_cards_r600? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_radeon? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ )
+ lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
+ opencl? (
+ >=virtual/opencl-3
+ dev-libs/libclc[spirv(-)]
+ >=dev-util/spirv-tools-1.3.231.0
+ virtual/libelf:0=
+ )
+ vaapi? (
+ >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
+ )
+ vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
+ video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
+ video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
+ selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
+ ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
+ )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+RDEPEND="${RDEPEND}
+ video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
+"
+
+DEPEND="${RDEPEND}
+ video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
+ valgrind? ( dev-debug/valgrind )
+ wayland? ( >=dev-libs/wayland-protocols-1.34 )
+ X? (
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ opencl? (
+ ${RUST_DEPEND}
+ >=dev-util/bindgen-0.58.0
+ )
+ >=dev-build/meson-1.4.1
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ dev-python/pyyaml[\${PYTHON_USEDEP}]
+ ")
+ video_cards_intel? (
+ ~dev-util/intel_clc-${PV}
+ dev-libs/libclc[spirv(-)]
+ $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
+ )
+ vulkan? (
+ dev-util/glslang
+ video_cards_nvk? (
+ >=dev-util/bindgen-0.68.1
+ >=dev-util/cbindgen-0.26.0
+ ${RUST_DEPEND}
+ )
+ )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+QA_WX_LOAD="
+x86? (
+ usr/lib/libglapi.so.0.0.0
+ usr/lib/libOSMesa.so.8.0.0
+ usr/lib/libGLX_mesa.so.0.0.0
+)"
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack ${MY_P}.tar.xz
+ fi
+
+ # We need this because we cannot tell meson to use DISTDIR yet
+ pushd "${DISTDIR}" >/dev/null || die
+ mkdir -p "${S}"/subprojects/packagecache || die
+ local i
+ for i in *.crate; do
+ ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
+ done
+ popd >/dev/null || die
+}
+
+pkg_pretend() {
+ if use vulkan; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_lavapipe &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_nvk &&
+ ! use video_cards_panfrost &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_v3d &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
+ fi
+ fi
+
+ # VA
+ if use vaapi; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use vdpau; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use xa; then
+ if ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_vmware; then
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
+ fi
+ fi
+
+ if ! use llvm; then
+ use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
+ fi
+
+ if use osmesa && ! use llvm; then
+ ewarn "OSMesa will be slow without enabling USE=llvm"
+ fi
+}
+
+python_check_deps() {
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
+ if use llvm && use vulkan && use video_cards_intel && use amd64; then
+ python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
+ fi
+}
+
+pkg_setup() {
+ # warning message for bug 459306
+ if use llvm && has_version sys-devel/llvm[!debug=]; then
+ ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
+ ewarn "detected! This can cause problems. For details, see bug 459306."
+ fi
+
+ if use video_cards_intel ||
+ use video_cards_radeonsi; then
+ if kernel_is -ge 5 11 3; then
+ CONFIG_CHECK="~KCMP"
+ elif kernel_is -ge 5 11; then
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ elif kernel_is -ge 5 10 20; then
+ CONFIG_CHECK="~KCMP"
+ else
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ fi
+ linux-info_pkg_setup
+ fi
+
+ use llvm && llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
+ bin/symbols-check.py || die # bug #830728
+}
+
+multilib_src_configure() {
+ local emesonargs=()
+
+ # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
+ filter-lto
+
+ local platforms
+ use X && platforms+="x11"
+ use wayland && platforms+=",wayland"
+ emesonargs+=(-Dplatforms=${platforms#,})
+
+ if use video_cards_freedreno ||
+ use video_cards_intel || # crocus i915 iris
+ use video_cards_nouveau ||
+ use video_cards_panfrost ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_vmware || # svga
+ use video_cards_zink; then
+ emesonargs+=($(meson_use d3d9 gallium-nine))
+ else
+ emesonargs+=(-Dgallium-nine=false)
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vaapi gallium-va))
+ use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
+ else
+ emesonargs+=(-Dgallium-va=disabled)
+ fi
+
+ if use video_cards_d3d12; then
+ emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vdpau gallium-vdpau))
+ else
+ emesonargs+=(-Dgallium-vdpau=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_intel ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_feature xa gallium-xa))
+ else
+ emesonargs+=(-Dgallium-xa=disabled)
+ fi
+
+ gallium_enable !llvm softpipe
+ gallium_enable llvm llvmpipe
+ gallium_enable video_cards_d3d12 d3d12
+ gallium_enable video_cards_freedreno freedreno
+ gallium_enable video_cards_intel crocus i915 iris
+ gallium_enable video_cards_lima lima
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_panfrost panfrost
+ gallium_enable video_cards_v3d v3d
+ gallium_enable video_cards_vc4 vc4
+ gallium_enable video_cards_virgl virgl
+ gallium_enable video_cards_vivante etnaviv
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_zink zink
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 &&
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+
+ if use llvm && use opencl; then
+ PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
+ # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
+ emesonargs+=(
+ $(meson_native_true gallium-rusticl)
+ -Drust_std=2021
+ )
+ fi
+
+ if use vulkan; then
+ vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_freedreno freedreno
+ vulkan_enable video_cards_intel intel intel_hasvk
+ vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_panfrost panfrost
+ vulkan_enable video_cards_radeonsi amd
+ vulkan_enable video_cards_v3d broadcom
+ vulkan_enable video_cards_vc4 broadcom
+ vulkan_enable video_cards_virgl virtio
+ if use video_cards_nvk; then
+ vulkan_enable video_cards_nvk nouveau
+ if ! multilib_is_native_abi; then
+ echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
+ emesonargs+=(
+ --native-file "${T}"/rust_fix.ini
+ )
+ fi
+ fi
+ fi
+
+ driver_list() {
+ local drivers="$(sort -u <<< "${1// /$'\n'}")"
+ echo "${drivers//$'\n'/,}"
+ }
+
+ local vulkan_layers
+ use vulkan && vulkan_layers+="device-select"
+ use vulkan-overlay && vulkan_layers+=",overlay"
+ emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
+
+ if use opengl && use X; then
+ emesonargs+=(-Dglx=dri)
+ else
+ emesonargs+=(-Dglx=disabled)
+ fi
+
+ if [[ "${ABI}" == amd64 ]]; then
+ emesonargs+=($(meson_feature video_cards_intel intel-rt))
+ fi
+
+ use debug && EMESON_BUILDTYPE=debug
+
+ emesonargs+=(
+ $(meson_use test build-tests)
+ -Dshared-glapi=enabled
+ -Ddri3=enabled
+ -Dexpat=enabled
+ $(meson_use opengl)
+ $(meson_feature opengl gbm)
+ $(meson_feature opengl gles1)
+ $(meson_feature opengl gles2)
+ $(meson_feature opengl glvnd)
+ $(meson_feature opengl egl)
+ $(meson_feature llvm)
+ $(meson_feature lm-sensors lmsensors)
+ $(meson_use osmesa)
+ $(meson_use selinux)
+ $(meson_feature unwind libunwind)
+ $(meson_feature zstd)
+ $(meson_use cpu_flags_x86_sse2 sse2)
+ -Dintel-clc=$(usex video_cards_intel system auto)
+ -Dvalgrind=$(usex valgrind auto disabled)
+ -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
+ -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+ -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+ -Db_ndebug=$(usex debug false true)
+ )
+ meson_src_configure
+
+ if ! multilib_is_native_abi && use video_cards_nvk; then
+ sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
+ fi
+}
+
+multilib_src_test() {
+ meson_src_test -t 100
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+gallium_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ GALLIUM_DRIVERS+=("$@")
+ fi
+}
+
+vulkan_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ VULKAN_DRIVERS+=("$@")
+ fi
+}
diff --git a/media-libs/mesa/mesa-24.2.8.ebuild b/media-libs/mesa/mesa-24.2.8.ebuild
new file mode 100644
index 000000000000..3dd7cb3ad57b
--- /dev/null
+++ b/media-libs/mesa/mesa-24.2.8.ebuild
@@ -0,0 +1,497 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} )
+LLVM_OPTIONAL=1
+CARGO_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain
+
+MY_P="${P/_/-}"
+
+CRATES="
+ syn@2.0.68
+ proc-macro2@1.0.86
+ quote@1.0.33
+ unicode-ident@1.0.12
+ paste@1.0.14
+"
+
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
+inherit cargo
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://archive.mesa3d.org/${MY_P}.tar.xz
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
+# but there are "stale" distfiles on the mirrors with the wrong names.
+# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+RADEON_CARDS="r300 r600 radeon radeonsi"
+VIDEO_CARDS="${RADEON_CARDS}
+ d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl
+ vivante vmware zink"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ cpu_flags_x86_sse2 d3d9 debug +llvm
+ lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
+ test unwind vaapi valgrind vdpau vulkan
+ vulkan-overlay wayland +X xa +zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ d3d9? (
+ || (
+ video_cards_freedreno
+ video_cards_intel
+ video_cards_nouveau
+ video_cards_panfrost
+ video_cards_r300
+ video_cards_r600
+ video_cards_radeonsi
+ video_cards_vmware
+ video_cards_zink
+ )
+ )
+ llvm? ( ${LLVM_REQUIRED_USE} )
+ vulkan-overlay? ( vulkan )
+ video_cards_lavapipe? ( llvm vulkan )
+ video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_zink? ( vulkan opengl )
+ video_cards_nvk? ( vulkan video_cards_nouveau )
+ vdpau? ( X )
+ xa? ( X )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
+RDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+ llvm? (
+ $(llvm_gen_dep "
+ sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ opencl? (
+ dev-util/spirv-llvm-translator:\${LLVM_SLOT}
+ sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ )
+ ")
+ video_cards_r600? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_radeon? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ )
+ lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
+ opencl? (
+ >=virtual/opencl-3
+ dev-libs/libclc[spirv(-)]
+ >=dev-util/spirv-tools-1.3.231.0
+ virtual/libelf:0=
+ )
+ vaapi? (
+ >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
+ )
+ vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
+ video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
+ video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
+ selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
+ ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
+ )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+RDEPEND="${RDEPEND}
+ video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
+"
+
+DEPEND="${RDEPEND}
+ video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
+ valgrind? ( dev-debug/valgrind )
+ wayland? ( >=dev-libs/wayland-protocols-1.34 )
+ X? (
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ opencl? (
+ ${RUST_DEPEND}
+ >=dev-util/bindgen-0.58.0
+ )
+ >=dev-build/meson-1.4.1
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ dev-python/pyyaml[\${PYTHON_USEDEP}]
+ ")
+ video_cards_intel? (
+ ~dev-util/intel_clc-${PV}
+ dev-libs/libclc[spirv(-)]
+ $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
+ )
+ vulkan? (
+ dev-util/glslang
+ video_cards_nvk? (
+ >=dev-util/bindgen-0.68.1
+ >=dev-util/cbindgen-0.26.0
+ ${RUST_DEPEND}
+ )
+ )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+QA_WX_LOAD="
+x86? (
+ usr/lib/libglapi.so.0.0.0
+ usr/lib/libOSMesa.so.8.0.0
+ usr/lib/libGLX_mesa.so.0.0.0
+)"
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack ${MY_P}.tar.xz
+ fi
+
+ # We need this because we cannot tell meson to use DISTDIR yet
+ pushd "${DISTDIR}" >/dev/null || die
+ mkdir -p "${S}"/subprojects/packagecache || die
+ local i
+ for i in *.crate; do
+ ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
+ done
+ popd >/dev/null || die
+}
+
+pkg_pretend() {
+ if use vulkan; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_lavapipe &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_nvk &&
+ ! use video_cards_panfrost &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_v3d &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
+ fi
+ fi
+
+ # VA
+ if use vaapi; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use vdpau; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use xa; then
+ if ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_vmware; then
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
+ fi
+ fi
+
+ if ! use llvm; then
+ use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
+ fi
+
+ if use osmesa && ! use llvm; then
+ ewarn "OSMesa will be slow without enabling USE=llvm"
+ fi
+}
+
+python_check_deps() {
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
+ if use llvm && use vulkan && use video_cards_intel && use amd64; then
+ python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
+ fi
+}
+
+pkg_setup() {
+ # warning message for bug 459306
+ if use llvm && has_version sys-devel/llvm[!debug=]; then
+ ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
+ ewarn "detected! This can cause problems. For details, see bug 459306."
+ fi
+
+ if use video_cards_intel ||
+ use video_cards_radeonsi; then
+ if kernel_is -ge 5 11 3; then
+ CONFIG_CHECK="~KCMP"
+ elif kernel_is -ge 5 11; then
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ elif kernel_is -ge 5 10 20; then
+ CONFIG_CHECK="~KCMP"
+ else
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ fi
+ linux-info_pkg_setup
+ fi
+
+ use llvm && llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
+ bin/symbols-check.py || die # bug #830728
+}
+
+multilib_src_configure() {
+ local emesonargs=()
+
+ # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
+ filter-lto
+
+ local platforms
+ use X && platforms+="x11"
+ use wayland && platforms+=",wayland"
+ emesonargs+=(-Dplatforms=${platforms#,})
+
+ if use video_cards_freedreno ||
+ use video_cards_intel || # crocus i915 iris
+ use video_cards_nouveau ||
+ use video_cards_panfrost ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_vmware || # svga
+ use video_cards_zink; then
+ emesonargs+=($(meson_use d3d9 gallium-nine))
+ else
+ emesonargs+=(-Dgallium-nine=false)
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vaapi gallium-va))
+ use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
+ else
+ emesonargs+=(-Dgallium-va=disabled)
+ fi
+
+ if use video_cards_d3d12; then
+ emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vdpau gallium-vdpau))
+ else
+ emesonargs+=(-Dgallium-vdpau=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_intel ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_feature xa gallium-xa))
+ else
+ emesonargs+=(-Dgallium-xa=disabled)
+ fi
+
+ gallium_enable !llvm softpipe
+ gallium_enable llvm llvmpipe
+ gallium_enable video_cards_d3d12 d3d12
+ gallium_enable video_cards_freedreno freedreno
+ gallium_enable video_cards_intel crocus i915 iris
+ gallium_enable video_cards_lima lima
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_panfrost panfrost
+ gallium_enable video_cards_v3d v3d
+ gallium_enable video_cards_vc4 vc4
+ gallium_enable video_cards_virgl virgl
+ gallium_enable video_cards_vivante etnaviv
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_zink zink
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 &&
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+
+ if use llvm && use opencl; then
+ PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
+ # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
+ emesonargs+=(
+ $(meson_native_true gallium-rusticl)
+ -Drust_std=2021
+ )
+ fi
+
+ if use vulkan; then
+ vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_freedreno freedreno
+ vulkan_enable video_cards_intel intel intel_hasvk
+ vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_panfrost panfrost
+ vulkan_enable video_cards_radeonsi amd
+ vulkan_enable video_cards_v3d broadcom
+ vulkan_enable video_cards_vc4 broadcom
+ vulkan_enable video_cards_virgl virtio
+ if use video_cards_nvk; then
+ vulkan_enable video_cards_nvk nouveau
+ if ! multilib_is_native_abi; then
+ echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
+ emesonargs+=(
+ --native-file "${T}"/rust_fix.ini
+ )
+ fi
+ fi
+ fi
+
+ driver_list() {
+ local drivers="$(sort -u <<< "${1// /$'\n'}")"
+ echo "${drivers//$'\n'/,}"
+ }
+
+ local vulkan_layers
+ use vulkan && vulkan_layers+="device-select"
+ use vulkan-overlay && vulkan_layers+=",overlay"
+ emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
+
+ if use opengl && use X; then
+ emesonargs+=(-Dglx=dri)
+ else
+ emesonargs+=(-Dglx=disabled)
+ fi
+
+ if [[ "${ABI}" == amd64 ]]; then
+ emesonargs+=($(meson_feature video_cards_intel intel-rt))
+ fi
+
+ use debug && EMESON_BUILDTYPE=debug
+
+ emesonargs+=(
+ $(meson_use test build-tests)
+ -Dshared-glapi=enabled
+ -Ddri3=enabled
+ -Dexpat=enabled
+ $(meson_use opengl)
+ $(meson_feature opengl gbm)
+ $(meson_feature opengl gles1)
+ $(meson_feature opengl gles2)
+ $(meson_feature opengl glvnd)
+ $(meson_feature opengl egl)
+ $(meson_feature llvm)
+ $(meson_feature lm-sensors lmsensors)
+ $(meson_use osmesa)
+ $(meson_use selinux)
+ $(meson_feature unwind libunwind)
+ $(meson_feature zstd)
+ $(meson_use cpu_flags_x86_sse2 sse2)
+ -Dintel-clc=$(usex video_cards_intel system auto)
+ -Dvalgrind=$(usex valgrind auto disabled)
+ -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
+ -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+ -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+ -Db_ndebug=$(usex debug false true)
+ )
+ meson_src_configure
+
+ if ! multilib_is_native_abi && use video_cards_nvk; then
+ sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
+ fi
+}
+
+multilib_src_test() {
+ meson_src_test -t 100
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+gallium_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ GALLIUM_DRIVERS+=("$@")
+ fi
+}
+
+vulkan_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ VULKAN_DRIVERS+=("$@")
+ fi
+}
diff --git a/media-libs/mesa/mesa-24.3.0.ebuild b/media-libs/mesa/mesa-24.3.0.ebuild
new file mode 100644
index 000000000000..3c486c964f4c
--- /dev/null
+++ b/media-libs/mesa/mesa-24.3.0.ebuild
@@ -0,0 +1,492 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} )
+LLVM_OPTIONAL=1
+CARGO_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain
+
+MY_P="${P/_/-}"
+
+CRATES="
+ syn@2.0.68
+ proc-macro2@1.0.86
+ quote@1.0.33
+ unicode-ident@1.0.12
+ paste@1.0.14
+"
+
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
+inherit cargo
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://archive.mesa3d.org/${MY_P}.tar.xz
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
+# but there are "stale" distfiles on the mirrors with the wrong names.
+# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+RADEON_CARDS="r300 r600 radeon radeonsi"
+VIDEO_CARDS="${RADEON_CARDS}
+ d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl
+ vivante vmware zink"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ cpu_flags_x86_sse2 d3d9 debug +llvm
+ lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
+ test unwind vaapi valgrind vdpau vulkan
+ wayland +X xa +zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ d3d9? (
+ || (
+ video_cards_freedreno
+ video_cards_intel
+ video_cards_nouveau
+ video_cards_panfrost
+ video_cards_r300
+ video_cards_r600
+ video_cards_radeonsi
+ video_cards_vmware
+ video_cards_zink
+ )
+ )
+ llvm? ( ${LLVM_REQUIRED_USE} )
+ video_cards_lavapipe? ( llvm vulkan )
+ video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_zink? ( vulkan opengl )
+ video_cards_nvk? ( vulkan video_cards_nouveau )
+ vdpau? ( X )
+ xa? ( X )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
+RDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+ llvm? (
+ $(llvm_gen_dep "
+ sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ opencl? (
+ dev-util/spirv-llvm-translator:\${LLVM_SLOT}
+ sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ )
+ ")
+ video_cards_r600? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_radeon? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ )
+ lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
+ opencl? (
+ >=virtual/opencl-3
+ dev-libs/libclc[spirv(-)]
+ >=dev-util/spirv-tools-1.3.231.0
+ virtual/libelf:0=
+ )
+ vaapi? (
+ >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
+ )
+ vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
+ video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
+ video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
+ selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
+ ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
+ )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+RDEPEND="${RDEPEND}
+ video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
+"
+
+DEPEND="${RDEPEND}
+ video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[${MULTILIB_USEDEP}] )
+ valgrind? ( dev-debug/valgrind )
+ wayland? ( >=dev-libs/wayland-protocols-1.38 )
+ X? (
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ opencl? (
+ ${RUST_DEPEND}
+ >=dev-util/bindgen-0.58.0
+ )
+ >=dev-build/meson-1.4.1
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ dev-python/pyyaml[\${PYTHON_USEDEP}]
+ ")
+ video_cards_intel? (
+ ~dev-util/intel_clc-${PV}
+ dev-libs/libclc[spirv(-)]
+ $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
+ )
+ vulkan? (
+ dev-util/glslang
+ video_cards_nvk? (
+ >=dev-util/bindgen-0.68.1
+ >=dev-util/cbindgen-0.26.0
+ ${RUST_DEPEND}
+ )
+ )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+QA_WX_LOAD="
+x86? (
+ usr/lib/libglapi.so.0.0.0
+ usr/lib/libOSMesa.so.8.0.0
+ usr/lib/libGLX_mesa.so.0.0.0
+)"
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack ${MY_P}.tar.xz
+ fi
+
+ # We need this because we cannot tell meson to use DISTDIR yet
+ pushd "${DISTDIR}" >/dev/null || die
+ mkdir -p "${S}"/subprojects/packagecache || die
+ local i
+ for i in *.crate; do
+ ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
+ done
+ popd >/dev/null || die
+}
+
+pkg_pretend() {
+ if use vulkan; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_lavapipe &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_nvk &&
+ ! use video_cards_panfrost &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_v3d &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
+ fi
+ fi
+
+ # VA
+ if use vaapi; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use vdpau; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use xa; then
+ if ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_vmware; then
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
+ fi
+ fi
+
+ if ! use llvm; then
+ use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
+ fi
+
+ if use osmesa && ! use llvm; then
+ ewarn "OSMesa will be slow without enabling USE=llvm"
+ fi
+}
+
+python_check_deps() {
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
+ if use llvm && use vulkan && use video_cards_intel && use amd64; then
+ python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
+ fi
+}
+
+pkg_setup() {
+ # warning message for bug 459306
+ if use llvm && has_version sys-devel/llvm[!debug=]; then
+ ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
+ ewarn "detected! This can cause problems. For details, see bug 459306."
+ fi
+
+ if use video_cards_intel ||
+ use video_cards_radeonsi; then
+ if kernel_is -ge 5 11 3; then
+ CONFIG_CHECK="~KCMP"
+ elif kernel_is -ge 5 11; then
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ elif kernel_is -ge 5 10 20; then
+ CONFIG_CHECK="~KCMP"
+ else
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ fi
+ linux-info_pkg_setup
+ fi
+
+ use llvm && llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
+ bin/symbols-check.py || die # bug #830728
+}
+
+multilib_src_configure() {
+ local emesonargs=()
+
+ # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
+ filter-lto
+
+ local platforms
+ use X && platforms+="x11"
+ use wayland && platforms+=",wayland"
+ emesonargs+=(-Dplatforms=${platforms#,})
+
+ if use video_cards_freedreno ||
+ use video_cards_intel || # crocus i915 iris
+ use video_cards_nouveau ||
+ use video_cards_panfrost ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_vmware || # svga
+ use video_cards_zink; then
+ emesonargs+=($(meson_use d3d9 gallium-nine))
+ else
+ emesonargs+=(-Dgallium-nine=false)
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vaapi gallium-va))
+ use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
+ else
+ emesonargs+=(-Dgallium-va=disabled)
+ fi
+
+ if use video_cards_d3d12; then
+ emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vdpau gallium-vdpau))
+ else
+ emesonargs+=(-Dgallium-vdpau=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_intel ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_feature xa gallium-xa))
+ else
+ emesonargs+=(-Dgallium-xa=disabled)
+ fi
+
+ gallium_enable !llvm softpipe
+ gallium_enable llvm llvmpipe
+ gallium_enable video_cards_d3d12 d3d12
+ gallium_enable video_cards_freedreno freedreno
+ gallium_enable video_cards_intel crocus i915 iris
+ gallium_enable video_cards_lima lima
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_panfrost panfrost
+ gallium_enable video_cards_v3d v3d
+ gallium_enable video_cards_vc4 vc4
+ gallium_enable video_cards_virgl virgl
+ gallium_enable video_cards_vivante etnaviv
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_zink zink
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 &&
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+
+ if use llvm && use opencl; then
+ PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
+ # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
+ emesonargs+=(
+ $(meson_native_true gallium-rusticl)
+ -Drust_std=2021
+ )
+ fi
+
+ if use vulkan; then
+ vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_freedreno freedreno
+ vulkan_enable video_cards_intel intel intel_hasvk
+ vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_panfrost panfrost
+ vulkan_enable video_cards_radeonsi amd
+ vulkan_enable video_cards_v3d broadcom
+ vulkan_enable video_cards_vc4 broadcom
+ vulkan_enable video_cards_virgl virtio
+ if use video_cards_nvk; then
+ vulkan_enable video_cards_nvk nouveau
+ if ! multilib_is_native_abi; then
+ echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
+ emesonargs+=(
+ --native-file "${T}"/rust_fix.ini
+ )
+ fi
+ fi
+
+ emesonargs+=(-Dvulkan-layers=device-select,overlay)
+ fi
+
+ driver_list() {
+ local drivers="$(sort -u <<< "${1// /$'\n'}")"
+ echo "${drivers//$'\n'/,}"
+ }
+
+ if use opengl && use X; then
+ emesonargs+=(-Dglx=dri)
+ else
+ emesonargs+=(-Dglx=disabled)
+ fi
+
+ if [[ "${ABI}" == amd64 ]]; then
+ emesonargs+=($(meson_feature video_cards_intel intel-rt))
+ fi
+
+ use debug && EMESON_BUILDTYPE=debug
+
+ emesonargs+=(
+ $(meson_use test build-tests)
+ -Dshared-glapi=enabled
+ -Dexpat=enabled
+ $(meson_use opengl)
+ $(meson_feature opengl gbm)
+ $(meson_feature opengl gles1)
+ $(meson_feature opengl gles2)
+ $(meson_feature opengl glvnd)
+ $(meson_feature opengl egl)
+ $(meson_feature llvm)
+ $(meson_feature lm-sensors lmsensors)
+ $(meson_use osmesa)
+ $(meson_use selinux)
+ $(meson_feature unwind libunwind)
+ $(meson_feature zstd)
+ $(meson_use cpu_flags_x86_sse2 sse2)
+ -Dintel-clc=$(usex video_cards_intel system auto)
+ -Dvalgrind=$(usex valgrind auto disabled)
+ -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
+ -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+ -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+ -Db_ndebug=$(usex debug false true)
+ )
+ meson_src_configure
+
+ if ! multilib_is_native_abi && use video_cards_nvk; then
+ sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
+ fi
+}
+
+multilib_src_test() {
+ meson_src_test -t 100
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+gallium_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ GALLIUM_DRIVERS+=("$@")
+ fi
+}
+
+vulkan_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ VULKAN_DRIVERS+=("$@")
+ fi
+}
diff --git a/media-libs/mesa/mesa-24.3.0_rc2.ebuild b/media-libs/mesa/mesa-24.3.0_rc2.ebuild
new file mode 100644
index 000000000000..3c486c964f4c
--- /dev/null
+++ b/media-libs/mesa/mesa-24.3.0_rc2.ebuild
@@ -0,0 +1,492 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} )
+LLVM_OPTIONAL=1
+CARGO_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain
+
+MY_P="${P/_/-}"
+
+CRATES="
+ syn@2.0.68
+ proc-macro2@1.0.86
+ quote@1.0.33
+ unicode-ident@1.0.12
+ paste@1.0.14
+"
+
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
+inherit cargo
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://archive.mesa3d.org/${MY_P}.tar.xz
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
+# but there are "stale" distfiles on the mirrors with the wrong names.
+# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+RADEON_CARDS="r300 r600 radeon radeonsi"
+VIDEO_CARDS="${RADEON_CARDS}
+ d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl
+ vivante vmware zink"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ cpu_flags_x86_sse2 d3d9 debug +llvm
+ lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
+ test unwind vaapi valgrind vdpau vulkan
+ wayland +X xa +zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ d3d9? (
+ || (
+ video_cards_freedreno
+ video_cards_intel
+ video_cards_nouveau
+ video_cards_panfrost
+ video_cards_r300
+ video_cards_r600
+ video_cards_radeonsi
+ video_cards_vmware
+ video_cards_zink
+ )
+ )
+ llvm? ( ${LLVM_REQUIRED_USE} )
+ video_cards_lavapipe? ( llvm vulkan )
+ video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_zink? ( vulkan opengl )
+ video_cards_nvk? ( vulkan video_cards_nouveau )
+ vdpau? ( X )
+ xa? ( X )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
+RDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+ llvm? (
+ $(llvm_gen_dep "
+ sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ opencl? (
+ dev-util/spirv-llvm-translator:\${LLVM_SLOT}
+ sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ )
+ ")
+ video_cards_r600? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_radeon? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ )
+ lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
+ opencl? (
+ >=virtual/opencl-3
+ dev-libs/libclc[spirv(-)]
+ >=dev-util/spirv-tools-1.3.231.0
+ virtual/libelf:0=
+ )
+ vaapi? (
+ >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
+ )
+ vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] )
+ video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
+ video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
+ selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
+ ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
+ )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+RDEPEND="${RDEPEND}
+ video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
+"
+
+DEPEND="${RDEPEND}
+ video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[${MULTILIB_USEDEP}] )
+ valgrind? ( dev-debug/valgrind )
+ wayland? ( >=dev-libs/wayland-protocols-1.38 )
+ X? (
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ opencl? (
+ ${RUST_DEPEND}
+ >=dev-util/bindgen-0.58.0
+ )
+ >=dev-build/meson-1.4.1
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ dev-python/pyyaml[\${PYTHON_USEDEP}]
+ ")
+ video_cards_intel? (
+ ~dev-util/intel_clc-${PV}
+ dev-libs/libclc[spirv(-)]
+ $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
+ )
+ vulkan? (
+ dev-util/glslang
+ video_cards_nvk? (
+ >=dev-util/bindgen-0.68.1
+ >=dev-util/cbindgen-0.26.0
+ ${RUST_DEPEND}
+ )
+ )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+QA_WX_LOAD="
+x86? (
+ usr/lib/libglapi.so.0.0.0
+ usr/lib/libOSMesa.so.8.0.0
+ usr/lib/libGLX_mesa.so.0.0.0
+)"
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack ${MY_P}.tar.xz
+ fi
+
+ # We need this because we cannot tell meson to use DISTDIR yet
+ pushd "${DISTDIR}" >/dev/null || die
+ mkdir -p "${S}"/subprojects/packagecache || die
+ local i
+ for i in *.crate; do
+ ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
+ done
+ popd >/dev/null || die
+}
+
+pkg_pretend() {
+ if use vulkan; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_lavapipe &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_nvk &&
+ ! use video_cards_panfrost &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_v3d &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
+ fi
+ fi
+
+ # VA
+ if use vaapi; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use vdpau; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use xa; then
+ if ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_vmware; then
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware"
+ fi
+ fi
+
+ if ! use llvm; then
+ use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
+ fi
+
+ if use osmesa && ! use llvm; then
+ ewarn "OSMesa will be slow without enabling USE=llvm"
+ fi
+}
+
+python_check_deps() {
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
+ if use llvm && use vulkan && use video_cards_intel && use amd64; then
+ python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
+ fi
+}
+
+pkg_setup() {
+ # warning message for bug 459306
+ if use llvm && has_version sys-devel/llvm[!debug=]; then
+ ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
+ ewarn "detected! This can cause problems. For details, see bug 459306."
+ fi
+
+ if use video_cards_intel ||
+ use video_cards_radeonsi; then
+ if kernel_is -ge 5 11 3; then
+ CONFIG_CHECK="~KCMP"
+ elif kernel_is -ge 5 11; then
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ elif kernel_is -ge 5 10 20; then
+ CONFIG_CHECK="~KCMP"
+ else
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ fi
+ linux-info_pkg_setup
+ fi
+
+ use llvm && llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
+ bin/symbols-check.py || die # bug #830728
+}
+
+multilib_src_configure() {
+ local emesonargs=()
+
+ # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
+ filter-lto
+
+ local platforms
+ use X && platforms+="x11"
+ use wayland && platforms+=",wayland"
+ emesonargs+=(-Dplatforms=${platforms#,})
+
+ if use video_cards_freedreno ||
+ use video_cards_intel || # crocus i915 iris
+ use video_cards_nouveau ||
+ use video_cards_panfrost ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_vmware || # svga
+ use video_cards_zink; then
+ emesonargs+=($(meson_use d3d9 gallium-nine))
+ else
+ emesonargs+=(-Dgallium-nine=false)
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vaapi gallium-va))
+ use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
+ else
+ emesonargs+=(-Dgallium-va=disabled)
+ fi
+
+ if use video_cards_d3d12; then
+ emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vdpau gallium-vdpau))
+ else
+ emesonargs+=(-Dgallium-vdpau=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_intel ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_feature xa gallium-xa))
+ else
+ emesonargs+=(-Dgallium-xa=disabled)
+ fi
+
+ gallium_enable !llvm softpipe
+ gallium_enable llvm llvmpipe
+ gallium_enable video_cards_d3d12 d3d12
+ gallium_enable video_cards_freedreno freedreno
+ gallium_enable video_cards_intel crocus i915 iris
+ gallium_enable video_cards_lima lima
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_panfrost panfrost
+ gallium_enable video_cards_v3d v3d
+ gallium_enable video_cards_vc4 vc4
+ gallium_enable video_cards_virgl virgl
+ gallium_enable video_cards_vivante etnaviv
+ gallium_enable video_cards_vmware svga
+ gallium_enable video_cards_zink zink
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 &&
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+
+ if use llvm && use opencl; then
+ PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
+ # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
+ emesonargs+=(
+ $(meson_native_true gallium-rusticl)
+ -Drust_std=2021
+ )
+ fi
+
+ if use vulkan; then
+ vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_freedreno freedreno
+ vulkan_enable video_cards_intel intel intel_hasvk
+ vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_panfrost panfrost
+ vulkan_enable video_cards_radeonsi amd
+ vulkan_enable video_cards_v3d broadcom
+ vulkan_enable video_cards_vc4 broadcom
+ vulkan_enable video_cards_virgl virtio
+ if use video_cards_nvk; then
+ vulkan_enable video_cards_nvk nouveau
+ if ! multilib_is_native_abi; then
+ echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
+ emesonargs+=(
+ --native-file "${T}"/rust_fix.ini
+ )
+ fi
+ fi
+
+ emesonargs+=(-Dvulkan-layers=device-select,overlay)
+ fi
+
+ driver_list() {
+ local drivers="$(sort -u <<< "${1// /$'\n'}")"
+ echo "${drivers//$'\n'/,}"
+ }
+
+ if use opengl && use X; then
+ emesonargs+=(-Dglx=dri)
+ else
+ emesonargs+=(-Dglx=disabled)
+ fi
+
+ if [[ "${ABI}" == amd64 ]]; then
+ emesonargs+=($(meson_feature video_cards_intel intel-rt))
+ fi
+
+ use debug && EMESON_BUILDTYPE=debug
+
+ emesonargs+=(
+ $(meson_use test build-tests)
+ -Dshared-glapi=enabled
+ -Dexpat=enabled
+ $(meson_use opengl)
+ $(meson_feature opengl gbm)
+ $(meson_feature opengl gles1)
+ $(meson_feature opengl gles2)
+ $(meson_feature opengl glvnd)
+ $(meson_feature opengl egl)
+ $(meson_feature llvm)
+ $(meson_feature lm-sensors lmsensors)
+ $(meson_use osmesa)
+ $(meson_use selinux)
+ $(meson_feature unwind libunwind)
+ $(meson_feature zstd)
+ $(meson_use cpu_flags_x86_sse2 sse2)
+ -Dintel-clc=$(usex video_cards_intel system auto)
+ -Dvalgrind=$(usex valgrind auto disabled)
+ -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
+ -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+ -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+ -Db_ndebug=$(usex debug false true)
+ )
+ meson_src_configure
+
+ if ! multilib_is_native_abi && use video_cards_nvk; then
+ sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
+ fi
+}
+
+multilib_src_test() {
+ meson_src_test -t 100
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+gallium_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ GALLIUM_DRIVERS+=("$@")
+ fi
+}
+
+vulkan_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ VULKAN_DRIVERS+=("$@")
+ fi
+}
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 477f8e886fcc..3c486c964f4c 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -20,6 +20,9 @@ CRATES="
paste@1.0.14
"
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
inherit cargo
DESCRIPTION="OpenGL-like graphic library for Linux"
@@ -144,9 +147,9 @@ RDEPEND="${RDEPEND}
"
DEPEND="${RDEPEND}
- video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
+ video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[${MULTILIB_USEDEP}] )
valgrind? ( dev-debug/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.34 )
+ wayland? ( >=dev-libs/wayland-protocols-1.38 )
X? (
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-base/xorg-proto
@@ -155,7 +158,7 @@ DEPEND="${RDEPEND}
BDEPEND="
${PYTHON_DEPS}
opencl? (
- >=virtual/rust-1.62.0
+ ${RUST_DEPEND}
>=dev-util/bindgen-0.58.0
)
>=dev-build/meson-1.4.1
@@ -177,7 +180,7 @@ BDEPEND="
video_cards_nvk? (
>=dev-util/bindgen-0.68.1
>=dev-util/cbindgen-0.26.0
- >=virtual/rust-1.74.1
+ ${RUST_DEPEND}
)
)
wayland? ( dev-util/wayland-scanner )
@@ -294,6 +297,10 @@ pkg_setup() {
use llvm && llvm-r1_pkg_setup
python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
}
src_prepare() {
diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
index 24d0d7b25b88..46d7ce7f13a9 100644
--- a/media-libs/mlt/Manifest
+++ b/media-libs/mlt/Manifest
@@ -1 +1,2 @@
DIST mlt-7.24.0.tar.gz 1662552 BLAKE2B f6e83b3c3fd9e3bf64366a6f6165b1839003b0fd058e1368e0648e011eff6da1a9af9fa7652aff032bc4ed4465be4648b5f1ae25fc102397aa9ae2d19981643a SHA512 a9e7fd5dc04152e523456bad244416b4fdeb5961ee7cadb816dd1393277d1d801200db595dcd28e520d76e6b2caca17e65c39b0256beb7c42a58ef241b85471d
+DIST mlt-7.28.0.tar.gz 1713069 BLAKE2B 5f9ec615324cd2095131a57b9dc0f79138d48eaa91b62574a028370be2d1c7ec6818ee2b5a9c123d35ec73993c8b2271c8dec4f039273a8443c2674c31e86fbf SHA512 a252da56b668968e56a7b0e81283b0b8e0ec8cd28502e3ab6e0aff67e22620ba61bf4feb88134e0d483884e31f2d18efe2d60b6badf0b6ffae4ad26ee646baf9
diff --git a/media-libs/mlt/files/mlt-7.24.0-musl-build-fix.patch b/media-libs/mlt/files/mlt-7.24.0-musl-build-fix.patch
deleted file mode 100644
index 7349c5dc1a9d..000000000000
--- a/media-libs/mlt/files/mlt-7.24.0-musl-build-fix.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-https://github.com/mltframework/mlt/pull/1009
-From: Brahmajit Das <brahmajit.xyz@gmail.com>
-Date: Sat, 27 Jul 2024 14:51:47 +0000
-Subject: [PATCH 1/1] Fix building on musl libc
-
-Not every Linux distribution uses GLibc, hence the code under
-```
-\#if defined(__linux__) || defined(__GLIBC__)
-```
-is not evaluated properly on non GLibc Linux distributions resulting in
-build errors such as:
-
-```
-/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_properties.c: In function 'mlt_properties_set_lcnumeric':
-/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_properties.c:154:22: error: assignment to 'mlt_locale_t' {aka 'struct __locale_struct *'} from incompatible pointer type 'char *' [-Wincompatible-pointer-types]
- 154 | list->locale = strdup(locale);
- | ^
-/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_properties.c: In function 'mlt_properties_get_lcnumeric':
-/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_properties.c:186:16: error: assignment to 'const char *' from incompatible pointer type 'mlt_locale_t' {aka 'struct __locale_struct *'} [-Wincompatible-pointer-types]
- 186 | result = list->locale;
- | ^
-[11/173] /usr/bin/x86_64-pc-linux-musl-gcc -DPREFIX_DATA=\"/usr/share/mlt-7\" -DPREFIX_LIB=\"/usr/lib/mlt-7\" -Dmlt_EXPORTS -I/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/.. -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -std=gnu11 -fPIC -mmmx -msse -msse2 -MD -MT src/framework/CMakeFiles/mlt.dir/mlt_property.c.o -MF src/framework/CMakeFiles/mlt.dir/mlt_property.c.o.d -o src/framework/CMakeFiles/mlt.dir/mlt_property.c.o -c /var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.c
-FAILED: src/framework/CMakeFiles/mlt.dir/mlt_property.c.o
-/usr/bin/x86_64-pc-linux-musl-gcc -DPREFIX_DATA=\"/usr/share/mlt-7\" -DPREFIX_LIB=\"/usr/lib/mlt-7\" -Dmlt_EXPORTS -I/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/.. -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -std=gnu11 -fPIC -mmmx -msse -msse2 -MD -MT src/framework/CMakeFiles/mlt.dir/mlt_property.c.o -MF src/framework/CMakeFiles/mlt.dir/mlt_property.c.o.d -o src/framework/CMakeFiles/mlt.dir/mlt_property.c.o -c /var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.c
-/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.c: In function 'time_clock_to_frames':
-/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.c:331:31: error: passing argument 2 of 'setlocale' from incompatible pointer type [-Wincompatible-pointer-types]
- 331 | setlocale(LC_NUMERIC, locale);
- | ^~~~~~
- | |
- | mlt_locale_t {aka struct __locale_struct *}
-In file included from /var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.h:34,
- from /var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.c:28:
-/usr/include/locale.h:55:23: note: expected 'const char *' but argument is of type 'mlt_locale_t' {aka 'struct __locale_struct *'}
- 55 | char *setlocale (int, const char *);
-```
-
-Reported on Gentoo Linux with musl libc.
-Please refer bug: https://bugs.gentoo.org/936747 for more details.
-
-Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
---- a/src/framework/mlt_property.h
-+++ b/src/framework/mlt_property.h
-@@ -30,7 +30,7 @@
- #include <sys/param.h>
- #endif
-
--#if defined(__linux__) || defined(__GLIBC__)
-+#if defined(__GLIBC__)
- #include <locale.h>
- typedef locale_t mlt_locale_t;
- #elif defined(__APPLE__) || (defined(__FreeBSD_version) && __FreeBSD_version >= 900506)
---
-2.45.2
-
diff --git a/media-libs/mlt/files/mlt-7.28.0-fix-32bit.patch b/media-libs/mlt/files/mlt-7.28.0-fix-32bit.patch
new file mode 100644
index 000000000000..a56dffe2c75d
--- /dev/null
+++ b/media-libs/mlt/files/mlt-7.28.0-fix-32bit.patch
@@ -0,0 +1,101 @@
+From 6f533e7b8999bc4017c1a6685bf2baea6570d44c Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Tue, 24 Sep 2024 09:47:46 -0700
+Subject: [PATCH 1/3] fix #1020 Mlt::Producer::set_creation_time() not exported
+ on i686
+
+---
+ src/mlt++/mlt++.vers | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/mlt++/mlt++.vers b/src/mlt++/mlt++.vers
+index 1934decd..c47f017a 100644
+--- a/src/mlt++/mlt++.vers
++++ b/src/mlt++/mlt++.vers
+@@ -540,7 +540,8 @@ MLTPP_6.14.0 {
+ "Mlt::Service::set_profile(mlt_profile_s*)";
+ "Mlt::Playlist::reorder(int const*)";
+ "Mlt::Transition::connect(Mlt::Service&, int, int)";
+- "Mlt::Producer::set_creation_time(long)";
++# "Mlt::Producer::set_creation_time(long)";
++ _ZN3Mlt8Producer17set_creation_timeE[lx];
+ "Mlt::Producer::get_creation_time()";
+ };
+ } MLTPP_6.10.0;
+--
+2.46.1
+
+
+From 2072c6b3596854f1a7165d7ddd5994204e741db8 Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Tue, 24 Sep 2024 10:00:51 -0700
+Subject: [PATCH 2/3] fix mlt++.vers #1020
+
+---
+ src/mlt++/mlt++.vers | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/mlt++/mlt++.vers b/src/mlt++/mlt++.vers
+index c47f017a..2d8c1dda 100644
+--- a/src/mlt++/mlt++.vers
++++ b/src/mlt++/mlt++.vers
+@@ -540,10 +540,10 @@ MLTPP_6.14.0 {
+ "Mlt::Service::set_profile(mlt_profile_s*)";
+ "Mlt::Playlist::reorder(int const*)";
+ "Mlt::Transition::connect(Mlt::Service&, int, int)";
+-# "Mlt::Producer::set_creation_time(long)";
+- _ZN3Mlt8Producer17set_creation_timeE[lx];
+ "Mlt::Producer::get_creation_time()";
+ };
++# "Mlt::Producer::set_creation_time(long)";
++ _ZN3Mlt8Producer17set_creation_timeE[lx];
+ } MLTPP_6.10.0;
+
+ MLTPP_6.18.0 {
+--
+2.46.1
+
+
+From 63953cf7338181c82eb6eb9f93c8c9a11aaee5f7 Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Tue, 24 Sep 2024 10:55:16 -0700
+Subject: [PATCH 3/3] fix Mlt::Properties::set(int64_t) symbol version
+
+Related to #1020
+---
+ src/mlt++/mlt++.vers | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/mlt++/mlt++.vers b/src/mlt++/mlt++.vers
+index 2d8c1dda..19300de3 100644
+--- a/src/mlt++/mlt++.vers
++++ b/src/mlt++/mlt++.vers
+@@ -310,7 +310,6 @@ MLTPP_0.8.8 {
+ "Mlt::Properties::set(char const*, char const*)";
+ "Mlt::Properties::set(char const*, double)";
+ "Mlt::Properties::set(char const*, int)";
+- "Mlt::Properties::set(char const*, long)";
+ "Mlt::Properties::set(char const*, void*, int, void (*)(void*), char* (*)(void*, int))";
+ "Mlt::Properties::set_lcnumeric(char const*)";
+ "Mlt::Properties::setup_wait_for(char const*)";
+@@ -414,6 +413,8 @@ MLTPP_0.8.8 {
+ "Mlt::Transition::Transition(Mlt::Transition&)";
+ "Mlt::Transition::Transition(mlt_transition_s*)";
+ };
++# "Mlt::Properties::set(char const*, int64_t)";
++ _ZN3Mlt10Properties3setEPKc[lx];
+
+ local: *;
+ };
+@@ -542,7 +543,7 @@ MLTPP_6.14.0 {
+ "Mlt::Transition::connect(Mlt::Service&, int, int)";
+ "Mlt::Producer::get_creation_time()";
+ };
+-# "Mlt::Producer::set_creation_time(long)";
++# "Mlt::Producer::set_creation_time(int64_t)";
+ _ZN3Mlt8Producer17set_creation_timeE[lx];
+ } MLTPP_6.10.0;
+
+--
+2.46.1
+
diff --git a/media-libs/mlt/mlt-7.24.0-r1.ebuild b/media-libs/mlt/mlt-7.28.0-r1.ebuild
index f29e65ccd11d..ee6fb6c20216 100644
--- a/media-libs/mlt/mlt-7.24.0-r1.ebuild
+++ b/media-libs/mlt/mlt-7.28.0-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit python-single-r1 cmake flag-o-matic
DESCRIPTION="Open source multimedia framework for television broadcasting"
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar
LICENSE="GPL-3"
SLOT="0/7"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug ffmpeg frei0r gtk jack libsamplerate opencv opengl python qt5 qt6 rtaudio rubberband sdl test vdpau vidstab xine xml"
+IUSE="debug ffmpeg frei0r gtk jack libsamplerate opencv opengl python qt6 rtaudio rubberband sdl test vdpau vidstab xine xml"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -38,22 +38,18 @@ DEPEND="
virtual/jack
)
libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
- opencv? ( >=media-libs/opencv-4.5.1:=[contrib] )
+ opencv? (
+ >=media-libs/opencv-4.5.1:=[contrib]
+ || (
+ media-libs/opencv[ffmpeg]
+ media-libs/opencv[gstreamer]
+ )
+ )
opengl? (
media-libs/libglvnd
media-video/movit
)
python? ( ${PYTHON_DEPS} )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- media-libs/libexif
- x11-libs/libX11
- )
qt6? (
dev-qt/qt5compat:6
dev-qt/qtbase:6[gui,network,opengl,widgets,xml]
@@ -65,7 +61,7 @@ DEPEND="
>=media-libs/rtaudio-4.1.2
kernel_linux? ( media-libs/alsa-lib )
)
- rubberband? ( media-libs/rubberband )
+ rubberband? ( media-libs/rubberband:= )
sdl? (
media-libs/libsdl2[X,opengl,video]
media-libs/sdl2-image
@@ -93,7 +89,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
"${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
"${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch
- "${FILESDIR}"/${PN}-7.24.0-musl-build-fix.patch
+ # in git master, https://github.com/mltframework/mlt/issues/1020
+ "${FILESDIR}"/${P}-fix-32bit.patch
)
pkg_setup() {
@@ -119,29 +116,31 @@ src_configure() {
-DCLANG_FORMAT=OFF
-DGPL=ON
-DGPL3=ON
- -DBUILD_TESTING=$(usex test)
+ -DMOD_QT=OFF
+ -DMOD_GLAXNIMATE=OFF
-DMOD_KDENLIVE=ON
+ -DMOD_PLUS=ON
-DMOD_SDL1=OFF
- -DMOD_SDL2=$(usex sdl)
+ -DMOD_SOX=OFF
+ -DMOD_SPATIALAUDIO=OFF # TODO: package libspatialaudio
+ -DUSE_LV2=OFF # TODO
+ -DUSE_VST2=OFF # TODO
-DMOD_AVFORMAT=$(usex ffmpeg)
- -DMOD_PLUS=ON
-DMOD_FREI0R=$(usex frei0r)
-DMOD_GDK=$(usex gtk)
-DMOD_JACKRACK=$(usex jack)
-DMOD_RESAMPLE=$(usex libsamplerate)
-DMOD_OPENCV=$(usex opencv)
- -DMOD_SPATIALAUDIO=OFF # TODO: package libspatialaudio
-DMOD_MOVIT=$(usex opengl)
- -DMOD_QT=$(usex qt5)
- -DMOD_GLAXNIMATE=$(usex qt5)
-DMOD_QT6=$(usex qt6)
-DMOD_GLAXNIMATE_QT6=$(usex qt6)
-DMOD_RTAUDIO=$(usex rtaudio)
-DMOD_RUBBERBAND=$(usex rubberband)
+ -DMOD_SDL2=$(usex sdl)
+ -DBUILD_TESTING=$(usex test)
-DMOD_VIDSTAB=$(usex vidstab)
-DMOD_XINE=$(usex xine)
-DMOD_XML=$(usex xml)
- -DMOD_SOX=OFF
)
# TODO: rework upstream CMake to allow controlling MMX/SSE/SSE2
diff --git a/media-libs/mutagen/mutagen-1.47.0.ebuild b/media-libs/mutagen/mutagen-1.47.0.ebuild
index 52e68edf74b5..2bb0f543ea53 100644
--- a/media-libs/mutagen/mutagen-1.47.0.ebuild
+++ b/media-libs/mutagen/mutagen-1.47.0.ebuild
@@ -23,7 +23,7 @@ KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-li
BDEPEND="
test? (
- dev-python/eyeD3[${PYTHON_USEDEP}]
+ dev-python/eyed3[${PYTHON_USEDEP}]
dev-python/hypothesis[${PYTHON_USEDEP}]
media-libs/flac[ogg]
)
diff --git a/media-libs/nanosvg/nanosvg-20231202.ebuild b/media-libs/nanosvg/nanosvg-20231202.ebuild
index 5ed44ccfc76b..89bfe4c41f5b 100644
--- a/media-libs/nanosvg/nanosvg-20231202.ebuild
+++ b/media-libs/nanosvg/nanosvg-20231202.ebuild
@@ -14,4 +14,4 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
diff --git a/media-libs/nas/files/nas-1.9.2-asneeded.patch b/media-libs/nas/files/nas-1.9.2-asneeded.patch
deleted file mode 100644
index 8c588be136f2..000000000000
--- a/media-libs/nas/files/nas-1.9.2-asneeded.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-http://bugs.gentoo.org/show_bug.cgi?id=247761
-
---- a/config/NetAudio.tmpl
-+++ b/config/NetAudio.tmpl
-@@ -162,7 +162,7 @@
-
- AUDIODEPLIBS = $(DEPAULIB) $(DEPXTOOLLIB) $(DEPXLIB)
- #ifndef WIN32
-- AUDIOLIBS = $(AULIB) $(XTOOLLIB) $(XLIB) -lm
-+ AUDIOLIBS = $(AULIB) $(XTOOLLIB) $(XAUTHLIB) $(XLIB) -lm
- #else /* WIN32 */
- AUDIOLIBS = $(AULIB)
- #endif /* WIN32 */
diff --git a/media-libs/nas/files/nas-1.9.4-libfl.patch b/media-libs/nas/files/nas-1.9.4-libfl.patch
deleted file mode 100644
index cea30f46ba69..000000000000
--- a/media-libs/nas/files/nas-1.9.4-libfl.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -pur nas-1.9.4-orig/server/Imakefile nas-1.9.4/server/Imakefile
---- a/server/Imakefile 2013-04-27 02:41:06.000000000 +0200
-+++ b/server/Imakefile 2017-03-14 18:58:27.445311356 +0100
-@@ -57,7 +57,7 @@ XCOMM $NCDId: @(#)Imakefile,v 1.17 1995/
-
- # endif
- #else
-- SYSLIBS =
-+ SYSLIBS = $(LEXLIB)
- #endif
-
- #ifdef NetBSDArchitecture
diff --git a/media-libs/nas/nas-1.9.5.ebuild b/media-libs/nas/nas-1.9.5.ebuild
deleted file mode 100644
index 87a1fe0d13fc..000000000000
--- a/media-libs/nas/nas-1.9.5.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib multilib-minimal toolchain-funcs
-
-DESCRIPTION="Network Audio System"
-HOMEPAGE="https://radscan.com/nas.html"
-SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
-
-LICENSE="HPND MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="doc static-libs"
-
-RDEPEND="
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libXau[${MULTILIB_USEDEP}]
- x11-libs/libXaw
- x11-libs/libXext
- x11-libs/libXmu
- x11-libs/libXpm
- x11-libs/libXt[${MULTILIB_USEDEP}]"
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto"
-BDEPEND="
- app-text/rman
- app-alternatives/yacc
- app-alternatives/lex
- sys-devel/gcc
- x11-misc/gccmakedep
- riscv? ( x11-misc/xorg-cf-files )
- >=x11-misc/imake-1.0.8-r1"
-
-DOCS=( BUILDNOTES FAQ HISTORY README RELEASE TODO )
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.9.2-asneeded.patch"
- "${FILESDIR}/${PN}-1.9.4-libfl.patch"
-)
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # Need to run econf so that config.guess is updated
- pushd config || die
- econf
- popd || die
-
- local cpp=($(get_abi_CHOST ${DEFAULT_ABI})-gcc $(get_abi_CFLAGS) -E) #884203
- CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" \
- IMAKECPP="${IMAKECPP:-${cpp[*]}}" \
- xmkmf -a || die
-}
-
-multilib_src_compile() {
- # EXTRA_LDOPTIONS, SHLIBGLOBALSFLAGS #336564#c2
- local emakeopts=(
- AR="$(tc-getAR) cq"
- AS="$(tc-getAS)"
- CC="$(tc-getCC)"
- CDEBUGFLAGS="${CFLAGS}"
- CXX="$(tc-getCXX)"
- CXXDEBUFLAGS="${CXXFLAGS}"
- EXTRA_LDOPTIONS="${LDFLAGS}"
- LD="$(tc-getLD)"
- MAKE="${MAKE:-gmake}"
- RANLIB="$(tc-getRANLIB)"
- SHLIBGLOBALSFLAGS="${LDFLAGS}"
- WORLDOPTS=
- )
-
- if multilib_is_native_abi ; then
- # dumb fix for parallel make issue wrt #446598, Imake sux
- emake "${emakeopts[@]}" -C server/dia all
- emake "${emakeopts[@]}" -C server/dda/voxware all
- emake "${emakeopts[@]}" -C server/os all
- else
- sed -i \
- -e 's/SUBDIRS =.*/SUBDIRS = include lib config/' \
- Makefile || die
- fi
-
- emake "${emakeopts[@]}"
-}
-
-multilib_src_install() {
- # ranlib is used at install phase too wrt #446600
- emake RANLIB="$(tc-getRANLIB)" \
- DESTDIR="${D}" USRLIBDIR=/usr/$(get_libdir) \
- install install.man
-}
-
-multilib_src_install_all() {
- einstalldocs
- if use doc; then
- docinto doc
- dodoc doc/{actions,protocol.txt,README}
- docinto pdf
- dodoc doc/pdf/*.pdf
- fi
-
- mv -vf "${D}"/etc/nas/nasd.conf{.eg,} || die
-
- newconfd "${FILESDIR}"/nas.conf.d nas
- newinitd "${FILESDIR}"/nas.init.d nas
-
- if ! use static-libs; then
- rm -f "${D}"/usr/lib*/libaudio.a || die
- fi
-}
diff --git a/media-libs/netpbm/Manifest b/media-libs/netpbm/Manifest
index 082175906e9b..73a317b683e6 100644
--- a/media-libs/netpbm/Manifest
+++ b/media-libs/netpbm/Manifest
@@ -1,4 +1,2 @@
-DIST netpbm-11.2.10.tar.xz 3782160 BLAKE2B 22dab865106f48a83992ff780a3a3cb26e7fd279b4e22f622a5f6459f90aecf70ce85ce65fd9f14ebe9a148a92ac2b0eb35ca95b0feb88dc0cbe24d11921e4d3 SHA512 baa12b1aa5d66967d900f3d92ebd9cdf2bc936389fd943b995ed863b9f57977bdb6c1e92588252b6219d26d06085b7ea5e3400f1d9be688cb538c807b84293bf
DIST netpbm-11.2.11.tar.xz 3782252 BLAKE2B 422b9cefee2a54a9c222236935291f0c8d1f13f064f4ebd277d0f92974b9ce3d7e3d9ae6a0410d767553704a03c2de14ca8456996a53fca0f95d61f9ae72605f SHA512 3d94c0c8c25873a16c78af960c964f5756b3e7a29463f001345956acc3bf1378b0b0b4fc0c57d7388dced0979ba4e8cee0def2200092544dd96fc7d04304660b
-DIST netpbm-11.2.9.tar.xz 3782172 BLAKE2B b5acec8306c820e7b0ac2dec21ab5df8f2cdbec01d3d59f82b307d90111954e81e1b01ad7d8e25e8fbd0ea7cf61e8b023e3dfaed6d1cab71b51f7e367d792e56 SHA512 02961bb2ac4a4292e028ed5dbd05daf89ac795f50d36d97be67c49a61be0cbd977e954aa9266c4649d9a46de3fbe7c4b2b51c8363cc7bee322926dd4a9af2ab1
-DIST netpbm-11.8.0.tar.xz 3804048 BLAKE2B 8f838790a38decca5efdbd8b05c07a9e13f3d10093e118547674b84e053534f2f05ccb7a8c6e9e8a1ba5bb121036b7b1b3a88841ee28bc92a7d06865fd905481 SHA512 f7ce52bda45157d8b8ecac2076e3073b471b02cdeab3fe5e61862c5b79fa247d2109703a419098028eeb335d71441794708985f5f6c31b77da4daba04df23e80
+DIST netpbm-11.8.2.tar.xz 3804800 BLAKE2B 9b5bb460c2fbe73495cbb304ea0e1a2a4406838cbb4d0769d2b8147f9ee6156d93852ad36a5ea57a7437b9a1a3cc9f102271163bc4d6bbd004c42c7f81be2318 SHA512 b048b242891cbe56851b3da342de1717e1ab435a327b4eeebb83023e2e7ae57ae66a232df344b4d2b0fb12bc6abcf13d9cec392f19ff06951023ee4c002f9f17
diff --git a/media-libs/netpbm/files/netpbm-11.2.11-fix-C23.patch b/media-libs/netpbm/files/netpbm-11.2.11-fix-C23.patch
new file mode 100644
index 000000000000..8f4d82994564
--- /dev/null
+++ b/media-libs/netpbm/files/netpbm-11.2.11-fix-C23.patch
@@ -0,0 +1,245 @@
+https://sourceforge.net/p/netpbm/code/4969/
+https://bugs.gentoo.org/943971
+
+Backport files/netpbm-11.8.2-fix-C23.patch to 11.2.11
+
+--- a/buildtools/libopt.c
++++ b/buildtools/libopt.c
+@@ -85,18 +85,11 @@
+ # define SHLIBPREFIXLIST "lib"
+ #endif
+
++#include <stdbool.h>
+ #include <string.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+
+-typedef unsigned char bool;
+-#ifndef TRUE
+-#define TRUE (1)
+-#endif
+-#ifndef FALSE
+-#define FALSE (0)
+-#endif
+-
+ #ifdef DLLVERSTR
+ static const char * dllverstr = DLLVERSTR;
+ #else
+@@ -105,9 +98,9 @@ static const char * dllverstr = "";
+
+ bool const explicit =
+ #ifdef EXPLICIT
+-TRUE
++true
+ #else
+-FALSE
++false
+ #endif
+ ;
+
+@@ -131,17 +124,17 @@ parse_prefixlist(const char * const prefixlist,
+ there is guaranteed always to be one null string at the end of the
+ array.
+
+- In case of error, return *errorP == TRUE and don't allocate any
+- storage. Otherwise, return *errorP = FALSE.
++ In case of error, return *errorP == true and don't allocate any
++ storage. Otherwise, return *errorP = false.
+ -----------------------------------------------------------------------------*/
+ char * prlist;
+
+ prlist = strdup(prefixlist);
+ if (prlist == NULL)
+- *errorP = TRUE;
++ *errorP = true;
+ else {
+- if (strlen(prlist) <= 0)
+- *errorP = TRUE;
++ if (strlen(prlist) <= 0)
++ *errorP = true;
+ else {
+ /* NOTE: Mac OS X, at least, does not have strtok_r().
+ 2001.09.24
+@@ -155,18 +148,18 @@ parse_prefixlist(const char * const prefixlist,
+ }
+ num_tokens = 0;
+ token = strtok(prlist, " ");
+- *errorP = FALSE; /* initial value */
++ *errorP = false; /* initial value */
+ while (token != NULL && num_tokens < MAX_PREFIXES && !*errorP) {
+ parsed_prefixes[num_tokens] = strdup (token);
+- if (parsed_prefixes[num_tokens] == NULL)
+- *errorP = TRUE;
++ if (parsed_prefixes[num_tokens] == NULL)
++ *errorP = true;
+ num_tokens++;
+ token = strtok(NULL, " ");
+ }
+ for (i = num_tokens; i < MAX_PREFIXES + 1 && !*errorP; i++) {
+ parsed_prefixes[i] = strdup("");
+- if (parsed_prefixes[i] == NULL)
+- *errorP = TRUE;
++ if (parsed_prefixes[i] == NULL)
++ *errorP = true;
+ }
+ }
+ if (*errorP) {
+@@ -194,7 +187,7 @@ parse_prefix(const char * const filename,
+ (The prefix always starts at the beginning of the filename).
+
+ Iff we don't find a valid library name prefix, return *prefix_good_p
+- == FALSE.
++ == false.
+
+ The list of valid prefixes is compiled in as the blank-delimited
+ string which is the value of the SHLIBPREFIXLIST macro.
+@@ -231,7 +224,7 @@ parse_prefix(const char * const filename,
+ i = 0; /* start with the first entry in shlibprefixlist[] */
+ prefix_length = 0; /* initial value */
+ prefix = shlibprefixlist[i];
+- prefix_good = FALSE; /* initial value */
++ prefix_good = false; /* initial value */
+ while ( (*prefix != '\0' ) && !prefix_good ) {
+ /* stop condition: shlibprefixlist has MAX_PREFIXES+1 entries.
+ * we only ever put tokens in the 0..MAX_PREFIXES-1 positions.
+@@ -242,7 +235,7 @@ parse_prefix(const char * const filename,
+ */
+ prefix_length = strlen(prefix);
+ if (strncmp(filename, prefix, prefix_length) == 0) {
+- prefix_good = TRUE;
++ prefix_good = true;
+ /* at this point, prefix is pointing to the correct
+ * entry, and prefix_length has the correct value.
+ * When we bail out of the while loop because of the
+@@ -279,16 +272,16 @@ parse_filename(const char * const filename,
+
+ E.g. for "libxyz.so", return "xyz".
+
+- return *valid_library_p == TRUE iff 'filename' validly names a library
++ return *valid_library_p == true iff 'filename' validly names a library
+ that can be expressed in a -l linker option.
+
+- return *static_p == TRUE iff 'filename' indicates a static library.
+- (but undefined if *valid_library_p != TRUE).
++ return *static_p == true iff 'filename' indicates a static library.
++ (but undefined if *valid_library_p != true).
+
+- return *error_p == TRUE iff some error such as out of memory prevents
++ return *error_p == true iff some error such as out of memory prevents
+ parsing.
+
+- Do not allocate any memory if *error_p == TRUE or *valid_library_p == FALSE.
++ Do not allocate any memory if *error_p == true or *valid_library_p == false.
+ -----------------------------------------------------------------------------*/
+ char *lastdot;
+ /* Pointer to last period in 'filename'. Null if none */
+@@ -305,21 +298,21 @@ parse_filename(const char * const filename,
+ /* This filename doesn't have any suffix, so we don't understand
+ it as a library filename.
+ */
+- *valid_library_p = FALSE;
+- *error_p = FALSE;
++ *valid_library_p = false;
++ *error_p = false;
+ } else {
+ unsigned int prefix_length;
+ bool prefix_good;
+
+ if (strcmp(lastdot + 1, "a") == 0)
+- *static_p = TRUE;
++ *static_p = true;
+ else
+- *static_p = FALSE;
++ *static_p = false;
+
+ parse_prefix(filename, &prefix_good, &prefix_length, error_p);
+ if (!*error_p) {
+ if (!prefix_good) {
+- *valid_library_p = FALSE;
++ *valid_library_p = false;
+ } else {
+ /* Extract everything between <prefix> and "." as
+ the library name root.
+@@ -328,7 +321,7 @@ parse_filename(const char * const filename,
+
+ libname = strdup(filename + prefix_length);
+ if (libname == NULL)
+- *error_p = TRUE;
++ *error_p = true;
+ else {
+ libname[lastdot - filename - prefix_length] = '\0';
+ if (strlen(dllverstr) > 0) {
+@@ -341,10 +334,10 @@ parse_filename(const char * const filename,
+ }
+ }
+ if (strlen(libname) == 0) {
+- *valid_library_p = FALSE;
++ *valid_library_p = false;
+ strfree(libname);
+ } else
+- *valid_library_p = TRUE;
++ *valid_library_p = true;
+ }
+ *libname_p = libname;
+ }
+@@ -377,14 +370,14 @@ parse_filepath(const char * const filepath,
+ */
+ *filename_p = strdup(filepath);
+ if (*filename_p == NULL)
+- *error_p = TRUE;
++ *error_p = true;
+ else {
+ directory = strdup("");
+ if (directory == NULL) {
+- *error_p = TRUE;
++ *error_p = true;
+ strfree(*filename_p);
+ } else
+- *error_p = FALSE;
++ *error_p = false;
+ }
+ } else {
+ /* Split the string at the slash we just found, into filename and
+@@ -392,14 +385,14 @@ parse_filepath(const char * const filepath,
+ */
+ *filename_p = strdup(lastslash+1);
+ if (*filename_p == NULL)
+- *error_p = TRUE;
++ *error_p = true;
+ else {
+ directory = strdup(filepath);
+ if (directory == NULL) {
+- *error_p = TRUE;
++ *error_p = true;
+ strfree(*filename_p);
+ } else {
+- *error_p = FALSE;
++ *error_p = false;
+ directory[lastslash - filepath] = '\0';
+ }
+ }
+@@ -503,12 +496,12 @@ main(int argc, char **argv) {
+ char outputLine[1024];
+
+ strcpy(outputLine, ""); /* initial value */
+- runtime = FALSE; /* initial value */
+- error = FALSE; /* no error yet */
++ runtime = false; /* initial value */
++ error = false; /* no error yet */
+
+ for (arg = 1; arg < argc && !error; arg++) {
+ if (strcmp(argv[arg], "-runtime") == 0)
+- runtime = TRUE;
++ runtime = true;
+ else if (strcmp(argv[arg], "-quiet") == 0) {
+ /* Doesn't do anything today */
+ } else {
+@@ -518,7 +511,7 @@ main(int argc, char **argv) {
+ if (!error) {
+ if (strlen(outputLine) + strlen(options) + 1 + 1 >
+ sizeof(outputLine))
+- error = TRUE;
++ error = true;
+ else {
+ strcat(outputLine, " ");
+ strcat(outputLine, options);
diff --git a/media-libs/netpbm/files/netpbm-11.8.2-fix-C23.patch b/media-libs/netpbm/files/netpbm-11.8.2-fix-C23.patch
new file mode 100644
index 000000000000..c6aaf0288261
--- /dev/null
+++ b/media-libs/netpbm/files/netpbm-11.8.2-fix-C23.patch
@@ -0,0 +1,241 @@
+https://sourceforge.net/p/netpbm/code/4969/
+https://bugs.gentoo.org/943971
+
+--- a/buildtools/libopt.c
++++ b/buildtools/libopt.c
+@@ -85,18 +85,11 @@
+ # define SHLIBPREFIXLIST "lib"
+ #endif
+
++#include <stdbool.h>
+ #include <string.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+
+-typedef unsigned char bool;
+-#ifndef TRUE
+-#define TRUE (1)
+-#endif
+-#ifndef FALSE
+-#define FALSE (0)
+-#endif
+-
+ #ifdef DLLVERSTR
+ static const char * dllverstr = DLLVERSTR;
+ #else
+@@ -105,9 +98,9 @@
+
+ bool const explicit =
+ #ifdef EXPLICIT
+-TRUE
++true
+ #else
+-FALSE
++false
+ #endif
+ ;
+
+@@ -132,17 +125,17 @@
+ there is guaranteed always to be one null string at the end of the
+ array.
+
+- In case of error, return *errorP == TRUE and don't allocate any
+- storage. Otherwise, return *errorP = FALSE.
++ In case of error, return *errorP == true and don't allocate any
++ storage. Otherwise, return *errorP = false.
+ -----------------------------------------------------------------------------*/
+ char * prlist;
+
+ prlist = strdup(prefixlist);
+ if (prlist == NULL)
+- *errorP = TRUE;
++ *errorP = true;
+ else {
+ if (strlen(prlist) <= 0)
+- *errorP = TRUE;
++ *errorP = true;
+ else {
+ /* NOTE: Mac OS X, at least, does not have strtok_r().
+ 2001.09.24
+@@ -156,11 +149,11 @@
+ }
+ num_tokens = 0;
+ token = strtok(prlist, " ");
+- *errorP = FALSE; /* initial value */
++ *errorP = false; /* initial value */
+ while (token != NULL && num_tokens < MAX_PREFIXES && !*errorP) {
+ parsed_prefixes[num_tokens] = strdup (token);
+ if (parsed_prefixes[num_tokens] == NULL)
+- *errorP = TRUE;
++ *errorP = true;
+ num_tokens++;
+ token = strtok(NULL, " ");
+ }
+@@ -167,7 +160,7 @@
+ for (i = num_tokens; i < MAX_PREFIXES + 1 && !*errorP; i++) {
+ parsed_prefixes[i] = strdup("");
+ if (parsed_prefixes[i] == NULL)
+- *errorP = TRUE;
++ *errorP = true;
+ }
+ }
+ if (*errorP) {
+@@ -195,7 +188,7 @@
+ (The prefix always starts at the beginning of the filename).
+
+ Iff we don't find a valid library name prefix, return *prefix_good_p
+- == FALSE.
++ == false.
+
+ The list of valid prefixes is compiled in as the blank-delimited
+ string which is the value of the SHLIBPREFIXLIST macro.
+@@ -232,7 +225,7 @@
+ i = 0; /* start with the first entry in shlibprefixlist[] */
+ prefix_length = 0; /* initial value */
+ prefix = shlibprefixlist[i];
+- prefix_good = FALSE; /* initial value */
++ prefix_good = false; /* initial value */
+ while ( (*prefix != '\0' ) && !prefix_good ) {
+ /* stop condition: shlibprefixlist has MAX_PREFIXES+1 entries.
+ * we only ever put tokens in the 0..MAX_PREFIXES-1 positions.
+@@ -243,7 +236,7 @@
+ */
+ prefix_length = strlen(prefix);
+ if (strncmp(filename, prefix, prefix_length) == 0) {
+- prefix_good = TRUE;
++ prefix_good = true;
+ /* at this point, prefix is pointing to the correct
+ * entry, and prefix_length has the correct value.
+ * When we bail out of the while loop because of the
+@@ -280,16 +273,16 @@
+
+ E.g. for "libxyz.so", return "xyz".
+
+- return *valid_library_p == TRUE iff 'filename' validly names a library
++ return *valid_library_p == true iff 'filename' validly names a library
+ that can be expressed in a -l linker option.
+
+- return *static_p == TRUE iff 'filename' indicates a static library.
+- (but undefined if *valid_library_p != TRUE).
++ return *static_p == true iff 'filename' indicates a static library.
++ (but undefined if *valid_library_p != true).
+
+- return *error_p == TRUE iff some error such as out of memory prevents
++ return *error_p == true iff some error such as out of memory prevents
+ parsing.
+
+- Do not allocate any memory if *error_p == TRUE or *valid_library_p == FALSE.
++ Do not allocate any memory if *error_p == true or *valid_library_p == false.
+ -----------------------------------------------------------------------------*/
+ char *lastdot;
+ /* Pointer to last period in 'filename'. Null if none */
+@@ -306,21 +299,21 @@
+ /* This filename doesn't have any suffix, so we don't understand
+ it as a library filename.
+ */
+- *valid_library_p = FALSE;
+- *error_p = FALSE;
++ *valid_library_p = false;
++ *error_p = false;
+ } else {
+ unsigned int prefix_length;
+ bool prefix_good;
+
+ if (strcmp(lastdot + 1, "a") == 0)
+- *static_p = TRUE;
++ *static_p = true;
+ else
+- *static_p = FALSE;
++ *static_p = false;
+
+ parse_prefix(filename, &prefix_good, &prefix_length, error_p);
+ if (!*error_p) {
+ if (!prefix_good) {
+- *valid_library_p = FALSE;
++ *valid_library_p = false;
+ } else {
+ /* Extract everything between <prefix> and "." as
+ the library name root.
+@@ -329,7 +322,7 @@
+
+ libname = strdup(filename + prefix_length);
+ if (libname == NULL)
+- *error_p = TRUE;
++ *error_p = true;
+ else {
+ libname[lastdot - filename - prefix_length] = '\0';
+ if (strlen(dllverstr) > 0) {
+@@ -342,10 +335,10 @@
+ }
+ }
+ if (strlen(libname) == 0) {
+- *valid_library_p = FALSE;
++ *valid_library_p = false;
+ strfree(libname);
+ } else
+- *valid_library_p = TRUE;
++ *valid_library_p = true;
+ }
+ *libname_p = libname;
+ }
+@@ -378,14 +371,14 @@
+ */
+ *filename_p = strdup(filepath);
+ if (*filename_p == NULL)
+- *error_p = TRUE;
++ *error_p = true;
+ else {
+ directory = strdup("");
+ if (directory == NULL) {
+- *error_p = TRUE;
++ *error_p = true;
+ strfree(*filename_p);
+ } else
+- *error_p = FALSE;
++ *error_p = false;
+ }
+ } else {
+ /* Split the string at the slash we just found, into filename and
+@@ -393,14 +386,14 @@
+ */
+ *filename_p = strdup(lastslash+1);
+ if (*filename_p == NULL)
+- *error_p = TRUE;
++ *error_p = true;
+ else {
+ directory = strdup(filepath);
+ if (directory == NULL) {
+- *error_p = TRUE;
++ *error_p = true;
+ strfree(*filename_p);
+ } else {
+- *error_p = FALSE;
++ *error_p = false;
+ directory[lastslash - filepath] = '\0';
+ }
+ }
+@@ -504,12 +497,12 @@
+ char outputLine[1024];
+
+ strcpy(outputLine, ""); /* initial value */
+- runtime = FALSE; /* initial value */
+- error = FALSE; /* no error yet */
++ runtime = false; /* initial value */
++ error = false; /* no error yet */
+
+ for (arg = 1; arg < argc && !error; arg++) {
+ if (strcmp(argv[arg], "-runtime") == 0)
+- runtime = TRUE;
++ runtime = true;
+ else if (strcmp(argv[arg], "-quiet") == 0) {
+ /* Doesn't do anything today */
+ } else {
+@@ -519,7 +512,7 @@
+ if (!error) {
+ if (strlen(outputLine) + strlen(options) + 1 + 1 >
+ sizeof(outputLine))
+- error = TRUE;
++ error = true;
+ else {
+ strcat(outputLine, " ");
+ strcat(outputLine, options);
diff --git a/media-libs/netpbm/metadata.xml b/media-libs/netpbm/metadata.xml
index 1f5115348e89..3815c14b732e 100644
--- a/media-libs/netpbm/metadata.xml
+++ b/media-libs/netpbm/metadata.xml
@@ -8,6 +8,12 @@
<use>
<flag name="rle">Build converters for the RLE format (utah raster toolkit)</flag>
</use>
+ <slots>
+ <subslots>
+ 0/stable: the upstream stable branch, stabilized in Gentoo at 30+ days.
+ 0/advanced: the upstream advanced branch, never stabilized in Gentoo.
+ </subslots>
+ </slots>
<upstream>
<remote-id type="sourceforge">netpbm</remote-id>
</upstream>
diff --git a/media-libs/netpbm/netpbm-11.2.10.ebuild b/media-libs/netpbm/netpbm-11.2.11-r1.ebuild
index 669c4ff4606b..2dda088e9c41 100644
--- a/media-libs/netpbm/netpbm-11.2.10.ebuild
+++ b/media-libs/netpbm/netpbm-11.2.11-r1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}.tar.xz"
LICENSE="Artistic BSD GPL-2 IJG LGPL-2.1 MIT public-domain"
SLOT="0/stable"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml"
# app-text/ghostscript-gpl is really needed for postscript
@@ -59,6 +59,8 @@ PATCHES=(
"${FILESDIR}"/netpbm-11.1.0-fix-clang-O2.patch
"${FILESDIR}"/netpbm-11.2.7-fix-pnmcolormap2-test.patch
"${FILESDIR}"/netpbm-11.6.1-incompatible-pointer-types.patch
+ "${FILESDIR}"/netpbm-11.7.2-lto.patch
+ "${FILESDIR}"/netpbm-11.2.11-fix-C23.patch
)
netpbm_libtype() {
diff --git a/media-libs/netpbm/netpbm-11.2.11.ebuild b/media-libs/netpbm/netpbm-11.2.11.ebuild
index 479210cdd749..5aadea28176f 100644
--- a/media-libs/netpbm/netpbm-11.2.11.ebuild
+++ b/media-libs/netpbm/netpbm-11.2.11.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}.tar.xz"
LICENSE="Artistic BSD GPL-2 IJG LGPL-2.1 MIT public-domain"
SLOT="0/stable"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml"
# app-text/ghostscript-gpl is really needed for postscript
diff --git a/media-libs/netpbm/netpbm-11.8.0.ebuild b/media-libs/netpbm/netpbm-11.8.2.ebuild
index 31d10bb8169f..98f2becc519a 100644
--- a/media-libs/netpbm/netpbm-11.8.0.ebuild
+++ b/media-libs/netpbm/netpbm-11.8.2.ebuild
@@ -59,6 +59,7 @@ PATCHES=(
"${FILESDIR}"/netpbm-11.1.0-fix-clang-O2.patch
"${FILESDIR}"/netpbm-11.6.1-incompatible-pointer-types.patch
"${FILESDIR}"/netpbm-11.7.2-lto.patch
+ "${FILESDIR}"/netpbm-11.8.2-fix-C23.patch
)
netpbm_libtype() {
diff --git a/media-libs/netpbm/netpbm-11.2.9-r1.ebuild b/media-libs/netpbm/netpbm-9999.ebuild
index 85aa017b7bfb..7f6949c9f55c 100644
--- a/media-libs/netpbm/netpbm-11.2.9-r1.ebuild
+++ b/media-libs/netpbm/netpbm-9999.ebuild
@@ -3,23 +3,17 @@
EAPI=8
-inherit flag-o-matic multilib toolchain-funcs
-
-# Upstream has 3 flavors of netpbm: super stable, stable and advanced.
-# They only provide a tarball for super stable, but super stable is a bit lagging.
-# So we package the stable branch of their svn (currently versions 11.2.xx) on SLOT "0/stable"
-# and the advanced branch of their svn (currently versions 11.8.yy) on SLOT "0/advanced".
-# The stable branch is stabilized according to usual Gentoo rules, while the
-# advanced branch will not be stabilized.
+inherit flag-o-matic multilib subversion toolchain-funcs
+
# A detailed explanation is here https://netpbm.sourceforge.net/release.html
+# This is the development branch, used for testing only. It does not contain the man pages.
DESCRIPTION="A set of utilities for converting to/from the netpbm (and related) formats"
HOMEPAGE="https://netpbm.sourceforge.net/"
-SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}.tar.xz"
+ESVN_REPO_URI="http://svn.code.sf.net/p/netpbm/code/trunk"
LICENSE="Artistic BSD GPL-2 IJG LGPL-2.1 MIT public-domain"
-SLOT="0/stable"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+SLOT="0/devel"
IUSE="jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml"
# app-text/ghostscript-gpl is really needed for postscript
@@ -57,7 +51,6 @@ PATCHES=(
"${FILESDIR}"/netpbm-10.86.21-build.patch
"${FILESDIR}"/netpbm-11.0.0-misc-deps.patch
"${FILESDIR}"/netpbm-11.1.0-fix-clang-O2.patch
- "${FILESDIR}"/netpbm-11.2.7-fix-pnmcolormap2-test.patch
"${FILESDIR}"/netpbm-11.6.1-incompatible-pointer-types.patch
)
@@ -95,81 +88,74 @@ src_prepare() {
default
# make sure we use system libs
- sed -i '/SUPPORT_SUBDIRS/s:urt::' GNUmakefile || die
+ sed '/SUPPORT_SUBDIRS/s:urt::' -i GNUmakefile || die
rm -r urt converter/other/jbig/libjbig converter/other/jpeg2000/libjasper || die
- # fix typo in a test
- sed -i \
- -e 's:^o#! /bin/sh:#! /bin/sh:' \
- test/stdin-ppm3.test || die
-
# take care of the importinc stuff ourselves by only doing it once
# at the top level and having all subdirs use that one set #149843
- sed -i \
+ sed \
-e '/^importinc:/s|^|importinc:\nmanual_|' \
-e '/-Iimportinc/s|-Iimp|-I"$(BUILDDIR)"/imp|g'\
- common.mk || die
- sed -i \
+ -i common.mk || die
+ sed \
-e '/%.c/s: importinc$::' \
- common.mk lib/Makefile lib/util/Makefile || die
- sed -i \
+ -i common.mk lib/Makefile lib/util/Makefile || die
+ sed \
-e 's:pkg-config:$(PKG_CONFIG):' \
- GNUmakefile converter/other/Makefile other/pamx/Makefile || die
+ -i GNUmakefile converter/other/Makefile other/pamx/Makefile || die
# The postscript knob is currently bound up with a fork test.
if ! use postscript ; then
- sed -i \
+ sed \
-e 's:$(DONT_HAVE_PROCESS_MGMT):Y:' \
- converter/other/Makefile generator/Makefile || die
- sed -i -r \
+ -i converter/other/Makefile generator/Makefile || die
+ sed -r \
-e 's:(pbmtextps|pnmtops|pstopnm).*::' \
- test/all-in-place.{ok,test} || die
- sed -i \
+ -i test/all-in-place.{ok,test} || die
+ sed \
-e 's:lps-roundtrip.*::' \
-e 's:pbmtextps-dump.*::' \
-e 's:pbmtextps.*::' \
- test/Test-Order || die
- sed -i \
+ -i test/Test-Order || die
+ sed \
-e '/^$/d' \
- test/all-in-place.ok || die
- sed -i \
+ -i test/all-in-place.ok || die
+ sed \
'2iexit 80' \
- test/ps-{alt-,flate-,}roundtrip.test || die
+ -i test/ps-{alt-,flate-,}roundtrip.test || die
fi
- # the new postscript test needs +x
- chmod +x test/lps-roundtrip.test || die
-
# Do not test png if not built
if ! use png ; then
- sed -i -E \
+ sed -E \
-e 's:(pamtopng|pngtopam|pnmtopng).*::' \
- test/all-in-place.{ok,test} || die
- sed -i \
+ -i test/all-in-place.{ok,test} || die
+ sed \
-e '/^$/d' \
- test/all-in-place.ok || die
+ -i test/all-in-place.ok || die
- sed -i -E \
+ sed -E \
-e 's:(pamrgbatopng|pngtopnm).*::' \
- test/legacy-names.{ok,test} || die
- sed -i \
+ -i test/legacy-names.{ok,test} || die
+ sed \
-e '/^$/d' \
- test/legacy-names.ok || die
- sed -i \
+ -i test/legacy-names.ok || die
+ sed \
-e 's:png-roundtrip.*::' \
-e 's:winicon-roundtrip.*::' \
- test/Test-Order || die
+ -i test/Test-Order || die
fi
# pbmtext-iso88591 requires LC_ALL=en_US.iso88591, not available on musl
# pbmtext-utf8 requires locale, not available on musl
- # ppmpat-random is broken on musl
+ # ppmpat-random and pnmindex are broken on musl
# bug #907295
if use elibc_musl; then
sed \
-e 's:pbmtext-iso88591.*::' \
-e 's:pbmtext-utf8.*::' \
-e 's:ppmpat-random.*::' \
+ -e 's:pnmindex.*::' \
-i test/Test-Order || die
fi
}
@@ -255,11 +241,9 @@ src_install() {
dodir /usr/share
mv "${ED}"/usr/misc "${ED}"/usr/share/netpbm || die
- doman userguide/*.[0-9]
dodoc README
cd doc || die
- dodoc HISTORY Netpbm.programming USERDOC
+ dodoc HISTORY USERDOC
docinto html
- dodoc -r ../userguide/*.html
}
diff --git a/media-libs/nvidia-vaapi-driver/Manifest b/media-libs/nvidia-vaapi-driver/Manifest
index b01ce091e7c0..1235056b5716 100644
--- a/media-libs/nvidia-vaapi-driver/Manifest
+++ b/media-libs/nvidia-vaapi-driver/Manifest
@@ -1 +1,2 @@
DIST nvidia-vaapi-driver-0.0.12.tar.gz 183420 BLAKE2B bf3d2f92a0a38d209d3108893664a7b28657657b432cd43a016442b2192c10850ea4278a2a4a02dd53ba759cef38f39d36bdfa934b1fc3a229aed1ff7f7e0a55 SHA512 e586107d840fbcbce3f4f4f4397188d7df2beaeb763ec0ceaae6f4edb2a5638abed388816796e0a0b0665087cfb09fce2a4d83a3cdfd2279edf6b1be278f2ab2
+DIST nvidia-vaapi-driver-0.0.13.tar.gz 184099 BLAKE2B 73d4b6a205e05450864150b66c47fb4e7c3938e8abaac980c2ad86801d64fa6324347d6541e517b0e44dc497543bc0b97e120f4c3993e4ad8e17d9e720ea4aba SHA512 5e389d4ebc873766d138ba329503d89d4d45c668c5f20ff89a86ed094b107d3f63aee4044c49a25e78975309015c4c8da204b0131e7173d8ad7f951bb4985fcc
diff --git a/media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.13.ebuild b/media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.13.ebuild
new file mode 100644
index 000000000000..24f23d496823
--- /dev/null
+++ b/media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.13.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="A VA-API implemention using NVIDIA's NVDEC"
+HOMEPAGE="https://github.com/elFarto/nvidia-vaapi-driver"
+SRC_URI="https://github.com/elFarto/nvidia-vaapi-driver/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="media-libs/gst-plugins-bad
+ media-libs/libglvnd
+ >=media-libs/libva-1.8.0
+ >=x11-libs/libdrm-2.4.60"
+DEPEND="${RDEPEND}
+ >=media-libs/nv-codec-headers-11.1.5.1"
+BDEPEND="virtual/pkgconfig"
+
+pkg_postinst() {
+ # Source: https://github.com/elFarto/nvidia-vaapi-driver/blob/v0.0.12/src/backend-common.c#L13
+ elog "If vaapi drivers fail to load, then make sure that you are"
+ elog "passing the correct parameters to the kernel."
+ elog "nvidia_drm.modeset should be set to 1."
+
+ elog "Check the wiki page for more information: "
+ elog "https://wiki.gentoo.org/wiki/VAAPI"
+}
diff --git a/media-libs/oneVPL-cpu/metadata.xml b/media-libs/oneVPL-cpu/metadata.xml
index 567e19798957..570d9c127e33 100644
--- a/media-libs/oneVPL-cpu/metadata.xml
+++ b/media-libs/oneVPL-cpu/metadata.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>media-video@gentoo.org</email>
</maintainer>
<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">oneapi-src/oneVPL-cpu</remote-id>
diff --git a/media-libs/oneVPL-intel-gpu/Manifest b/media-libs/oneVPL-intel-gpu/Manifest
deleted file mode 100644
index f06f2e9dbd4f..000000000000
--- a/media-libs/oneVPL-intel-gpu/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST oneVPL-intel-gpu-24.2.5.tar.gz 9063523 BLAKE2B 1d993c5f8fc460323b3630af4068e49c8222c685288f32a3500d9bc646ef99ef1273854422d34831739bbe13750993a9f23b1a8e4ed827b28e0712422b06786f SHA512 a7aa37d27e4f2429634382d55074a014d96fa15ff2c5c40539f753888152f42dd46c9e5b0899021099091167f7a611016e79792ed8808935276adf34199113bf
-DIST oneVPL-intel-gpu-24.3.4.tar.gz 9193620 BLAKE2B 9a1804bdf4ce8624bf57d38a7f0f349770ac743b50dc513fa2569bf233aabf3972d8bbd0081e00dbf2dc6e5127cdc4372b68b3b65c9b44f0dce67b4f29f1991e SHA512 586094dc531ff4ca952f6682a7a6148d77bca0beaaff7a8411d942ca23bd1c4e70969d4354b3afe65af92fdb42816cd93fe757c4dc21b52bafde14346ac6296a
diff --git a/media-libs/oneVPL-intel-gpu/metadata.xml b/media-libs/oneVPL-intel-gpu/metadata.xml
deleted file mode 100644
index 6bcfa55e06ba..000000000000
--- a/media-libs/oneVPL-intel-gpu/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>media-video@gentoo.org</email>
- </maintainer>
- <maintainer type="person">
- <email>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
- <upstream>
- <remote-id type="github">intel/vpl-gpu-rt</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-libs/openal/Manifest b/media-libs/openal/Manifest
index 782ee94423da..562cb5ddd905 100644
--- a/media-libs/openal/Manifest
+++ b/media-libs/openal/Manifest
@@ -1 +1,3 @@
DIST openal-soft-1.23.1.tar.bz2 699330 BLAKE2B 214eb5c6714f8beec711fbebb60725fb06daf77bcb62b14125ff3bc11ebe97365893a36652819bcde92d3714bb2a7ec2ac119a1f439a74fea56f65c7574f2c95 SHA512 0d40577cd27040dc8814c15bacc310a0ce1c98e084f0a37db9f66899265df42ea61ac672efba7445e495849c25b9ba5b086f43320a38965f6ee74081b2896819
+DIST openal-soft-1.24.0.tar.bz2 763289 BLAKE2B 44eaec7e7a0896928ce67b0b0ef6938c39122c36bd08e74c34fe2d085e6c369f70d7bb762c421fb4bec3ad4fdb2734d6dacf188844ac7309f0f0433c88800abb SHA512 f3e9f7a2729688092a77413bce3191b874bb898c80defc620754ce85ed079446f2b0cfe1b81846606357515e40f1c1fd035f0f64e9d9ce4f861b873f54d3a3e7
+DIST openal-soft-1.24.1.tar.bz2 991155 BLAKE2B 7fbf0e63a46a5f2eacee00bcc28746ded5b950aba580ae041825d3b47a33be757668faad5e7c3eced8983416f4a946dc7bddba69699a56470ace0d6ff6e3762c SHA512 1d2d17c94708b0a63a965b26ad960fe6f2201db2c729b6ba564dd0c2b50f0b1d0733c4448b0d2d1b3e22436fb2d7daf5f285071b7234511e3eb4abfe5fa1f223
diff --git a/media-libs/openal/openal-1.24.0.ebuild b/media-libs/openal/openal-1.24.0.ebuild
new file mode 100644
index 000000000000..cb3f3789eddd
--- /dev/null
+++ b/media-libs/openal/openal-1.24.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# False positives because of REQUIRE vs BACKEND options() (conditionally set)
+# See bug #809314
+CMAKE_WARN_UNUSED_CLI=no
+inherit cmake-multilib
+
+MY_P="${PN}-soft-${PV}"
+
+DESCRIPTION="A software implementation of the OpenAL 3D audio API"
+HOMEPAGE="https://www.openal-soft.org/"
+SRC_URI="https://www.openal-soft.org/openal-releases/${MY_P}.tar.bz2"
+S="${WORKDIR}"/${MY_P}
+
+# See https://github.com/kcat/openal-soft/blob/e0097c18b82d5da37248c4823fde48b6e0002cdd/BSD-3Clause
+# Some components are under BSD
+LICENSE="LGPL-2+ BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="
+ alsa coreaudio debug jack oss pipewire portaudio pulseaudio sdl sndio qt5
+ cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1
+ cpu_flags_arm_neon
+"
+
+# PipeWire:
+# - See bug #863200 for PipeWire minimum version
+# - PW is in DEPEND although not linked against because we need configure to
+# find it anyway, but no :=.
+RDEPEND="
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ pipewire? ( media-video/pipewire[${MULTILIB_USEDEP}] )
+ portaudio? ( media-libs/portaudio[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ sdl? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
+ sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ oss? ( virtual/os-headers )
+"
+
+DOCS=( alsoftrc.sample docs/env-vars.txt docs/hrtf.txt ChangeLog README.md )
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ # See bug #809314 for getting both options for backends
+ -DALSOFT_{BACKEND,REQUIRE}_ALSA=$(usex alsa)
+ -DALSOFT_{BACKEND,REQUIRE}_COREAUDIO=$(usex coreaudio)
+ -DALSOFT_{BACKEND,REQUIRE}_JACK=$(usex jack)
+ -DALSOFT_{BACKEND,REQUIRE}_OSS=$(usex oss)
+ -DALSOFT_{BACKEND,REQUIRE}_PIPEWIRE=$(usex pipewire)
+ -DALSOFT_{BACKEND,REQUIRE}_PORTAUDIO=$(usex portaudio)
+ -DALSOFT_{BACKEND,REQUIRE}_PULSEAUDIO=$(usex pulseaudio)
+ -DALSOFT_{BACKEND,REQUIRE}_SDL2=$(usex sdl)
+ -DALSOFT_{BACKEND,REQUIRE}_SNDIO=$(usex sndio)
+
+ -DALSOFT_UTILS=$(multilib_is_native_abi && echo "ON" || echo "OFF")
+ -DALSOFT_NO_CONFIG_UTIL=$(usex qt5 "$(multilib_is_native_abi && echo "OFF" || echo "ON")" ON)
+ # EXAMPLES=OFF to avoid FFmpeg dependency, bug #481670
+ -DALSOFT_EXAMPLES=OFF
+ )
+
+ # Avoid unused variable warnings, bug #738240
+ if use amd64 || use x86 ; then
+ mycmakeargs+=(
+ -DALSOFT_CPUEXT_SSE=$(usex cpu_flags_x86_sse)
+ -DALSOFT_CPUEXT_SSE2=$(usex cpu_flags_x86_sse2)
+ -DALSOFT_CPUEXT_SSE4_1=$(usex cpu_flags_x86_sse4_1)
+ )
+ elif use arm || use arm64 ; then
+ mycmakeargs+=(
+ -DALSOFT_CPUEXT_NEON=$(usex cpu_flags_arm_neon)
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/media-libs/openal/openal-1.24.1.ebuild b/media-libs/openal/openal-1.24.1.ebuild
new file mode 100644
index 000000000000..cb3f3789eddd
--- /dev/null
+++ b/media-libs/openal/openal-1.24.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# False positives because of REQUIRE vs BACKEND options() (conditionally set)
+# See bug #809314
+CMAKE_WARN_UNUSED_CLI=no
+inherit cmake-multilib
+
+MY_P="${PN}-soft-${PV}"
+
+DESCRIPTION="A software implementation of the OpenAL 3D audio API"
+HOMEPAGE="https://www.openal-soft.org/"
+SRC_URI="https://www.openal-soft.org/openal-releases/${MY_P}.tar.bz2"
+S="${WORKDIR}"/${MY_P}
+
+# See https://github.com/kcat/openal-soft/blob/e0097c18b82d5da37248c4823fde48b6e0002cdd/BSD-3Clause
+# Some components are under BSD
+LICENSE="LGPL-2+ BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="
+ alsa coreaudio debug jack oss pipewire portaudio pulseaudio sdl sndio qt5
+ cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1
+ cpu_flags_arm_neon
+"
+
+# PipeWire:
+# - See bug #863200 for PipeWire minimum version
+# - PW is in DEPEND although not linked against because we need configure to
+# find it anyway, but no :=.
+RDEPEND="
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ pipewire? ( media-video/pipewire[${MULTILIB_USEDEP}] )
+ portaudio? ( media-libs/portaudio[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ sdl? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
+ sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ oss? ( virtual/os-headers )
+"
+
+DOCS=( alsoftrc.sample docs/env-vars.txt docs/hrtf.txt ChangeLog README.md )
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ # See bug #809314 for getting both options for backends
+ -DALSOFT_{BACKEND,REQUIRE}_ALSA=$(usex alsa)
+ -DALSOFT_{BACKEND,REQUIRE}_COREAUDIO=$(usex coreaudio)
+ -DALSOFT_{BACKEND,REQUIRE}_JACK=$(usex jack)
+ -DALSOFT_{BACKEND,REQUIRE}_OSS=$(usex oss)
+ -DALSOFT_{BACKEND,REQUIRE}_PIPEWIRE=$(usex pipewire)
+ -DALSOFT_{BACKEND,REQUIRE}_PORTAUDIO=$(usex portaudio)
+ -DALSOFT_{BACKEND,REQUIRE}_PULSEAUDIO=$(usex pulseaudio)
+ -DALSOFT_{BACKEND,REQUIRE}_SDL2=$(usex sdl)
+ -DALSOFT_{BACKEND,REQUIRE}_SNDIO=$(usex sndio)
+
+ -DALSOFT_UTILS=$(multilib_is_native_abi && echo "ON" || echo "OFF")
+ -DALSOFT_NO_CONFIG_UTIL=$(usex qt5 "$(multilib_is_native_abi && echo "OFF" || echo "ON")" ON)
+ # EXAMPLES=OFF to avoid FFmpeg dependency, bug #481670
+ -DALSOFT_EXAMPLES=OFF
+ )
+
+ # Avoid unused variable warnings, bug #738240
+ if use amd64 || use x86 ; then
+ mycmakeargs+=(
+ -DALSOFT_CPUEXT_SSE=$(usex cpu_flags_x86_sse)
+ -DALSOFT_CPUEXT_SSE2=$(usex cpu_flags_x86_sse2)
+ -DALSOFT_CPUEXT_SSE4_1=$(usex cpu_flags_x86_sse4_1)
+ )
+ elif use arm || use arm64 ; then
+ mycmakeargs+=(
+ -DALSOFT_CPUEXT_NEON=$(usex cpu_flags_arm_neon)
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/media-libs/opencollada/opencollada-1.6.68.ebuild b/media-libs/opencollada/opencollada-1.6.68.ebuild
index d11bbc826b9f..a6335f7755b5 100644
--- a/media-libs/opencollada/opencollada-1.6.68.ebuild
+++ b/media-libs/opencollada/opencollada-1.6.68.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/KhronosGroup/OpenCOLLADA/archive/v${PV}.tar.gz -> ${
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+KEYWORDS="amd64 arm arm64 ppc64 x86"
IUSE="static-libs"
RDEPEND="
diff --git a/media-libs/opencv/Manifest b/media-libs/opencv/Manifest
index 0aa44ea95dab..75d70689375b 100644
--- a/media-libs/opencv/Manifest
+++ b/media-libs/opencv/Manifest
@@ -1,10 +1,14 @@
DIST NVIDIAOpticalFlowSDK-edb50da3cf849840d680249aa6dbef248ebce2ca.tar.gz 8771 BLAKE2B f579960448bdaf57fbefd5e88002d8f6f4dbb828429b0f3a0112916c03039d4e4de65263eb8464a4d62924c1b77f0a61c2d93b7307657439bfbf7d59785f1533 SHA512 85dfdc52260f54f62c980508f4b6ab384e44200bd1c13761c4947f9a898c08f0faed2d734a85a4ba7a46f8788ed58ee89f12f61cee97881b69ba626bbd04f655
DIST ade-0.1.2d.tar.gz 117027 BLAKE2B c544b769c7b289342a469950ed047fa13719bafba29aa41167b588cf4f24ed6e596159ec19b65e61e09519a461a5e82ac07d63e2ea493279ee182fe658810abb SHA512 46f2feee28d732a6940a5a95944f3283bde1b8c8e05466a8ca1c576623c54d1bed875ce2b24a941111d8976cb0c6ba5a4ac8408f042f5765debf1badf7d43348
+DIST opencv-4.10.0.tar.gz 94993429 BLAKE2B f16de226337ce1dabda4a52ae03257b0570af0e6212102c483dce61f2bcee1549150d0016b6ea20bae5d8c838e12db3d54bcb9c2ec5d3164639cdd56818f0b1b SHA512 b4f7248f89f1cd146dbbae7860a17131cd29bd3cb81db1e678abfcfbf2d8fa4a7633bfd0edbf50afae7b838c8700e8c0d0bb05828139d5cb5662df6bbf3eb92c
DIST opencv-4.9.0.tar.gz 92788647 BLAKE2B 257478b0f5e19abca5b3676767dacd40765c645eb455080160b8b9dc54e66fba4880200b483829fc9050bc3f9b3e815f8ee784d7b41261877784536778fe3c96 SHA512 1598ae59849e7805b3cbec5260bb501006f26edff452343b366b9262a0f48a6e09f4b2e760209cb677f2a64a7b22f4e70bc6195c104bcea74cc9fe04031d0292
DIST opencv_3rdparty-34e4206aef44d50e6bbcd0ab06354b52e7466d26.tar.gz 397901 BLAKE2B 9adbe14ee3a2c90b890be694aa80d65b67e23a23f47ccabee4564e31eb9857d717b5a751df32004cfa5d6a53a9e1d8ea8d8943b705a0eaea5ca741169e2222f6 SHA512 8a92555aed2ac8752818586ab9762dd96ec128c5465cb87e402f15b15d16f7d371b3de045ef7295526e9ef99ec817766bb685a21d24dba29c650cf44e384a4e3
DIST opencv_3rdparty-8afa57abc8229d611c4937165d20e2a2d9fc5a12.tar.gz 63301261 BLAKE2B 923dc944edfda4c292d42207290bee414bfe21998f6ffe341ea3b38b6f2f581f3a243653e2c1fd3fa86084068ad6e7acd5ca73ab43094aa15f124d379833a5d8 SHA512 68cce870da0846cbd12a093ec7896b510e34590dad2b91699be1df5d4f72d343f9789d54c45c1b801784f7e57e0e80b19ba65dd99855225da99b4193dae97aaa
DIST opencv_3rdparty-a8b69ccc738421293254aec5ddb38bd523503252.tar.gz 920403 BLAKE2B 5f834e8ccef9d88d0650f8ae5d215a2d07d0a356aaad4de1622068e0b2a7def88fccc84bc4397f0182732e836fcd6e363ae25a2cdeaa4d458a7d8ef9afc81da5 SHA512 5611b9db40477759213ab35320570c198f1f224f92ca801ca3accd1f7620faf3d44f306e44abefd10be118acee9b56da643ca82abaa7c4d2102fe92e5b298a6e
DIST opencv_3rdparty-b2bfc75f6aea5b1f834ff0f0b865a7c18ff1459f.tar.gz 10036903 BLAKE2B c13559569808db24105049e2081bc466c0e8b6dab58bcc69001e49ff82e03ec4701e25648b5e542b7df2c8e522abfbd82c9825e66c37d6a673847b41bf6effae SHA512 3fc44f12802aa1dad0b12372d53242ae2134a2d74ca0b6d8e4639551623426106781a41d77ebfce79ac625a49aec26b0d7425e0d31f09bab6a15e3d43caef8bc
DIST opencv_3rdparty-fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d.tar.gz 1470898 BLAKE2B f1794cc8f8684501f670db3d720c02f35c57ebe91f276cc21dea1f1c1426740d03569143fec74380e941703b5086db5f013ca913fb296eda99559115fd53ca30 SHA512 07118b9d688bf0ff34a6e4ca1548006124d80d11e7b48f08c9e1910b64249b1dad0ace460f50adda0ecb69b90871fc59cc25f451570c63f7c6d6ba2b92d8801c
+DIST opencv_contrib-4.10.0-3607.patch 29870 BLAKE2B cf43afbd24d0b32817e908c55ac3bf0d5da8b82b2c459bc04ef31414e16285eefe334c46eeee730bd3cad2bbec062f5bc212a82bd7f2ac83baca231d711545d4 SHA512 3fdd08cee6d7da8edf36411f30c8d6230ebd86a1c896a08f1dc86d3a0982e1f1f99797066722bc51ce4b1a60a2db55853c348441b3e6edc0d318fcb7bd5cf944
+DIST opencv_contrib-4.10.0.tar.gz 55387316 BLAKE2B 5d6f884817b6d45b86833fcab1e31cd0fd7be19885698e0aefe300fa570f93c446d7f564567cc08099d559a98a65e9c3dd0fd35ceeca7e0e9a1e56edc74a0fe9 SHA512 480df862250692a97ce6431cba00dbecb70332307a19c1c04aa9d7444e6e74ab4f8c798548dce76d2319a9877624b82e361fb22a71df14b996087ade448be501
DIST opencv_contrib-4.9.0.tar.gz 59803362 BLAKE2B e6b90e9bd462f96ef010490d45105d7125622d6c49912653c0d387568ae7109b1cbcac4cc0f52c1f997a45ed75923caea90bf4ad9336e689a56742b029789038 SHA512 ebaee3b88bd7ae246727e65a98d9fbc1d9772a4181a1926f3af742410b78dc87d2386bcd96ac67d7fb1a3020c3717a2cdebdcf9304d6dfd9ea494004791cf043
+DIST opencv_extra-4.10.0.tar.gz 504349887 BLAKE2B 6e76860beb95cf00698980a19cfd2894e5bfe0d477d94352cbb2ff98688acbc1c404953cbc3baa95453588e7b9063175a067f24006c5d2719a6c75d15f2ef891 SHA512 1a581dad61bc1e5075af5afed2dd3d67793232a9e1219408448d08c518ae714cf0c4d5fec2c25791351a49a0d265fe051ea142b2170f82843e19e82f65abc8c6
DIST opencv_extra-4.9.0.tar.gz 502141517 BLAKE2B ed7351f29c6fb80d56d5ef383af68322fa805c7689132f7ca9bb43c9a1319c5876ce6d5c40d583c955eb255dd82b876c94ed42625cd71b13830ec94b2cc75dc2 SHA512 f05c1eaed491d15107c858af5b33d0d5856070dcb6f94491ba33a172b2f0caf34905eb5d1787e1247bc888626478647fce0db7f3ccbc6d6faba0ee43fd6b6bfa
diff --git a/media-libs/opencv/files/opencv-4.10.0-26234.patch b/media-libs/opencv/files/opencv-4.10.0-26234.patch
new file mode 100644
index 000000000000..fb155302af28
--- /dev/null
+++ b/media-libs/opencv/files/opencv-4.10.0-26234.patch
@@ -0,0 +1,73 @@
+https://github.com/opencv/opencv/pull/26234
+From 6a4be763b2db5f26684204ddc7d06c02325c3917 Mon Sep 17 00:00:00 2001
+From: Zach Lowry <zachlowry@canvas-inc.com>
+Date: Tue, 1 Oct 2024 14:16:54 -0500
+Subject: [PATCH 1/2] move the gcc6 compatibility check to occur on a
+ per-directory basis, rather than exclude all include paths when the list of
+ paths contains /usr/include
+
+---
+ cmake/OpenCVUtils.cmake | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake
+index 94f87d9a1200..bb20a22f0606 100644
+--- a/cmake/OpenCVUtils.cmake
++++ b/cmake/OpenCVUtils.cmake
+@@ -353,23 +353,23 @@ function(ocv_target_include_directories target)
+ #ocv_debug_message("ocv_target_include_directories(${target} ${ARGN})")
+ _ocv_fix_target(target)
+ set(__params "")
+- if(CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND
+- ";${ARGN};" MATCHES "/usr/include;")
+- return() # workaround for GCC 6.x bug
+- endif()
+- set(__params "")
+ set(__system_params "")
+ set(__var_name __params)
+ foreach(dir ${ARGN})
+ if("${dir}" STREQUAL "SYSTEM")
+ set(__var_name __system_params)
+ else()
+- get_filename_component(__abs_dir "${dir}" ABSOLUTE)
+- ocv_is_opencv_directory(__is_opencv_dir "${dir}")
+- if(__is_opencv_dir)
+- list(APPEND ${__var_name} "${__abs_dir}")
++ if(CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND
++ "${dir}" MATCHES "/usr/include$")
++ # workaround for GCC 6.x bug
+ else()
+- list(APPEND ${__var_name} "${dir}")
++ get_filename_component(__abs_dir "${dir}" ABSOLUTE)
++ ocv_is_opencv_directory(__is_opencv_dir "${dir}")
++ if(__is_opencv_dir)
++ list(APPEND ${__var_name} "${__abs_dir}")
++ else()
++ list(APPEND ${__var_name} "${dir}")
++ endif()
+ endif()
+ endif()
+ endforeach()
+
+From fc01b270ee657e7afc2657b7a9e15766aa36faf0 Mon Sep 17 00:00:00 2001
+From: Zach Lowry <zachlowry@canvas-inc.com>
+Date: Wed, 2 Oct 2024 13:28:57 -0500
+Subject: [PATCH 2/2] use `dir MATCHES ...` without variable unpacking
+
+---
+ cmake/OpenCVUtils.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake
+index bb20a22f0606..5886f4f3cb33 100644
+--- a/cmake/OpenCVUtils.cmake
++++ b/cmake/OpenCVUtils.cmake
+@@ -360,7 +360,7 @@ function(ocv_target_include_directories target)
+ set(__var_name __system_params)
+ else()
+ if(CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND
+- "${dir}" MATCHES "/usr/include$")
++ dir MATCHES "/usr/include$")
+ # workaround for GCC 6.x bug
+ else()
+ get_filename_component(__abs_dir "${dir}" ABSOLUTE)
diff --git a/media-libs/opencv/files/opencv-4.10.0-cuda-fp16.patch b/media-libs/opencv/files/opencv-4.10.0-cuda-fp16.patch
new file mode 100644
index 000000000000..ed0f128b99c5
--- /dev/null
+++ b/media-libs/opencv/files/opencv-4.10.0-cuda-fp16.patch
@@ -0,0 +1,226 @@
+https://github.com/opencv/opencv/issues/25711
+https://github.com/opencv/opencv/pull/25880
+
+From 5115dc62f8af616c6e75e4b3df3eb8f201298432 Mon Sep 17 00:00:00 2001
+From: Aliaksei Urbanski <aliaksei.urbanski@gmail.com>
+Date: Tue, 9 Jul 2024 01:46:12 +0300
+Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=90=9B=20Fix=20CUDA=20for=20old=20GPU?=
+ =?UTF-8?q?s=20without=20FP16=20support?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+--- a/modules/dnn/src/cuda4dnn/init.hpp
++++ b/modules/dnn/src/cuda4dnn/init.hpp
+@@ -15,7 +15,7 @@
+
+ namespace cv { namespace dnn { namespace cuda4dnn {
+
+- void checkVersions()
++ inline void checkVersions()
+ {
+ // https://docs.nvidia.com/deeplearning/cudnn/developer-guide/index.html#programming-model
+ // cuDNN API Compatibility
+@@ -44,19 +44,19 @@ namespace cv { namespace dnn { namespace cuda4dnn {
+ }
+ }
+
+- int getDeviceCount()
++ inline int getDeviceCount()
+ {
+ return cuda::getCudaEnabledDeviceCount();
+ }
+
+- int getDevice()
++ inline int getDevice()
+ {
+ int device_id = -1;
+ CUDA4DNN_CHECK_CUDA(cudaGetDevice(&device_id));
+ return device_id;
+ }
+
+- bool isDeviceCompatible()
++ inline bool isDeviceCompatible()
+ {
+ int device_id = getDevice();
+ if (device_id < 0)
+@@ -76,7 +76,7 @@ namespace cv { namespace dnn { namespace cuda4dnn {
+ return false;
+ }
+
+- bool doesDeviceSupportFP16()
++ inline bool doesDeviceSupportFP16()
+ {
+ int device_id = getDevice();
+ if (device_id < 0)
+--- a/modules/dnn/src/registry.cpp
++++ b/modules/dnn/src/registry.cpp
+@@ -18,6 +18,10 @@
+ #include "backend.hpp"
+ #include "factory.hpp"
+
++#ifdef HAVE_CUDA
++#include "cuda4dnn/init.hpp"
++#endif
++
+ namespace cv {
+ namespace dnn {
+ CV__DNN_INLINE_NS_BEGIN
+@@ -121,7 +125,8 @@ class BackendRegistry
+ if (haveCUDA())
+ {
+ backends.push_back(std::make_pair(DNN_BACKEND_CUDA, DNN_TARGET_CUDA));
+- backends.push_back(std::make_pair(DNN_BACKEND_CUDA, DNN_TARGET_CUDA_FP16));
++ if (cuda4dnn::doesDeviceSupportFP16())
++ backends.push_back(std::make_pair(DNN_BACKEND_CUDA, DNN_TARGET_CUDA_FP16));
+ }
+ #endif
+
+
+From cfb2bc34acd7699707110523f067a7452a404206 Mon Sep 17 00:00:00 2001
+From: Alexander Smorkalov <alexander.smorkalov@xperience.ai>
+Date: Tue, 9 Jul 2024 11:21:58 +0300
+Subject: [PATCH 2/3] Added CUDA FP16 availability check for target management.
+
+--- a/modules/dnn/src/cuda4dnn/init.hpp
++++ b/modules/dnn/src/cuda4dnn/init.hpp
+@@ -56,9 +56,11 @@ namespace cv { namespace dnn { namespace cuda4dnn {
+ return device_id;
+ }
+
+- inline bool isDeviceCompatible()
++ inline bool isDeviceCompatible(int device_id = -1)
+ {
+- int device_id = getDevice();
++ if (device_id < 0)
++ device_id = getDevice();
++
+ if (device_id < 0)
+ return false;
+
+@@ -76,9 +78,11 @@ namespace cv { namespace dnn { namespace cuda4dnn {
+ return false;
+ }
+
+- inline bool doesDeviceSupportFP16()
++ inline bool doesDeviceSupportFP16(int device_id = -1)
+ {
+- int device_id = getDevice();
++ if (device_id < 0)
++ device_id = getDevice();
++
+ if (device_id < 0)
+ return false;
+
+@@ -87,9 +91,7 @@ namespace cv { namespace dnn { namespace cuda4dnn {
+ CUDA4DNN_CHECK_CUDA(cudaDeviceGetAttribute(&minor, cudaDevAttrComputeCapabilityMinor, device_id));
+
+ int version = major * 10 + minor;
+- if (version < 53)
+- return false;
+- return true;
++ return (version >= 53);
+ }
+
+ }}} /* namespace cv::dnn::cuda4dnn */
+--- a/modules/dnn/src/net_impl_backend.cpp
++++ b/modules/dnn/src/net_impl_backend.cpp
+@@ -10,6 +10,10 @@
+ #include "backend.hpp"
+ #include "factory.hpp"
+
++#ifdef HAVE_CUDA
++#include "cuda4dnn/init.hpp"
++#endif
++
+ namespace cv {
+ namespace dnn {
+ CV__DNN_INLINE_NS_BEGIN
+@@ -242,6 +246,16 @@ void Net::Impl::setPreferableTarget(int targetId)
+ #endif
+ }
+
++ if (IS_DNN_CUDA_TARGET(targetId))
++ {
++ preferableTarget = DNN_TARGET_CPU;
++#ifdef HAVE_CUDA
++ if (cuda4dnn::doesDeviceSupportFP16() && targetId == DNN_TARGET_CUDA_FP16)
++ preferableTarget = DNN_TARGET_CUDA_FP16;
++ else
++ preferableTarget = DNN_TARGET_CUDA;
++#endif
++ }
+ #if !defined(__arm64__) || !__arm64__
+ if (targetId == DNN_TARGET_CPU_FP16)
+ {
+--- a/modules/dnn/src/registry.cpp
++++ b/modules/dnn/src/registry.cpp
+@@ -122,10 +122,24 @@ class BackendRegistry
+ #endif
+
+ #ifdef HAVE_CUDA
+- if (haveCUDA())
++ cuda4dnn::checkVersions();
++
++ bool hasCudaCompatible = false;
++ bool hasCudaFP16 = false;
++ for (int i = 0; i < cuda4dnn::getDeviceCount(); i++)
++ {
++ if (cuda4dnn::isDeviceCompatible(i))
++ {
++ hasCudaCompatible = true;
++ if (cuda4dnn::doesDeviceSupportFP16(i))
++ hasCudaFP16 = true;
++ }
++ }
++
++ if (hasCudaCompatible)
+ {
+ backends.push_back(std::make_pair(DNN_BACKEND_CUDA, DNN_TARGET_CUDA));
+- if (cuda4dnn::doesDeviceSupportFP16())
++ if (hasCudaFP16)
+ backends.push_back(std::make_pair(DNN_BACKEND_CUDA, DNN_TARGET_CUDA_FP16));
+ }
+ #endif
+--- a/modules/dnn/test/test_common.hpp
++++ b/modules/dnn/test/test_common.hpp
+@@ -211,7 +211,7 @@ class DNNTestLayer : public TestWithParam<tuple<Backend, Target> >
+ if ((!l->supportBackend(backend) || l->preferableTarget != target) && !fused)
+ {
+ hasFallbacks = true;
+- std::cout << "FALLBACK: Layer [" << l->type << "]:[" << l->name << "] is expected to has backend implementation" << endl;
++ std::cout << "FALLBACK: Layer [" << l->type << "]:[" << l->name << "] is expected to have backend implementation" << endl;
+ }
+ }
+ if (hasFallbacks && raiseError)
+--- a/modules/dnn/test/test_onnx_conformance.cpp
++++ b/modules/dnn/test/test_onnx_conformance.cpp
+@@ -1008,7 +1008,7 @@ class Test_ONNX_conformance : public TestWithParam<ONNXConfParams>
+ if ((!l->supportBackend(backend) || l->preferableTarget != target) && !fused)
+ {
+ hasFallbacks = true;
+- std::cout << "FALLBACK: Layer [" << l->type << "]:[" << l->name << "] is expected to has backend implementation" << endl;
++ std::cout << "FALLBACK: Layer [" << l->type << "]:[" << l->name << "] is expected to have backend implementation" << endl;
+ }
+ }
+ return hasFallbacks;
+
+From cc9178903daff229bc396db718bf347c4eafd33b Mon Sep 17 00:00:00 2001
+From: Alexander Smorkalov <2536374+asmorkalov@users.noreply.github.com>
+Date: Wed, 10 Jul 2024 09:06:09 +0300
+Subject: [PATCH 3/3] Update modules/dnn/src/registry.cpp
+
+Co-authored-by: Aliaksei Urbanski <aliaksei.urbanski@gmail.com>
+--- a/modules/dnn/src/registry.cpp
++++ b/modules/dnn/src/registry.cpp
+@@ -132,7 +132,10 @@ class BackendRegistry
+ {
+ hasCudaCompatible = true;
+ if (cuda4dnn::doesDeviceSupportFP16(i))
++ {
+ hasCudaFP16 = true;
++ break; // we already have all we need here
++ }
+ }
+ }
+
diff --git a/media-libs/opencv/files/opencv-4.10.0-cudnn-9.patch b/media-libs/opencv/files/opencv-4.10.0-cudnn-9.patch
new file mode 100644
index 000000000000..78ac162bef2d
--- /dev/null
+++ b/media-libs/opencv/files/opencv-4.10.0-cudnn-9.patch
@@ -0,0 +1,32 @@
+https://github.com/opencv/opencv/issues/25711
+https://github.com/opencv/opencv/pull/25841
+
+From 3d74d646d8c4c48e400e650fef9463f174414b96 Mon Sep 17 00:00:00 2001
+From: Alexander Smorkalov <alexander.smorkalov@xperience.ai>
+Date: Mon, 1 Jul 2024 17:33:24 +0300
+Subject: [PATCH] Fixed CuDNN runtime version check for CuDNN 9+.
+
+--- a/modules/dnn/src/cuda4dnn/init.hpp
++++ b/modules/dnn/src/cuda4dnn/init.hpp
+@@ -23,8 +23,19 @@ namespace cv { namespace dnn { namespace cuda4dnn {
+ // Any patch release x.y.z is forward or backward-compatible with applications built against another cuDNN patch release x.y.w (meaning, of the same major and minor version number, but having w!=z).
+ // cuDNN minor releases beginning with cuDNN 7 are binary backward-compatible with applications built against the same or earlier patch release (meaning, an application built against cuDNN 7.x is binary compatible with cuDNN library 7.y, where y>=x).
+ // Applications compiled with a cuDNN version 7.y are not guaranteed to work with 7.x release when y > x.
+- auto cudnn_bversion = cudnnGetVersion();
+- auto cudnn_major_bversion = cudnn_bversion / 1000, cudnn_minor_bversion = cudnn_bversion % 1000 / 100;
++ int cudnn_bversion = cudnnGetVersion();
++ int cudnn_major_bversion = 0, cudnn_minor_bversion = 0;
++ // CuDNN changed major version multiplier in 9.0
++ if (cudnn_bversion >= 9*10000)
++ {
++ cudnn_major_bversion = cudnn_bversion / 10000;
++ cudnn_minor_bversion = cudnn_bversion % 10000 / 100;
++ }
++ else
++ {
++ cudnn_major_bversion = cudnn_bversion / 1000;
++ cudnn_minor_bversion = cudnn_bversion % 1000 / 100;
++ }
+ if (cudnn_major_bversion != CUDNN_MAJOR || cudnn_minor_bversion < CUDNN_MINOR)
+ {
+ std::ostringstream oss;
diff --git a/media-libs/opencv/files/opencv-4.10.0-dnn-explicitly-include-abseil-cpp.patch b/media-libs/opencv/files/opencv-4.10.0-dnn-explicitly-include-abseil-cpp.patch
new file mode 100644
index 000000000000..ca63bea5e46b
--- /dev/null
+++ b/media-libs/opencv/files/opencv-4.10.0-dnn-explicitly-include-abseil-cpp.patch
@@ -0,0 +1,39 @@
+From 980dd32e52da10901094a7f8a5dbe5287a62a602 Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Thu, 5 Sep 2024 15:53:36 +0200
+Subject: [PATCH] dnn: explicitly include abseil-cpp
+
+Linking against abseil-cpp depended on protobuf exporting all abseil-cpp
+libraries via protobuf::libprotobuf public libraries.
+
+Explcitly finding abseil ourselves removes the need for that.
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+
+diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake
+index 9228b04..7d9f315 100644
+--- a/cmake/OpenCVFindProtobuf.cmake
++++ b/cmake/OpenCVFindProtobuf.cmake
+@@ -32,6 +32,7 @@ else()
+ # we still need this for command PROTOBUF_GENERATE_CPP.
+ set(protobuf_MODULE_COMPATIBLE ON)
+
++ find_package(absl CONFIG REQUIRED)
+ unset(Protobuf_VERSION CACHE)
+ find_package(Protobuf QUIET CONFIG)
+ if(NOT Protobuf_FOUND)
+diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
+index 562b144..052c4f8 100644
+--- a/modules/dnn/CMakeLists.txt
++++ b/modules/dnn/CMakeLists.txt
+@@ -144,6 +144,7 @@ list(APPEND libs ${Protobuf_LIBRARIES})
+ if(NOT BUILD_PROTOBUF)
+ list(APPEND include_dirs ${Protobuf_INCLUDE_DIRS})
+ endif()
++list(APPEND libs absl::check)
+
+ set(sources_options "")
+
+--
+2.46.0
+
diff --git a/media-libs/opencv/files/opencv-4.10.0-tbb-detection.patch b/media-libs/opencv/files/opencv-4.10.0-tbb-detection.patch
new file mode 100644
index 000000000000..e808aec04547
--- /dev/null
+++ b/media-libs/opencv/files/opencv-4.10.0-tbb-detection.patch
@@ -0,0 +1,28 @@
+From 460bf0927fcc09e8c7a21d5bb48044fc923a8ee7 Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Tue, 8 Oct 2024 00:31:52 +0200
+Subject: [PATCH] Fix tbb detection
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+
+diff --git a/cmake/OpenCVDetectTBB.cmake b/cmake/OpenCVDetectTBB.cmake
+index c9ecc02..3db3ae0 100644
+--- a/cmake/OpenCVDetectTBB.cmake
++++ b/cmake/OpenCVDetectTBB.cmake
+@@ -25,7 +25,12 @@ function(ocv_tbb_cmake_guess _found)
+ message(WARNING "No TBB::tbb target found!")
+ return()
+ endif()
+- get_target_property(_lib TBB::tbb IMPORTED_LOCATION_RELEASE)
++
++ # Get installed configuration of tbb
++ get_target_property (TARGET_TBB_IMPORT_CONFS TBB::tbb IMPORTED_CONFIGURATIONS)
++ list (GET TARGET_TBB_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
++
++ get_target_property(_lib TBB::tbb IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
+ message(STATUS "Found TBB (cmake): ${_lib}")
+ get_target_property(_inc TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
+ add_library(tbb INTERFACE IMPORTED)
+--
+2.46.2
+
diff --git a/media-libs/opencv/files/opencv_contrib-4.10.0-CUDA-12.6-tuple_size.patch b/media-libs/opencv/files/opencv_contrib-4.10.0-CUDA-12.6-tuple_size.patch
new file mode 100644
index 000000000000..252ecdee6cb6
--- /dev/null
+++ b/media-libs/opencv/files/opencv_contrib-4.10.0-CUDA-12.6-tuple_size.patch
@@ -0,0 +1,53 @@
+https://github.com/opencv/opencv_contrib/pull/3785
+From 09eb618804588f77026924096d848800630c8d6f Mon Sep 17 00:00:00 2001
+From: Alexander Smorkalov <alexander.smorkalov@xperience.ai>
+Date: Tue, 3 Sep 2024 13:47:48 +0300
+Subject: [PATCH] Workaround for CUDA 12.6 tuple_size issue #3773.
+
+---
+ modules/cudaarithm/src/cuda/polar_cart.cu | 20 +++++---------------
+ 1 file changed, 5 insertions(+), 15 deletions(-)
+
+diff --git a/modules/cudaarithm/src/cuda/polar_cart.cu b/modules/cudaarithm/src/cuda/polar_cart.cu
+index 725f5741d8..c65b894bf6 100644
+--- a/modules/cudaarithm/src/cuda/polar_cart.cu
++++ b/modules/cudaarithm/src/cuda/polar_cart.cu
+@@ -159,25 +159,15 @@ void cv::cuda::cartToPolar(InputArray _xy, OutputArray _mag, OutputArray _angle,
+ GpuMat_<float> magc(mag);
+ GpuMat_<float> anglec(angle);
+
++ gridTransformUnary(globPtr<float2>(xy), globPtr<float>(magc), magnitude_interleaved_func<float2>(), stream);
++
+ if (angleInDegrees)
+ {
+- auto f1 = magnitude_interleaved_func<float2>();
+- auto f2 = direction_interleaved_func<float2, true>();
+- cv::cudev::tuple<decltype(f1), decltype(f2)> f12 = cv::cudev::make_tuple(f1, f2);
+- gridTransformTuple(globPtr<float2>(xy),
+- tie(magc, anglec),
+- f12,
+- stream);
++ gridTransformUnary(globPtr<float2>(xy), globPtr<float>(anglec), direction_interleaved_func<float2, true>(), stream);
+ }
+ else
+ {
+- auto f1 = magnitude_interleaved_func<float2>();
+- auto f2 = direction_interleaved_func<float2, false>();
+- cv::cudev::tuple<decltype(f1), decltype(f2)> f12 = cv::cudev::make_tuple(f1, f2);
+- gridTransformTuple(globPtr<float2>(xy),
+- tie(magc, anglec),
+- f12,
+- stream);
++ gridTransformUnary(globPtr<float2>(xy), globPtr<float>(anglec), direction_interleaved_func<float2, false>(), stream);
+ }
+
+ syncOutput(mag, _mag, stream);
+@@ -191,7 +181,7 @@ void cv::cuda::cartToPolar(InputArray _xy, OutputArray _magAngle, bool angleInDe
+ CV_Assert( xy.type() == CV_32FC2 );
+
+ GpuMat magAngle = getOutputMat(_magAngle, xy.size(), CV_32FC2, stream);
+-
++
+ if (angleInDegrees)
+ {
+ gridTransformUnary(globPtr<float2>(xy),
diff --git a/media-libs/opencv/metadata.xml b/media-libs/opencv/metadata.xml
index 5979caa25015..b23fac5f689f 100644
--- a/media-libs/opencv/metadata.xml
+++ b/media-libs/opencv/metadata.xml
@@ -42,10 +42,13 @@
<flag name="tbb">Enable multithreading with the Intel Threads Building Block (<pkg>dev-cpp/tbb</pkg>)</flag>
<flag name="tesseract">Use Google's OCR Engine</flag>
<flag name="testprograms">Build and install programs for testing OpenCV (performance)</flag>
+ <flag name="truetype">Enable <pkg>media-libs/freetype</pkg> support for gapi module</flag>
<flag name="video_cards_intel">Enable Video Acceleration API for hardware decoding for Intel cards</flag>
<flag name="vtk">Build new 3D visualization module viz based on <pkg>sci-libs/vtk</pkg></flag>
</use>
<upstream>
+ <changelog>https://github.com/opencv/opencv/wiki/ChangeLog</changelog>
+ <doc>https://docs.opencv.org</doc>
<remote-id type="cpe">cpe:/a:opencv:opencv</remote-id>
<remote-id type="github">opencv/opencv</remote-id>
<remote-id type="github">opencv/opencv_contrib</remote-id>
diff --git a/media-libs/opencv/opencv-4.10.0.ebuild b/media-libs/opencv/opencv-4.10.0.ebuild
new file mode 100644
index 000000000000..34bfb33194a0
--- /dev/null
+++ b/media-libs/opencv/opencv-4.10.0.ebuild
@@ -0,0 +1,1317 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cuda java-pkg-opt-2 cmake-multilib flag-o-matic multilib multiprocessing python-r1 toolchain-funcs virtualx
+
+DESCRIPTION="A collection of algorithms and sample code for various computer vision problems"
+HOMEPAGE="https://opencv.org"
+
+# TODO
+# - dnn: move module from opencv_contrib
+# https://github.com/opencv/opencv/commit/93729784bb1c4e544e07ec27a43ef57c4f456cec
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ # branch master
+ ADE_PV="0.1.2d"
+ # branch wechat_qrcode_20210119
+ QRCODE_COMMIT="a8b69ccc738421293254aec5ddb38bd523503252"
+ # branch dnn_samples_face_detector_20170830
+ DNN_SAMPLES_FACE_DETECTOR_COMMIT="b2bfc75f6aea5b1f834ff0f0b865a7c18ff1459f"
+ # branch contrib_xfeatures2d_boostdesc_20161012
+ XFEATURES2D_BOOSTDESC_COMMIT="34e4206aef44d50e6bbcd0ab06354b52e7466d26"
+ # branch contrib_xfeatures2d_vgg_20160317
+ XFEATURES2D_VGG_COMMIT="fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
+ # branch contrib_face_alignment_20170818
+ FACE_ALIGNMENT_COMMIT="8afa57abc8229d611c4937165d20e2a2d9fc5a12"
+ # branch nvof_2_0_bsd
+ NVIDIA_OPTICAL_FLOW_COMMIT="edb50da3cf849840d680249aa6dbef248ebce2ca"
+
+ SRC_URI="
+ https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/opencv/ade/archive/v${ADE_PV}.tar.gz -> ade-${ADE_PV}.tar.gz
+ contrib? (
+ https://github.com/${PN}/${PN}_contrib/archive/${PV}.tar.gz -> ${PN}_contrib-${PV}.tar.gz
+ dnnsamples? (
+ https://github.com/${PN}/${PN}_3rdparty/archive/${QRCODE_COMMIT}.tar.gz -> ${PN}_3rdparty-${QRCODE_COMMIT}.tar.gz
+ https://github.com/${PN}/${PN}_3rdparty/archive/${DNN_SAMPLES_FACE_DETECTOR_COMMIT}.tar.gz
+ -> ${PN}_3rdparty-${DNN_SAMPLES_FACE_DETECTOR_COMMIT}.tar.gz
+ )
+ contribxfeatures2d? (
+ https://github.com/${PN}/${PN}_3rdparty/archive/${XFEATURES2D_BOOSTDESC_COMMIT}.tar.gz
+ -> ${PN}_3rdparty-${XFEATURES2D_BOOSTDESC_COMMIT}.tar.gz
+ https://github.com/${PN}/${PN}_3rdparty/archive/${XFEATURES2D_VGG_COMMIT}.tar.gz
+ -> ${PN}_3rdparty-${XFEATURES2D_VGG_COMMIT}.tar.gz
+ )
+ contribdnn? (
+ https://github.com/${PN}/${PN}_3rdparty/archive/${FACE_ALIGNMENT_COMMIT}.tar.gz
+ -> ${PN}_3rdparty-${FACE_ALIGNMENT_COMMIT}.tar.gz
+ )
+ cuda? (
+ https://github.com/NVIDIA/NVIDIAOpticalFlowSDK/archive/${NVIDIA_OPTICAL_FLOW_COMMIT}.tar.gz
+ -> NVIDIAOpticalFlowSDK-${NVIDIA_OPTICAL_FLOW_COMMIT}.tar.gz
+ )
+ https://github.com/${PN}/${PN}_contrib/commit/667a66ee0e99f3f3263c1ef2de1b90d9244b7bd4.patch
+ -> ${PN}_contrib-4.10.0-3607.patch
+ )
+ test? (
+ https://github.com/${PN}/${PN}_extra/archive/refs/tags/${PV}.tar.gz -> ${PN}_extra-${PV}.tar.gz
+ )
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}" # subslot = libopencv* soname version
+
+# general options
+IUSE="debug doc +eigen gflags glog java non-free opencvapps python test testprograms"
+
+# modules
+IUSE+=" contrib contribcvv contribdnn contribfreetype contribhdf contribovis contribsfm contribxfeatures2d dnnsamples examples +features2d"
+# hardware
+IUSE+=" cuda cudnn opencl video_cards_intel"
+# video
+IUSE+=" +ffmpeg gstreamer xine vaapi v4l gphoto2 ieee1394"
+# image
+IUSE+=" avif gdal jasper jpeg jpeg2k openexr png quirc tesseract tiff webp"
+# gui
+IUSE+=" gtk3 qt6 opengl truetype vtk"
+# parallel
+IUSE+=" openmp tbb"
+# lapack options
+IUSE+=" atlas lapack mkl"
+
+# from cmake/OpenCVCompilerOptimizations.cmake
+# TODO make this only relevant for binhost
+CPU_FEATURES_MAP=(
+ cpu_flags_arm_neon:NEON
+ cpu_flags_arm_vfpv3:VFPV3
+
+ # cpu_flags_arm_fp:FP16
+
+ cpu_flags_arm_asimddp:NEON_DOTPROD
+ # cpu_flags_arm_neon_fp16:NEON_FP16
+ # cpu_flags_arm_neon_bf16:NEON_BF16
+
+ # cpu_flags_loong_lsx:LSX
+ # cpu_flags_loong_lasx:LASX
+
+ # cpu_flags_mips_msa:MSA
+
+ cpu_flags_ppc_vsx:VSX # (always available on Power8)
+ cpu_flags_ppc_vsx3:VSX3 # (always available on Power9)
+
+ # cpu_flags_riscv_rvv:RVV
+
+ cpu_flags_x86_sse:SSE # (always available on 64-bit CPUs)
+ cpu_flags_x86_sse2:SSE2 # (always available on 64-bit CPUs)
+
+ cpu_flags_x86_sse3:SSE3
+ cpu_flags_x86_ssse3:SSSE3
+
+ cpu_flags_x86_sse4_1:SSE4_1
+ cpu_flags_x86_popcnt:POPCNT
+ cpu_flags_x86_sse4_2:SSE4_2
+
+ cpu_flags_x86_f16c:FP16
+ cpu_flags_x86_fma3:FMA3
+ cpu_flags_x86_avx:AVX
+ cpu_flags_x86_avx2:AVX2
+ cpu_flags_x86_avx512_bitalg:AVX_512BITALG
+ cpu_flags_x86_avx512_vbmi2:AVX_512VBMI2
+ cpu_flags_x86_avx512_vnni:AVX_512VNNI
+ cpu_flags_x86_avx512_vpopcntdq:AVX_512VPOPCNTDQ
+ cpu_flags_x86_avx512bw:AVX_512BW
+ cpu_flags_x86_avx512cd:AVX_512CD
+ cpu_flags_x86_avx512dq:AVX_512DQ
+ cpu_flags_x86_avx512f:AVX_512F
+ cpu_flags_x86_avx512ifma:AVX_512IFMA
+ cpu_flags_x86_avx512vbmi:AVX_512VBMI
+ cpu_flags_x86_avx512vl:AVX_512VL
+
+ # AVX512_KNL_EXTRA
+ cpu_flags_x86_avx512er:AVX_512ER
+ cpu_flags_x86_avx512pf:AVX_512PF
+ # AVX512_KNM_EXTRA
+ cpu_flags_x86_avx512_4fmaps:AVX_5124FMAPS
+ cpu_flags_x86_avx512_4vnniw:AVX_5124VNNIW
+
+)
+IUSE+=" ${CPU_FEATURES_MAP[*]%:*}"
+
+REQUIRED_USE="
+ amd64? (
+ cpu_flags_x86_sse
+ cpu_flags_x86_sse2
+ cpu_flags_x86_avx2? ( cpu_flags_x86_f16c )
+ cpu_flags_x86_f16c? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx512er? ( cpu_flags_x86_avx512pf )
+ cpu_flags_x86_avx512pf? ( cpu_flags_x86_avx512er )
+ cpu_flags_x86_avx512_4fmaps? ( cpu_flags_x86_avx512_4fmaps )
+ cpu_flags_x86_avx512_4vnniw? ( cpu_flags_x86_avx512_4vnniw )
+ )
+ cuda? (
+ contrib
+ )
+ cudnn? ( cuda )
+ dnnsamples? ( examples )
+ gflags? ( contrib )
+ glog? ( contrib )
+ contribcvv? ( contrib qt6 )
+ contribdnn? ( contrib )
+ contribfreetype? ( contrib )
+ contribhdf? ( contrib )
+ contribovis? ( contrib )
+ contribsfm? ( contrib eigen gflags glog )
+ contribxfeatures2d? ( contrib )
+ java? ( python )
+ opengl? ( qt6 )
+ jasper? ( !abi_x86_32 )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ tesseract? ( contrib )
+ ?? ( gtk3 qt6 )
+ testprograms? ( test )
+ test? ( || ( ffmpeg gstreamer ) jpeg png tiff features2d )
+"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ app-arch/bzip2[${MULTILIB_USEDEP}]
+ dev-libs/protobuf:=[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ avif? ( media-libs/libavif:=[${MULTILIB_USEDEP}] )
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ cudnn? (
+ dev-cpp/abseil-cpp:=
+ dev-libs/cudnn:=
+ )
+ contribdnn? ( dev-libs/flatbuffers:= )
+ contribhdf? ( sci-libs/hdf5:= )
+ contribfreetype? (
+ media-libs/freetype:2[${MULTILIB_USEDEP}]
+ media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
+ )
+ contribovis? ( >=dev-games/ogre-1.12:= )
+ ffmpeg? ( media-video/ffmpeg:0=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype:2[${MULTILIB_USEDEP}] )
+ gdal? ( sci-libs/gdal:= )
+ gflags? ( dev-cpp/gflags:=[${MULTILIB_USEDEP}] )
+ glog? ( dev-cpp/glog:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ )
+ gtk3? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ media-libs/libdc1394:=[${MULTILIB_USEDEP}]
+ sys-libs/libraw1394[${MULTILIB_USEDEP}]
+ )
+ jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
+ jpeg2k? (
+ jasper? ( media-libs/jasper:= )
+ !jasper? ( media-libs/openjpeg:2=[${MULTILIB_USEDEP}] )
+ )
+ lapack? (
+ atlas? ( sci-libs/atlas )
+ mkl? ( sci-libs/mkl )
+ !atlas? (
+ !mkl? (
+ virtual/cblas
+ >=virtual/lapack-3.10
+ virtual/lapacke
+ )
+ )
+ )
+ opencl? (
+ virtual/opencl[${MULTILIB_USEDEP}]
+ dev-util/opencl-headers
+ )
+ openexr? (
+ dev-libs/imath:=
+ media-libs/openexr:=
+ )
+ opengl? (
+ virtual/opengl[${MULTILIB_USEDEP}]
+ virtual/glu[${MULTILIB_USEDEP}]
+ )
+ png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/numpy:=[${PYTHON_USEDEP}]
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,widgets,concurrent,opengl?]
+ )
+ quirc? ( media-libs/quirc )
+ tesseract? ( app-text/tesseract[${MULTILIB_USEDEP}] )
+ tbb? ( dev-cpp/tbb:=[${MULTILIB_USEDEP}] )
+ tiff? ( media-libs/tiff:=[${MULTILIB_USEDEP}] )
+ v4l? ( >=media-libs/libv4l-0.8.3[${MULTILIB_USEDEP}] )
+ vaapi? ( media-libs/libva[${MULTILIB_USEDEP}] )
+ vtk? (
+ sci-libs/vtk:=[rendering,cuda=]
+ || (
+ (
+ sci-libs/vtk[opencascade(+)]
+ sci-libs/opencascade[-ffmpeg]
+ )
+ sci-libs/vtk[-opencascade(-)]
+ )
+ )
+ webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
+ xine? ( media-libs/xine-lib )
+"
+GST_TEST_DEPEND="
+ media-plugins/gst-plugins-aom[${MULTILIB_USEDEP}]
+ media-plugins/gst-plugins-mpeg2enc[${MULTILIB_USEDEP}]
+ media-plugins/gst-plugins-openh264[${MULTILIB_USEDEP}]
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ eigen? ( >=dev-cpp/eigen-3.3.8-r1:3 )
+ java? ( >=virtual/jdk-1.8:* )
+ test? (
+ gstreamer? (
+ amd64? ( ${GST_TEST_DEPEND} )
+ arm64? ( ${GST_TEST_DEPEND} )
+ x86? ( ${GST_TEST_DEPEND} )
+ arm? ( media-plugins/gst-plugins-openh264[${MULTILIB_USEDEP}] )
+ media-plugins/gst-plugins-jpeg[${MULTILIB_USEDEP}]
+ media-plugins/gst-plugins-libav[${MULTILIB_USEDEP}]
+ media-plugins/gst-plugins-mpeg2dec[${MULTILIB_USEDEP}]
+ media-plugins/gst-plugins-mpg123[${MULTILIB_USEDEP}]
+ media-plugins/gst-plugins-x264[${MULTILIB_USEDEP}]
+ !ppc? ( !ppc64? (
+ media-plugins/gst-plugins-vpx[${MULTILIB_USEDEP}]
+ ) )
+ )
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+unset COMMON_DEPEND
+
+BDEPEND="
+ dev-util/patchelf
+ virtual/pkgconfig
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ doc? (
+ app-text/doxygen[dot]
+ python? (
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ )
+ )
+ java? ( >=dev-java/ant-1.10.14-r3 )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.4.1-cuda-add-relaxed-constexpr.patch"
+ "${FILESDIR}/${PN}-4.1.2-opencl-license.patch"
+ "${FILESDIR}/${PN}-4.4.0-disable-native-cpuflag-detect.patch"
+ "${FILESDIR}/${PN}-4.5.0-link-with-cblas-for-lapack.patch"
+
+ "${FILESDIR}/${PN}-4.8.1-use-system-flatbuffers.patch"
+ "${FILESDIR}/${PN}-4.8.1-use-system-opencl.patch"
+
+ "${FILESDIR}/${PN}-4.9.0-drop-python2-detection.patch"
+ "${FILESDIR}/${PN}-4.9.0-ade-0.1.2d.tar.gz.patch"
+ "${FILESDIR}/${PN}-4.9.0-cmake-cleanup.patch"
+
+ "${FILESDIR}/${PN}-4.10.0-dnn-explicitly-include-abseil-cpp.patch"
+ "${FILESDIR}/${PN}-4.10.0-cudnn-9.patch" # 25841
+ "${FILESDIR}/${PN}-4.10.0-cuda-fp16.patch" # 25880
+ "${FILESDIR}/${PN}-4.10.0-26234.patch" # 26234
+ "${FILESDIR}/${PN}-4.10.0-tbb-detection.patch"
+
+ # TODO applied in src_prepare
+ # "${FILESDIR}/${PN}_contrib-4.8.1-rgbd.patch"
+
+ # "${FILESDIR}/${PN}_contrib-4.8.1-NVIDIAOpticalFlowSDK-2.0.tar.gz.patch"
+
+ # "${FILESDIR}/${PN}_contrib-4.10.0-CUDA-12.6-tuple_size.patch" # 3785
+)
+
+cuda_get_host_compiler() {
+ if [[ -n "${NVCC_CCBIN}" ]]; then
+ echo "${NVCC_CCBIN}"
+ return
+ fi
+
+ if [[ -n "${CUDAHOSTCXX}" ]]; then
+ echo "${CUDAHOSTCXX}"
+ return
+ fi
+
+ einfo "Trying to find working CUDA host compiler"
+
+ if ! tc-is-gcc && ! tc-is-clang; then
+ die "$(tc-get-compiler-type) compiler is not supported"
+ fi
+
+ local compiler compiler_type compiler_version
+ local package package_version
+ local -x NVCC_CCBIN
+ local NVCC_CCBIN_default
+
+ compiler_type="$(tc-get-compiler-type)"
+ compiler_version="$("${compiler_type}-major-version")"
+
+ # try the default compiler first
+ NVCC_CCBIN="$(tc-getCXX)"
+ NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}"
+
+ compiler="${NVCC_CCBIN/%-${compiler_version}}"
+
+ # store the package so we can re-use it later
+ package="sys-devel/${compiler_type}"
+ package_version="${package}"
+
+ ebegin "testing ${NVCC_CCBIN_default} (default)"
+
+ while ! nvcc - -x cu <<<"int main(){}" &>/dev/null; do
+ eend 1
+
+ while true; do
+ # prepare next version
+ if ! package_version="<$(best_version "${package_version}")"; then
+ die "could not find a supported version of ${compiler}"
+ fi
+
+ NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")"
+
+ [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break
+ done
+ ebegin "testing ${NVCC_CCBIN}"
+ done
+ eend $?
+
+ echo "${NVCC_CCBIN}"
+ export NVCC_CCBIN
+}
+
+cuda_get_host_native_arch() {
+ [[ -n ${CUDAARCHS} ]] && echo "${CUDAARCHS}"
+
+ __nvcc_device_query || die "failed to query the native device"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ if use cuda && [[ -z "${CUDA_GENERATION}" ]] && [[ -z "${CUDA_ARCH_BIN}" ]]; then # TODO CUDAARCHS
+ einfo "The target CUDA architecture can be set via one of:"
+ einfo " - CUDA_GENERATION set to one of Maxwell, Pascal, Volta, Turing, Ampere, Lovelace, Hopper, Auto"
+ einfo " - CUDA_ARCH_BIN, (and optionally CUDA_ARCH_PTX) in the form of x.y tuples."
+ einfo " You can specify multiple tuple separated by \";\"."
+ einfo ""
+ einfo "The CUDA architecture tuple for your device can be found at https://developer.nvidia.com/cuda-gpus."
+ fi
+
+ # When building binpkgs you probably want to include all targets
+ if use cuda && [[ ${MERGE_TYPE} == "buildonly" ]] && [[ -n "${CUDA_GENERATION}" || -n "${CUDA_ARCH_BIN}" ]]; then
+ local info_message="When building a binary package it's recommended to unset CUDA_GENERATION and CUDA_ARCH_BIN"
+ einfo "$info_message so all available architectures are build."
+ fi
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ use java && java-pkg-opt-2_pkg_setup
+
+ if use cuda && [[ ! -e /dev/nvidia-uvm ]]; then
+ # NOTE We try to load nvidia-uvm and nvidia-modeset here,
+ # so __nvcc_device_query does not fail later.
+
+ nvidia-modprobe -m -u -c 0 || true
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # remove bundled stuff
+ rm -r 3rdparty || die "Removing 3rd party components failed"
+ sed -e '/add_subdirectory(.*3rdparty.*)/ d' \
+ -i CMakeLists.txt cmake/*cmake || die
+
+ sed \
+ -e 's:truetype/wqy:wqy-microhei:g' \
+ -i \
+ modules/gapi/test/render/gapi_render_tests_ocv.cpp \
+ modules/gapi/test/render/ftp_render_test.cpp \
+ || die
+
+ if use contrib; then
+ cd "${WORKDIR}/${PN}_contrib-${PV}" || die
+ eapply "${FILESDIR}/${PN}_contrib-4.8.1-rgbd.patch"
+ eapply "${FILESDIR}/${PN}_contrib-4.8.1-NVIDIAOpticalFlowSDK-2.0.tar.gz.patch"
+ if type -P nvcc &> /dev/null && ver_test "$(nvcc --version | tail -n 1 | cut -d '_' -f 2- | cut -d '.' -f 1-2)" -ge 12.4; then
+ eapply "${DISTDIR}/${PN}_contrib-4.10.0-3607.patch"
+ eapply "${FILESDIR}/${PN}_contrib-4.10.0-CUDA-12.6-tuple_size.patch" # 3785
+ fi
+
+ cd "${S}" || die
+
+ ! use contribcvv && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/cvv" || die; }
+ ! use contribdnn && { rm -R "${S}/modules/dnn" || die; }
+ ! use contribfreetype && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/freetype" || die; }
+ ! use contribhdf && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/hdf" || die; }
+ ! use contribovis && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/ovis" || die; }
+ ! use contribsfm && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/sfm" || die; }
+ ! use contribxfeatures2d && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/xfeatures2d" || die; }
+ fi
+
+ mkdir -p "${S}/.cache/ade" || die
+ cp \
+ "${DISTDIR}/ade-${ADE_PV}.tar.gz" \
+ "${S}/.cache/ade/$(md5sum "${DISTDIR}/ade-${ADE_PV}.tar.gz" | cut -f 1 -d " ")-v${ADE_PV}.tar.gz" || die
+
+ if use dnnsamples; then
+ mkdir -p "${S}/.cache/wechat_qrcode" || die
+ for file in "detect.caffemodel" "detect.prototxt" "sr.prototxt" "sr.caffemodel"; do
+ mv \
+ "${WORKDIR}/${PN}_3rdparty-${QRCODE_COMMIT}/${file}" \
+ "${S}/.cache/wechat_qrcode/$( \
+ md5sum "${WORKDIR}/${PN}_3rdparty-${QRCODE_COMMIT}/${file}" | cut -f 1 -d " " \
+ )-${file}" || die
+ done
+
+ mv \
+ "${WORKDIR}/${PN}_3rdparty-${DNN_SAMPLES_FACE_DETECTOR_COMMIT}/res10_300x300_ssd_iter_140000.caffemodel" \
+ "${S}/samples/dnn/" || die
+ fi
+
+ if use contribxfeatures2d; then
+ cp \
+ "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_BOOSTDESC_COMMIT}/"*.i \
+ "${WORKDIR}/${PN}_contrib-${PV}"/modules/xfeatures2d/src/ || die
+ mkdir -p "${S}/.cache/xfeatures2d/boostdesc" || die
+ for file in "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_BOOSTDESC_COMMIT}/"*.i; do
+ mv \
+ "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_BOOSTDESC_COMMIT}/$(basename "${file}")" \
+ "${S}/.cache/xfeatures2d/boostdesc/$( \
+ md5sum "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_BOOSTDESC_COMMIT}/$(basename "${file}")" | cut -f 1 -d " " \
+ )-$(basename "${file}")" || die
+ done
+
+ cp \
+ "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_VGG_COMMIT}/"*.i \
+ "${WORKDIR}/${PN}_contrib-${PV}"/modules/xfeatures2d/src/ || die
+ mkdir -p "${S}/.cache/xfeatures2d/vgg" || die
+ for file in "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_VGG_COMMIT}/"*.i; do
+ mv \
+ "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_VGG_COMMIT}/$(basename "${file}")" \
+ "${S}/.cache/xfeatures2d/vgg/$( \
+ md5sum "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_VGG_COMMIT}/$(basename "${file}")" | cut -f 1 -d " " \
+ )-$(basename "${file}")" || die
+ done
+ fi
+
+ if use contribdnn; then
+ mkdir -p "${S}/.cache/data" || die
+ mkdir -p "${WORKDIR}/${PN}_extra-${PV}/testdata/cv/face/" || die
+ file="face_landmark_model.dat"
+ cp \
+ "${WORKDIR}/${PN}_3rdparty-${FACE_ALIGNMENT_COMMIT}/${file}" \
+ "${WORKDIR}/${PN}_extra-${PV}/testdata/cv/face/" \
+ || die
+ mv \
+ "${WORKDIR}/${PN}_3rdparty-${FACE_ALIGNMENT_COMMIT}/${file}" \
+ "${S}/.cache/data/$( \
+ md5sum "${WORKDIR}/${PN}_3rdparty-${FACE_ALIGNMENT_COMMIT}/${file}" | cut -f 1 -d " " \
+ )-${file}" || die
+ fi
+
+ if use cuda; then
+ mkdir -p "${S}/.cache/nvidia_optical_flow"
+ cp \
+ "${DISTDIR}/NVIDIAOpticalFlowSDK-${NVIDIA_OPTICAL_FLOW_COMMIT}.tar.gz" \
+ "${S}/.cache/nvidia_optical_flow/$( \
+ md5sum "${DISTDIR}/NVIDIAOpticalFlowSDK-${NVIDIA_OPTICAL_FLOW_COMMIT}.tar.gz" | cut -f 1 -d " " \
+ )-${NVIDIA_OPTICAL_FLOW_COMMIT}.tar.gz" || die
+ fi
+
+ if use java; then
+ java-pkg-opt-2_src_prepare
+
+ # set encoding so even this cmake build will pick it up.
+ ANT_OPTS+=" -Dfile.encoding=iso-8859-1"
+ ANT_OPTS+=" -Dant.build.javac.source=$(java-pkg_get-source)"
+ ANT_OPTS+=" -Dant.build.javac.target=$(java-pkg_get-target)"
+ fi
+
+ if multilib_native_use testprograms; then
+ sed \
+ -e 's:share/OpenCV/testdata:@OPENCV_TEST_DATA_INSTALL_PATH@:g' \
+ -i "${S}/cmake/templates/opencv_run_all_tests_unix.sh.in" || die
+ fi
+}
+
+multilib_src_configure() {
+ # bug #919101 and https://github.com/opencv/opencv/issues/19020
+ filter-lto
+
+ if tc-is-gcc && [[ $(gcc-major-version) -ge 15 ]] && use contribdnn; then
+ append-cxxflags "-fno-tree-vectorize"
+ fi
+
+ # please don't sort here, order is the same as in CMakeLists.txt
+ local mycmakeargs=(
+ -DMIN_VER_CMAKE=3.26
+
+ -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp
+
+ # for protobuf
+ -DCMAKE_CXX_STANDARD=17
+
+ # Optional 3rd party components
+ # ===================================================
+ -DOPENCV_ENABLE_NONFREE="$(usex non-free)"
+ -DWITH_QUIRC="$(usex quirc)"
+ -DWITH_FLATBUFFERS="$(multilib_native_usex contribdnn)"
+ -DWITH_1394="$(usex ieee1394)"
+ # -DWITH_AVFOUNDATION="no" # IOS
+ -DWITH_VTK="$(multilib_native_usex vtk)"
+ -DWITH_EIGEN="$(usex eigen)"
+ -DWITH_VFW="no" # Video windows support
+ -DWITH_FFMPEG="$(usex ffmpeg)"
+ -DWITH_GSTREAMER="$(usex gstreamer)"
+ -DWITH_GTK="$(usex gtk3)"
+ -DWITH_GTK_2_X="no" # only want gtk3 nowadays
+ -DWITH_IPP="no"
+ -DWITH_JASPER="$(usex jpeg2k "$(multilib_native_usex jasper)")"
+ -DWITH_JPEG="$(usex jpeg)"
+ -DWITH_OPENJPEG="$(usex jpeg2k "$(multilib_native_usex !jasper)")"
+ -DWITH_WEBP="$(usex webp)"
+ -DWITH_OPENEXR="$(multilib_native_usex openexr)"
+ -DWITH_OPENGL="$(usex opengl)"
+ -DOpenGL_GL_PREFERENCE="GLVND"
+ -DWITH_OPENVX="no"
+ -DWITH_OPENNI="no" # Not packaged
+ -DWITH_OPENNI2="no" # Not packaged
+ -DWITH_PNG="$(usex png)"
+ -DWITH_GDCM="no"
+ -DWITH_PVAPI="no"
+ -DWITH_GIGEAPI="no"
+ -DWITH_ARAVIS="no"
+ -DWITH_WIN32UI="no" # Windows only
+ # -DWITH_QUICKTIME="no"
+ # -DWITH_QTKIT="no"
+ -DWITH_TBB="$(usex tbb)"
+ -DWITH_OPENMP="$(usex openmp)"
+ -DWITH_PTHREADS_PF="yes"
+ -DWITH_TIFF="$(usex tiff)"
+ -DWITH_UNICAP="no" # Not packaged
+ -DWITH_V4L="$(usex v4l)"
+ -DWITH_LIBV4L="$(usex v4l)"
+ # -DWITH_DSHOW="yes" # direct show supp
+ -DWITH_MSMF="no"
+ -DWITH_XIMEA="no" # Windows only
+ -DWITH_XINE="$(multilib_native_usex xine)"
+ -DWITH_CLP="no"
+ -DWITH_OPENCL="$(usex opencl)"
+ -DWITH_OPENCL_SVM="no" # "$(usex opencl)"
+ -DWITH_DIRECTX="no"
+ -DWITH_INTELPERC="no"
+ -DWITH_IPP_A="no"
+ -DWITH_MATLAB="no"
+ -DWITH_VA="$(usex vaapi)"
+ -DWITH_VA_INTEL="$(usex vaapi "$(usex video_cards_intel)")"
+ -DWITH_GDAL="$(multilib_native_usex gdal)"
+ -DWITH_GPHOTO2="$(usex gphoto2)"
+ -DWITH_LAPACK="$(multilib_native_usex lapack)"
+ -DWITH_ITT="no" # 3dparty libs itt_notify
+
+ -DWITH_AVIF="$(usex avif)"
+ -DWITH_FREETYPE="$(usex truetype)"
+ # ===================================================
+ # CUDA build components: nvidia-cuda-toolkit
+ # ===================================================
+ -DWITH_CUDA="$(multilib_native_usex cuda)"
+ -DWITH_CUBLAS="$(multilib_native_usex cuda)"
+ -DWITH_CUFFT="$(multilib_native_usex cuda)"
+ -DWITH_CUDNN="$(multilib_native_usex cudnn)"
+ # NOTE set this via MYCMAKEARGS if needed
+ -DWITH_NVCUVID="no" # TODO needs NVIDIA Video Codec SDK
+ -DWITH_NVCUVENC="no" # TODO needs NVIDIA Video Codec SDK
+ -DCUDA_NPP_LIBRARY_ROOT_DIR="$(usex cuda "${CUDA_PATH:=${EPREFIX}/opt/cuda}" "")"
+ # ===================================================
+ # OpenCV build components
+ # ===================================================
+ -DBUILD_SHARED_LIBS="yes"
+ -DBUILD_JAVA="$(multilib_native_usex java)" # Ant needed, no compile flag
+ -DBUILD_ANDROID_EXAMPLES="no"
+ -DBUILD_opencv_apps="$(usex opencvapps)"
+ -DBUILD_DOCS="$(usex doc)" # Doesn't install anyways.
+ -DBUILD_EXAMPLES="$(multilib_native_usex examples)"
+ -DBUILD_TESTS="$(multilib_native_usex test "yes" "$(multilib_native_usex testprograms)")"
+ -DBUILD_PERF_TESTS="no"
+
+ # -DBUILD_WITH_STATIC_CRT="no"
+ -DBUILD_WITH_DYNAMIC_IPP="no"
+ -DBUILD_FAT_JAVA_LIB="no"
+ # -DBUILD_ANDROID_SERVICE="no"
+ -DBUILD_CUDA_STUBS="$(multilib_native_usex cuda)"
+ -DOPENCV_EXTRA_MODULES_PATH="$(usex contrib "${WORKDIR}/${PN}_contrib-${PV}/modules" "")"
+ # ===================================================
+ # OpenCV installation options
+ # ===================================================
+ -DINSTALL_CREATE_DISTRIB="no"
+ -DINSTALL_BIN_EXAMPLES="$(multilib_native_usex examples)"
+ -DINSTALL_C_EXAMPLES="$(multilib_native_usex examples)"
+ -DINSTALL_TESTS="$(multilib_native_usex testprograms)"
+ # -DINSTALL_ANDROID_EXAMPLES="no"
+ -DINSTALL_TO_MANGLED_PATHS="no"
+ -DOPENCV_GENERATE_PKGCONFIG="yes"
+ # opencv uses both ${CMAKE_INSTALL_LIBDIR} and ${LIB_SUFFIX}
+ # to set its destination libdir
+ -DLIB_SUFFIX=
+ # ===================================================
+ # OpenCV build options
+ # ===================================================
+ -DENABLE_CCACHE="no"
+ # bug 733796, but PCH is a risky game in CMake anyway
+ -DBUILD_USE_SYMLINKS="yes"
+ -DENABLE_PRECOMPILED_HEADERS="no"
+ -DENABLE_SOLUTION_FOLDERS="no"
+ -DENABLE_PROFILING="no"
+ -DENABLE_COVERAGE="no"
+ -DOPENCV_DOWNLOAD_TRIES_LIST="0"
+
+ -DHAVE_opencv_java="$(multilib_native_usex java)"
+
+ -DBUILD_WITH_DEBUG_INFO="$(usex debug)"
+ -DOPENCV_ENABLE_MEMORY_SANITIZER="$(usex debug)"
+ -DCV_TRACE="$(usex debug)"
+ -DENABLE_NOISY_WARNINGS="$(usex debug)"
+ -DOPENCV_WARNINGS_ARE_ERRORS="no"
+ -DENABLE_IMPL_COLLECTION="no"
+ -DENABLE_INSTRUMENTATION="no"
+ -DGENERATE_ABI_DESCRIPTOR="no"
+ # ===================================================
+ # things we want to be hard off or not yet figured out
+ # ===================================================
+ -DBUILD_PACKAGE="no"
+ # ===================================================
+ # Not building protobuf but update files bug #631418
+ # ===================================================
+ -DWITH_PROTOBUF="yes"
+ -DBUILD_PROTOBUF="no"
+ -DPROTOBUF_UPDATE_FILES="yes"
+ -DProtobuf_MODULE_COMPATIBLE="yes"
+ # ===================================================
+ # things we want to be hard enabled not worth useflag
+ # ===================================================
+ -DOPENCV_DOC_INSTALL_PATH="share/doc/${PF}"
+ -DOPENCV_SAMPLES_BIN_INSTALL_PATH="libexec/${PN}/bin/samples"
+
+ -DBUILD_IPP_IW="no"
+ -DBUILD_ITT="no"
+
+ # ===================================================
+ # configure modules to be build
+ # ===================================================
+ -DBUILD_opencv_gapi="$(usex ffmpeg yes "$(usex gstreamer)")"
+ -DBUILD_opencv_features2d="$(usex features2d)"
+ -DBUILD_opencv_java_bindings_generator="$(usex java)"
+ -DBUILD_opencv_js="no"
+ -DBUILD_opencv_js_bindings_generator="no"
+ -DBUILD_opencv_objc_bindings_generator="no"
+ -DBUILD_opencv_python2="no"
+ -DBUILD_opencv_ts="$(usex test)"
+ -DBUILD_opencv_video="$(usex ffmpeg yes "$(usex gstreamer)")"
+ -DBUILD_opencv_videoio="$(usex ffmpeg yes "$(usex gstreamer)")"
+
+ -DBUILD_opencv_cudalegacy="no"
+
+ # -DBUILD_opencv_world="yes"
+
+ -DOPENCV_PLUGIN_VERSION=".$(ver_rs 1-2 '' "$(ver_cut 1-2)")"
+ -DOPENCV_PLUGIN_ARCH=".${ARCH}"
+
+ -DDNN_PLUGIN_LIST="all"
+ -DHIGHGUI_ENABLE_PLUGINS="no"
+ )
+
+ local VIDEOIO_PLUGIN_LIST=()
+ if use ffmpeg; then
+ VIDEOIO_PLUGIN_LIST+=("ffmpeg")
+ fi
+ if use gstreamer; then
+ VIDEOIO_PLUGIN_LIST+=("gstreamer")
+ fi
+
+ mycmakeargs+=(
+ -DVIDEOIO_PLUGIN_LIST="$(IFS=';'; echo "${VIDEOIO_PLUGIN_LIST[*]}")"
+ )
+
+ if use qt6; then
+ mycmakeargs+=(
+ -DWITH_QT="$(multilib_native_usex qt6)"
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5="yes"
+ )
+ else
+ mycmakeargs+=(
+ -DWITH_QT="no"
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5="yes"
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6="yes"
+ )
+ fi
+
+ # ==================================================
+ # cpu flags, should solve 633900
+ #===================================================
+ # TODO binhost https://github.com/opencv/opencv/wiki/CPU-optimizations-build-options
+
+ local CPU_BASELINE=""
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ if [[ ${ABI} != x86 || ${i%:*} != "cpu_flags_x86_avx2" ]]; then # workaround for Bug 747163
+ local value
+ # These are merged into one flag internally
+ if [[ ${ABI} == amd64 ]]; then
+ case "${i%:*}" in
+ cpu_flags_x86_avx512er|cpu_flags_x86_avx512pf)
+ value="AVX512_KNL_EXTRA"
+ ;;
+ cpu_flags_x86_avx512_4fmaps|cpu_flags_x86_avx512_4vnniw)
+ value="AVX512_KNM_EXTRA"
+ ;;
+ *)
+ value="${i#*:}"
+ ;;
+ esac
+ else
+ value=${i#*:}
+ fi
+
+ use "${i%:*}" && CPU_BASELINE="${CPU_BASELINE}${value};"
+ fi
+ done
+ unset CPU_FEATURES_MAP
+
+ mycmakeargs+=(
+ -DCPU_BASELINE="${CPU_BASELINE}"
+ )
+ if [[ ${MERGE_TYPE} != "buildonly" ]]; then
+ mycmakeargs+=(
+ -DOPENCV_CPU_OPT_IMPLIES_IGNORE="yes"
+ -DCPU_DISPATCH=
+ )
+ fi
+
+ # ===================================================
+ # OpenCV Contrib Modules
+ # ===================================================
+ # NOTE
+ # we remove unused modules,
+ # so we shouldn't need to disable options for unused modules
+ if use contrib; then
+ mycmakeargs+=(
+ -DBUILD_opencv_cvv="$(usex contribcvv)"
+ -DBUILD_opencv_dnn="$(usex contribdnn)"
+ -DOPENCV_DNN_OPENCL="$(usex opencl)"
+ -DOPENCV_DNN_CUDA="$(multilib_native_usex cudnn)"
+
+ -DBUILD_opencv_freetype="$(usex contribfreetype)"
+ -DBUILD_opencv_hdf="$(multilib_native_usex contribhdf)"
+ -DBUILD_opencv_ovis="$(usex contribovis)"
+ -DBUILD_opencv_sfm="$(usex contribsfm)"
+ -DBUILD_opencv_xfeatures2d="$(usex contribxfeatures2d)"
+ )
+
+ if ! multilib_native_use tesseract; then
+ mycmakeargs+=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_Tesseract="yes"
+ )
+ fi
+ fi
+
+ # workaround for bug 413429
+ tc-export CC CXX
+
+ if multilib_native_use cuda; then
+ cuda_add_sandbox -w
+ addwrite "/proc/self/task"
+
+ if ! test -w /dev/nvidiactl; then
+ # eqawarn "Can't access the GPU at /dev/nvidiactl."
+ # eqawarn "User $(id -nu) is not in the group \"video\"."
+ if [[ -z "${CUDA_GENERATION}" ]] && [[ -z "${CUDA_ARCH_BIN}" ]]; then
+ # build all targets
+ mycmakeargs+=(
+ -DCUDA_GENERATION=""
+ )
+ fi
+ else
+ local -x CUDAARCHS
+ : "${CUDAARCHS:="$(cuda_get_host_native_arch)"}"
+ fi
+
+ local -x CUDAHOSTCXX CUDAHOSTLD
+ CUDAHOSTCXX="$(cuda_get_host_compiler)"
+ CUDAHOSTLD="$(tc-getCXX)"
+
+ if tc-is-gcc; then
+ # Filter out IMPLICIT_LINK_DIRECTORIES picked up by CMAKE_DETERMINE_COMPILER_ABI(CUDA)
+ # See /usr/share/cmake/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst
+ CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES_EXCLUDE=$(
+ "${CUDAHOSTLD}" -E -v - <<<"int main(){}" |& \
+ grep LIBRARY_PATH | cut -d '=' -f 2 | cut -d ':' -f 1
+ )
+ fi
+
+ mycmakeargs+=(
+ -DENABLE_CUDA_FIRST_CLASS_LANGUAGE="yes"
+ )
+ fi
+
+ if use ffmpeg; then
+ mycmakeargs+=(
+ -DOPENCV_GAPI_GSTREAMER="no"
+ -DOPENCV_FFMPEG_DISABLE_MEDIASDK="yes"
+ )
+ fi
+
+ # according to modules/java/jar/CMakeLists.txt:23-26
+ if use java; then
+ mycmakeargs+=(
+ -DOPENCV_JAVA_SOURCE_VERSION="$(java-pkg_get-source)"
+ -DOPENCV_JAVA_TARGET_VERSION="$(java-pkg_get-target)"
+ )
+ fi
+
+ if use mkl; then
+ mycmakeargs+=(
+ -DLAPACK_IMPL="MKL"
+ -DMKL_WITH_OPENMP="$(usex openmp)"
+ -DMKL_WITH_TBB="$(usex tbb)"
+ )
+ fi
+
+ # NOTE set this via MYCMAKEARGS if needed
+ if use opencl; then
+ if has_version sci-libs/clfft; then
+ mycmakeargs+=( -DWITH_OPENCLAMDFFT="yes" )
+ else
+ mycmakeargs+=( -DWITH_OPENCLAMDFFT="no" )
+ fi
+ if has_version sci-libs/clblas; then
+ mycmakeargs+=( -DWITH_OPENCLAMDBLAS="yes" )
+ else
+ mycmakeargs+=( -DWITH_OPENCLAMDBLAS="no" )
+ fi
+ else
+ mycmakeargs+=(
+ -DWITH_OPENCLAMDFFT="no"
+ -DWITH_OPENCLAMDBLAS="no"
+ )
+ fi
+
+ # NOTE due to multilib we can't do
+ # if multilib_native_use test; then
+ if use test; then
+ # opencv tests assume to be build in Release mode
+ local -x CMAKE_BUILD_TYPE="Release"
+ mycmakeargs+=(
+ -DOPENCV_TEST_DATA_PATH="${WORKDIR}/${PN}_extra-${PV}/testdata"
+ )
+ if use vtk; then
+ mycmakeargs+=(
+ -DVTK_MPI_NUMPROCS="$(makeopts_jobs)" # TODO
+ )
+ fi
+ fi
+
+ if multilib_native_use testprograms; then
+ # NOTE do this so testprograms do not fail
+ mycmakeargs+=(
+ -DOPENCV_TEST_INSTALL_PATH="libexec/${PN}/bin/test"
+ )
+ fi
+
+ if multilib_native_use python; then
+ python_configure() {
+ # Set all python variables to load the correct Gentoo paths
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ # python_setup alters PATH and sets this as wrapper
+ # to the correct interpreter we are building for
+ -DBUILD_opencv_python3="yes"
+ -DBUILD_opencv_python_bindings_generator="yes"
+ -DBUILD_opencv_python_tests="$(usex test)"
+ -DPYTHON_DEFAULT_EXECUTABLE="${EPYTHON}"
+ -DINSTALL_PYTHON_EXAMPLES="$(usex examples)"
+ )
+ cmake_src_configure
+ }
+
+ python_foreach_impl python_configure
+ else
+ mycmakeargs+=(
+ -DPYTHON_EXECUTABLE="no"
+ -DINSTALL_PYTHON_EXAMPLES="no"
+ -DBUILD_opencv_python3="no"
+ -DBUILD_opencv_python_bindings_generator="no"
+ -DBUILD_opencv_python_tests="no"
+ )
+ cmake_src_configure
+ fi
+}
+
+multilib_src_compile() {
+ if multilib_native_use python; then
+ python_foreach_impl cmake_src_compile
+ else
+ cmake_src_compile
+ fi
+}
+
+multilib_src_test() {
+ # no tests on ABI_X86_32
+ ! multilib_is_native_abi && return
+
+ # NOTE we don't run the tests
+ use testprograms && return
+
+ declare -xA OPENCV_SKIP_TESTS
+
+ local -x OPENCV_SKIP_TESTS_core=(
+ 'hal_intrin128.*32x4_CPP_EMULATOR'
+ 'hal_intrin128.*64x2_CPP_EMULATOR'
+ )
+
+ local -x OPENCV_SKIP_TESTS_gapi=(
+ 'AsyncAPICancelation/cancel/*.basic'
+ )
+
+ local -x OPENCV_SKIP_TESTS_videoio=(
+ '*mfx*'
+ 'videoio/videoio_bunny.frame_count/12'
+ )
+
+ local -x OPENCV_SKIP_TESTS_video=(
+ 'GOTURN.accuracy'
+ 'DaSiamRPN.accuracy'
+ 'NanoTrack.accuracy_NanoTrack_V1'
+ 'NanoTrack.accuracy_NanoTrack_V2'
+ 'Tracking/DistanceAndOverlap.GOTURN*'
+ )
+
+ if ! use gtk3 && ! use qt6; then
+ local -x OPENCV_SKIP_TESTS_highgui=(
+ 'Highgui_GUI.*'
+ )
+ else
+ addpredict /dev/fuse
+ fi
+
+ if multilib_native_use cuda; then
+ local -x OPENCV_SKIP_TESTS_cudaoptflow=(
+ 'CUDA_OptFlow/BroxOpticalFlow.Regression/0'
+ 'CUDA_OptFlow/BroxOpticalFlow.OpticalFlowNan/0'
+ 'CUDA_OptFlow/NvidiaOpticalFlow_1_0.Regression/0'
+ 'CUDA_OptFlow/NvidiaOpticalFlow_2_0.Regression/0'
+ )
+ if use opengl; then
+ local -x OPENCV_SKIP_TESTS_cudaarithm=(
+ 'OpenGL/Buffer.MapDevice/*'
+ 'OpenGL/*Gpu*'
+ )
+ fi
+ fi
+
+ if use contribdnn; then
+ local -x OPENCV_SKIP_TESTS_dnn=(
+ 'Test_ONNX_layers.LSTM_cell_forward/*'
+ 'Test_ONNX_layers.LSTM_cell_bidirectional/*'
+ 'Test_TensorFlow_layers.Convolution3D/*'
+ 'Test_TensorFlow_layers.concat_3d/*'
+ )
+ local -x OPENCV_SKIP_TESTS_objdetect=(
+ 'Objdetect_face_detection.regression'
+ 'Objdetect_face_recognition.regression' 'Objdetect_QRCode_Encode_Decode_Structured_Append.regression'
+ )
+ else
+ local -x OPENCV_SKIP_TESTS_objdetect=(
+ 'Objdetect_face_detection.regression'
+ 'Objdetect_face_recognition.regression'
+ )
+
+ OPENCV_SKIP_TESTS_video+=(
+ 'vittrack.accuracy_vittrack'
+ )
+ fi
+ if use dnnsamples; then
+ local -x OPENCV_SKIP_TESTS_wechat_qrcode=(
+ 'Objdetect_QRCode_points_position.rotate45'
+ 'Objdetect_QRCode_Big.regression'
+ 'Objdetect_QRCode_Tiny.regression'
+ 'Objdetect_QRCode_Multi.regression/*'
+ 'Objdetect_QRCode_Easy_Multi.regression/1'
+ )
+ fi
+
+ if multilib_native_use cuda; then
+ if ! SANDBOX_WRITE=/dev/nvidiactl test -w /dev/nvidiactl ; then
+ eerror "Can't access the GPU at /dev/nvidiactl."
+ eerror "User $(id -nu) is not in the group \"video\"."
+ local -x TEST_CUDA="false"
+ # local -x OPENCV_PARALLEL_BACKEND="threads"
+ # local -x DNN_BACKEND_OPENCV="cuda"
+
+ local -x OPENCV_SKIP_TESTS_photo=( "CUDA_*" )
+ local -x OPENCV_SKIP_TESTS_stitching=( "CUDA_*" )
+ OPENCV_SKIP_TESTS_video+=( "CUDA_*" )
+ else
+ cuda_add_sandbox -w
+ addwrite "/dev/dri/"
+ [[ -e /dev/udmabuf ]] && addwrite /dev/udmabuf
+ fi
+ fi
+
+ opencv_test() {
+ cd "${BUILD_DIR}" || die
+
+ # directories to search for _core_ plugins
+ local -x OPENCV_CORE_PLUGIN_PATH="${BUILD_DIR}/lib"
+ # directories to search for _dnn_ plugins
+ local -x OPENCV_DNN_PLUGIN_PATH="${BUILD_DIR}/lib"
+ # directories to search for _videoio_ plugins
+ local -x OPENCV_VIDEOIO_PLUGIN_PATH="${BUILD_DIR}/lib"
+ # # path to extra OpenVINO plugins
+ # local -x OPENCV_DNN_IE_EXTRA_PLUGIN_PATH="${BUILD_DIR}/lib"
+
+ local -x OPENCV_TEMP_PATH="${T}"
+
+ local -x OPENCV_TEST_DATA_PATH="${WORKDIR}/${PN}_extra-${PV}/testdata"
+
+ local test_opts_base=(
+ --skip_unstable=1
+ --test_threads="$(makeopts_jobs)"
+ )
+
+ local results=()
+
+ local tests
+ readarray -t tests <<< "$(find "${BUILD_DIR}/bin" -name 'opencv_test_*')"
+
+ for test in "${tests[@]}" ; do
+
+ if [[ ${TEST_CUDA} == "false" && ${test} = *opencv_test_cu* ]] ; then
+ eqawarn "Skipping test ${test}"
+ continue
+ fi
+
+ local test_opts=(
+ --gtest_color=yes
+ --gtest_output="json:${BUILD_DIR}/test-reports/$(basename "${test}").json"
+ )
+
+ local testname
+ testname="OPENCV_SKIP_TESTS_$(basename "${test//opencv_test_/}")[*]"
+ if [[ -n "${!testname}" ]]; then
+ test_opts+=(
+ --gtest_filter="-$(IFS=':'; echo "${!testname}")"
+ )
+ fi
+
+ einfo "${test} ${test_opts_base[*]} ${test_opts[*]}"
+ if ! "${test}" "${test_opts_base[@]}" "${test_opts[@]}"; then
+ results+=( "$(basename "${test}")" )
+
+ if [[ -z "${OPENCV_TEST_CONTINUE_ON_FAIL}" ]]; then
+ eerror "${results[*]} failed"
+ die
+ fi
+ fi
+ done
+
+ if [[ -n "${results[*]}" ]]; then
+ eerror "failed: ${results[*]}"
+ die "${results[*]}"
+ fi
+ }
+
+ if multilib_native_use python; then
+ python_foreach_impl virtx opencv_test
+ else
+ virtx opencv_test
+ fi
+}
+
+multilib_src_install() {
+ if use abi_x86_64 && use abi_x86_32; then
+ MULTILIB_WRAPPED_HEADERS=( # {{{
+ # [opencv4]
+ /usr/include/opencv4/opencv2/cvconfig.h
+ /usr/include/opencv4/opencv2/opencv_modules.hpp
+
+ /usr/include/opencv4/opencv2/core_detect.hpp
+
+ /usr/include/opencv4/opencv2/cudaarithm.hpp
+ /usr/include/opencv4/opencv2/cudabgsegm.hpp
+ /usr/include/opencv4/opencv2/cudacodec.hpp
+ /usr/include/opencv4/opencv2/cudafeatures2d.hpp
+ /usr/include/opencv4/opencv2/cudafilters.hpp
+ /usr/include/opencv4/opencv2/cudaimgproc.hpp
+ /usr/include/opencv4/opencv2/cudalegacy.hpp
+ /usr/include/opencv4/opencv2/cudalegacy/NCV.hpp
+ /usr/include/opencv4/opencv2/cudalegacy/NCVBroxOpticalFlow.hpp
+ /usr/include/opencv4/opencv2/cudalegacy/NCVHaarObjectDetection.hpp
+ /usr/include/opencv4/opencv2/cudalegacy/NCVPyramid.hpp
+ /usr/include/opencv4/opencv2/cudalegacy/NPP_staging.hpp
+ /usr/include/opencv4/opencv2/cudaobjdetect.hpp
+ /usr/include/opencv4/opencv2/cudaoptflow.hpp
+ /usr/include/opencv4/opencv2/cudastereo.hpp
+ /usr/include/opencv4/opencv2/cudawarping.hpp
+ # [cudev]
+ /usr/include/opencv4/opencv2/cudev.hpp
+ /usr/include/opencv4/opencv2/cudev/block/block.hpp
+ /usr/include/opencv4/opencv2/cudev/block/detail/reduce.hpp
+ /usr/include/opencv4/opencv2/cudev/block/detail/reduce_key_val.hpp
+ /usr/include/opencv4/opencv2/cudev/block/dynamic_smem.hpp
+ /usr/include/opencv4/opencv2/cudev/block/reduce.hpp
+ /usr/include/opencv4/opencv2/cudev/block/scan.hpp
+ /usr/include/opencv4/opencv2/cudev/block/vec_distance.hpp
+ /usr/include/opencv4/opencv2/cudev/common.hpp
+ /usr/include/opencv4/opencv2/cudev/expr/binary_func.hpp
+ /usr/include/opencv4/opencv2/cudev/expr/binary_op.hpp
+ /usr/include/opencv4/opencv2/cudev/expr/color.hpp
+ /usr/include/opencv4/opencv2/cudev/expr/deriv.hpp
+ /usr/include/opencv4/opencv2/cudev/expr/expr.hpp
+ /usr/include/opencv4/opencv2/cudev/expr/per_element_func.hpp
+ /usr/include/opencv4/opencv2/cudev/expr/reduction.hpp
+ /usr/include/opencv4/opencv2/cudev/expr/unary_func.hpp
+ /usr/include/opencv4/opencv2/cudev/expr/unary_op.hpp
+ /usr/include/opencv4/opencv2/cudev/expr/warping.hpp
+ /usr/include/opencv4/opencv2/cudev/functional/color_cvt.hpp
+ /usr/include/opencv4/opencv2/cudev/functional/detail/color_cvt.hpp
+ /usr/include/opencv4/opencv2/cudev/functional/functional.hpp
+ /usr/include/opencv4/opencv2/cudev/functional/tuple_adapter.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/copy.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/copy.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/histogram.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/integral.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/minmaxloc.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/pyr_down.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/pyr_up.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/reduce.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/reduce_to_column.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/reduce_to_row.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/split_merge.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/transform.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/detail/transpose.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/histogram.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/integral.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/pyramids.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/reduce.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/reduce_to_vec.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/split_merge.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/transform.hpp
+ /usr/include/opencv4/opencv2/cudev/grid/transpose.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/constant.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/deriv.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/detail/gpumat.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/extrapolation.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/glob.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/gpumat.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/interpolation.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/lut.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/mask.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/remap.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/resize.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/texture.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/traits.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/transform.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/warping.hpp
+ /usr/include/opencv4/opencv2/cudev/ptr2d/zip.hpp
+ /usr/include/opencv4/opencv2/cudev/util/atomic.hpp
+ /usr/include/opencv4/opencv2/cudev/util/detail/tuple.hpp
+ /usr/include/opencv4/opencv2/cudev/util/detail/type_traits.hpp
+ /usr/include/opencv4/opencv2/cudev/util/limits.hpp
+ /usr/include/opencv4/opencv2/cudev/util/saturate_cast.hpp
+ /usr/include/opencv4/opencv2/cudev/util/simd_functions.hpp
+ /usr/include/opencv4/opencv2/cudev/util/tuple.hpp
+ /usr/include/opencv4/opencv2/cudev/util/type_traits.hpp
+ /usr/include/opencv4/opencv2/cudev/util/vec_math.hpp
+ /usr/include/opencv4/opencv2/cudev/util/vec_traits.hpp
+ /usr/include/opencv4/opencv2/cudev/warp/detail/reduce.hpp
+ /usr/include/opencv4/opencv2/cudev/warp/detail/reduce_key_val.hpp
+ /usr/include/opencv4/opencv2/cudev/warp/reduce.hpp
+ /usr/include/opencv4/opencv2/cudev/warp/scan.hpp
+ /usr/include/opencv4/opencv2/cudev/warp/shuffle.hpp
+ /usr/include/opencv4/opencv2/cudev/warp/warp.hpp
+ # [contribcvv]
+ /usr/include/opencv4/opencv2/cvv.hpp
+ /usr/include/opencv4/opencv2/cvv/call_meta_data.hpp
+ /usr/include/opencv4/opencv2/cvv/cvv.hpp
+ /usr/include/opencv4/opencv2/cvv/debug_mode.hpp
+ /usr/include/opencv4/opencv2/cvv/dmatch.hpp
+ /usr/include/opencv4/opencv2/cvv/filter.hpp
+ /usr/include/opencv4/opencv2/cvv/final_show.hpp
+ /usr/include/opencv4/opencv2/cvv/show_image.hpp
+ # [contribdnn]
+ /usr/include/opencv4/opencv2/dnn.hpp
+ /usr/include/opencv4/opencv2/dnn/all_layers.hpp
+ /usr/include/opencv4/opencv2/dnn/dict.hpp
+ /usr/include/opencv4/opencv2/dnn/dnn.hpp
+ /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp
+ /usr/include/opencv4/opencv2/dnn/layer.details.hpp
+ /usr/include/opencv4/opencv2/dnn/layer.hpp
+ /usr/include/opencv4/opencv2/dnn/shape_utils.hpp
+ /usr/include/opencv4/opencv2/dnn/utils/debug_utils.hpp
+ /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp
+ /usr/include/opencv4/opencv2/dnn/version.hpp
+ /usr/include/opencv4/opencv2/dnn_superres.hpp
+ # [contribhdf]
+ /usr/include/opencv4/opencv2/hdf.hpp
+ /usr/include/opencv4/opencv2/hdf/hdf5.hpp
+
+ /usr/include/opencv4/opencv2/mcc.hpp
+ /usr/include/opencv4/opencv2/mcc/ccm.hpp
+ /usr/include/opencv4/opencv2/mcc/checker_detector.hpp
+ /usr/include/opencv4/opencv2/mcc/checker_model.hpp
+
+ /usr/include/opencv4/opencv2/text.hpp
+ /usr/include/opencv4/opencv2/text/erfilter.hpp
+ /usr/include/opencv4/opencv2/text/ocr.hpp
+ /usr/include/opencv4/opencv2/text/swt_text_detection.hpp
+ /usr/include/opencv4/opencv2/text/textDetector.hpp
+
+ # [qt6]
+ /usr/include/opencv4/opencv2/viz.hpp
+ /usr/include/opencv4/opencv2/viz/types.hpp
+ /usr/include/opencv4/opencv2/viz/viz3d.hpp
+ /usr/include/opencv4/opencv2/viz/vizcore.hpp
+ /usr/include/opencv4/opencv2/viz/widget_accessor.hpp
+ /usr/include/opencv4/opencv2/viz/widgets.hpp
+
+ /usr/include/opencv4/opencv2/wechat_qrcode.hpp
+ ) # }}}
+ fi
+
+ if multilib_native_use python; then
+ python_foreach_impl cmake_src_install
+ python_foreach_impl python_optimize
+ else
+ cmake_src_install
+ fi
+
+ for plugin in "${ED}/usr/$(get_libdir)/libopencv_"*".$(ver_rs 1-2 '' "$(ver_cut 1-2)").${ARCH}"* ; do
+ patchelf --set-soname "$(basename "${plugin}" ".$(get_libname)")" "${plugin}"
+ done
+}
diff --git a/media-libs/opencv/opencv-4.9.0-r2.ebuild b/media-libs/opencv/opencv-4.9.0-r2.ebuild
index eb231630bdf3..971d60f16ecb 100644
--- a/media-libs/opencv/opencv-4.9.0-r2.ebuild
+++ b/media-libs/opencv/opencv-4.9.0-r2.ebuild
@@ -218,7 +218,7 @@ COMMON_DEPEND="
)
)
quirc? ( media-libs/quirc )
- tesseract? ( app-text/tesseract[opencl=,${MULTILIB_USEDEP}] )
+ tesseract? ( app-text/tesseract[opencl(+),${MULTILIB_USEDEP}] )
tbb? ( dev-cpp/tbb:=[${MULTILIB_USEDEP}] )
tiff? ( media-libs/tiff:=[${MULTILIB_USEDEP}] )
v4l? ( >=media-libs/libv4l-0.8.3[${MULTILIB_USEDEP}] )
@@ -804,7 +804,7 @@ multilib_src_test() {
'AsyncAPICancelation/cancel*basic'
)
- if ! use gtk && ! use qt5 && ! use qt6; then
+ if ! use gtk3 && ! use qt5 && ! use qt6; then
CMAKE_SKIP_TESTS+=(
# these fail with parallism
'^Highgui_*'
diff --git a/media-libs/openfec/openfec-1.4.2.11.ebuild b/media-libs/openfec/openfec-1.4.2.11-r1.ebuild
index cd6ad2b2f564..1b6adacdbebc 100644
--- a/media-libs/openfec/openfec-1.4.2.11.ebuild
+++ b/media-libs/openfec/openfec-1.4.2.11-r1.ebuild
@@ -12,8 +12,7 @@ SRC_URI="https://github.com/roc-streaming/openfec/archive/refs/tags/v${PV}.tar.g
# See https://github.com/roc-streaming/openfec/blob/d87b258e3de3cdddf700b40e94c51ec9bd44a47f/CHANGELOG#L47.
LICENSE="CeCILL-2 CeCILL-C"
SLOT="0"
-KEYWORDS="~amd64"
-IUSE="cpu_flags_x86_sse"
+KEYWORDS="amd64"
PATCHES=(
"${FILESDIR}"/${PN}-1.4.2.11-opt.patch
@@ -21,7 +20,9 @@ PATCHES=(
src_configure() {
local mycmakeargs=(
- -DASSEMBLY_SSE_OPT=$(usex cpu_flags_x86_sse)
+ # Causes crashes in media-libs/roc-toolkit (bug #941750)
+ # https://github.com/roc-streaming/openfec/issues/22
+ -DASSEMBLY_SSE_OPT=OFF
)
cmake_src_configure
diff --git a/media-libs/openh264/Manifest b/media-libs/openh264/Manifest
index 8848227b305f..b34a05fdcc6c 100644
--- a/media-libs/openh264/Manifest
+++ b/media-libs/openh264/Manifest
@@ -1,3 +1,4 @@
DIST gmp-api-Firefox114_2-e7d30b921df736a1121a0c8e0cf3ab1ce5b8a4b7.tar.gz 10915 BLAKE2B aa4b82baebbd990d94f381be4516e8780f6bc3a2104c4b899f091a9e6ec91dff9788ee6ef548d3bc07c7bf50f56347c44d01e51805f96cf9b59494889a5f7b61 SHA512 f1c75007d4f1e1ef3a11b8eb9c703935408a5e4051c8eab408e4edc09f265a71f172025269442fdab9d4c2a8b108fa69397bfbd84af4ecda22881b50de804de9
DIST openh264-2.3.1.tar.gz 60290897 BLAKE2B b4480150cfe7c44b89c7b294698db06f93d96f5f9f3ef4345108c4e360e99bc6133407cead54e720e6e74aa17ab9f2e4342287a42f19463a54eb44c9d3141c80 SHA512 fd59c767794cdfb934d692d5929e4500d78606cbf1e403bc7c7dce048cc07e40daa0794357adb856d29479427a53460c76338e156b6bbeaa36139afcd603c8e1
DIST openh264-2.4.1.tar.gz 60297304 BLAKE2B c66dbe8003072c406641b3f1453df6d8e574b5526d6748d5f4efa4921ca6a438df2e491143dc07c8f9297d253e97cd4ee2dada450845e7d9323cb31dddc6fff4 SHA512 eb99144addd2e9c352bb95e752366e104ac6b0ddc84311dc7c87dafb803f8e7fe4d1e726833d49f8cc6d3914508e19c3a25ef82637a4993e8af3f504aa005baf
+DIST openh264-2.5.0.tar.gz 60301431 BLAKE2B b999b7aa152c0ef2b95f6d2ef2c8b0483ee4ca3d3c21c3cfe19c121ef09a99bb7a68bd96ec39433e744a25f3c29e016e74b1b0521190bb1a5ef00e9ac8970206 SHA512 cb6d3ca8d5277325dd64dec399421c4c62bc1fd012fe1521d7195e95ce7f59527919cf698829044dca3d9b1d8288c49b49111d01c9d2896c819da806492af838
diff --git a/media-libs/openh264/openh264-2.5.0.ebuild b/media-libs/openh264/openh264-2.5.0.ebuild
new file mode 100644
index 000000000000..663d3f9ff272
--- /dev/null
+++ b/media-libs/openh264/openh264-2.5.0.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs multilib-minimal
+
+MOZVER=114_2
+MY_GMP_COMMIT="e7d30b921df736a1121a0c8e0cf3ab1ce5b8a4b7"
+
+DESCRIPTION="Cisco OpenH264 library and Gecko Media Plugin for Mozilla packages"
+HOMEPAGE="https://www.openh264.org/ https://github.com/cisco/openh264"
+SRC_URI="https://github.com/cisco/openh264/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/mozilla/gmp-api/archive/${MY_GMP_COMMIT}.tar.gz -> gmp-api-Firefox${MOZVER}-${MY_GMP_COMMIT}.tar.gz"
+LICENSE="BSD"
+
+# openh264 soname version.
+# (2.2.0 needed a minor bump due to undocumented but breaking ABI changes, just to be sure.
+# https://github.com/cisco/openh264/issues/3459 )
+SLOT="0/7"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc64 ~riscv ~sparc ~x86"
+IUSE="cpu_flags_arm_neon cpu_flags_x86_avx2 +plugin test utils"
+
+RESTRICT="bindist !test? ( test )"
+
+BDEPEND="
+ abi_x86_32? ( dev-lang/nasm )
+ abi_x86_64? ( dev-lang/nasm )
+ test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
+
+DOCS=( LICENSE CONTRIBUTORS README.md )
+
+PATCHES=(
+ "${FILESDIR}"/openh264-2.3.0-pkgconfig-pathfix.patch
+ "${FILESDIR}"/${PN}-2.3.1-pr3630.patch
+)
+
+src_prepare() {
+ default
+
+ ln -svf "/dev/null" "build/gtest-targets.mk" || die
+ sed -i -e 's/$(LIBPREFIX)gtest.$(LIBSUFFIX)//g' Makefile || die
+
+ sed -i -e 's/ | generate-version//g' Makefile || die
+ sed -e 's|$FULL_VERSION|""|g' codec/common/inc/version_gen.h.template > \
+ codec/common/inc/version_gen.h
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ ln -s "${WORKDIR}"/gmp-api-${MY_GMP_COMMIT} gmp-api || die
+}
+
+emakecmd() {
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
+ emake V=Yes CFLAGS_M32="" CFLAGS_M64="" CFLAGS_OPT="" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR_NAME="$(get_libdir)" \
+ SHAREDLIB_DIR="${EPREFIX}/usr/$(get_libdir)" \
+ INCLUDES_DIR="${EPREFIX}/usr/include/${PN}" \
+ HAVE_AVX2=$(usex cpu_flags_x86_avx2 Yes No) \
+ HAVE_GTEST=$(usex test Yes No) \
+ ARCH="$(tc-arch)" \
+ ENABLEPIC="Yes" \
+ $@
+}
+
+multilib_src_compile() {
+ local myopts="ENABLE64BIT=No"
+ case "${ABI}" in
+ s390x|alpha|*64) myopts="ENABLE64BIT=Yes";;
+ esac
+
+ if use arm; then
+ myopts+=" USE_ASM=$(usex cpu_flags_arm_neon Yes No)"
+ fi
+
+ emakecmd ${myopts}
+ use plugin && emakecmd ${myopts} plugin
+}
+
+multilib_src_test() {
+ emakecmd test
+}
+
+multilib_src_install() {
+ emakecmd DESTDIR="${D}" install-shared
+
+ if use utils; then
+ newbin h264enc openh264enc
+ newbin h264dec openh264dec
+ fi
+
+ if use plugin; then
+ local plugpath="${ROOT}/usr/$(get_libdir)/nsbrowser/plugins/gmp-gmp${PN}/system-installed"
+ insinto "${plugpath}"
+ doins libgmpopenh264.so* gmpopenh264.info
+ echo "MOZ_GMP_PATH=\"${plugpath}\"" >"${T}"/98-moz-gmp-${PN}
+ doenvd "${T}"/98-moz-gmp-${PN}
+
+ cat <<PREFEOF >"${T}"/${P}.js
+pref("media.gmp-gmp${PN}.autoupdate", false);
+pref("media.gmp-gmp${PN}.version", "system-installed");
+PREFEOF
+
+ insinto /usr/$(get_libdir)/firefox/defaults/pref
+ newins "${T}"/${P}.js ${PN}-${PV/_p*/}.js
+
+ insinto /usr/$(get_libdir)/seamonkey/defaults/pref
+ newins "${T}"/${P}.js ${PN}-${PV/_p*/}.js
+ fi
+}
+
+pkg_postinst() {
+ if use plugin; then
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "Please restart your login session, in order for the session's environment"
+ elog "to include the new MOZ_GMP_PATH variable."
+ elog ""
+ fi
+ elog "This package attempts to override the Mozilla GMPInstaller auto-update process,"
+ elog "however even if it is not successful in doing so the profile-installed plugin"
+ elog "will not be used unless this package is removed. This package will take precedence"
+ elog "over any gmp-gmpopenh264 that may be installed in a user's profile."
+ elog ""
+ fi
+
+ if use utils; then
+ elog "Utilities h264enc and h264dec are installed as openh264enc and openh264dec"
+ elog "to avoid file collisions with media-video/h264enc"
+ elog ""
+ fi
+}
diff --git a/media-libs/plotutils/plotutils-2.6-r3.ebuild b/media-libs/plotutils/plotutils-2.6-r3.ebuild
index b672831c46b9..37fc0f56a857 100644
--- a/media-libs/plotutils/plotutils-2.6-r3.ebuild
+++ b/media-libs/plotutils/plotutils-2.6-r3.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/plotutils/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="+png X"
DEPEND="
diff --git a/media-libs/pulseaudio-qt/Manifest b/media-libs/pulseaudio-qt/Manifest
index fa524c27ae74..bc9e3ac3eacb 100644
--- a/media-libs/pulseaudio-qt/Manifest
+++ b/media-libs/pulseaudio-qt/Manifest
@@ -1,2 +1,2 @@
-DIST pulseaudio-qt-1.5.0.tar.xz 36004 BLAKE2B ef61c70b1fdfc850c2cd0bde7621da9ff088347f1134b970eb2c5383b3f1dc2aa0d07a37d27b617c5647def3cda92fc745a847e9234826acc825d64d7e542426 SHA512 c0ce24c10b607b2866eb08bae14bac340de028bbf6ebfdd57ae8f9bd3bbb182cc681a124f20a4f309fd56c97598a33db07c6289d2c9801cc8f395cd424e588b8
DIST pulseaudio-qt-1.6.0.tar.xz 37232 BLAKE2B 6302ea3a2cedae8abe8b936b16766753c8995d3bc39c4217d1aeff3682d756191c2a82d3f04b4b40602de22e6cf8cecca2e28e4a9a528c1ccc472a6f5a9834b1 SHA512 4bf612efc5caf51cd177d26ebaba0bd11f9513ac65d0bece86c8171745ec824dc924cbb067d440b711be6eaf5ebcf84e9996286944de352df5fc7cf91142ac77
+DIST pulseaudio-qt-1.6.1.tar.xz 38072 BLAKE2B 2d25c05ecc3f401ce4881ae1902f4b1798586bb61c758a7fcb150225c1223bc38c4a053db4502e7ff813d73cc4d34b4887a7f24c7d352893c0da02166768d66c SHA512 7bb79bdc77d2fd8d8be569f692fa0f63b3f000fe5db605c38220a572878120ebe505edc272c43f4a3b22c70f44ee2d8cd0a0be3015c3d7660764258eca62b459
diff --git a/media-libs/pulseaudio-qt/pulseaudio-qt-1.5.0.ebuild b/media-libs/pulseaudio-qt/pulseaudio-qt-1.6.1.ebuild
index 46af9297856c..50417aaad3b8 100644
--- a/media-libs/pulseaudio-qt/pulseaudio-qt-1.5.0.ebuild
+++ b/media-libs/pulseaudio-qt/pulseaudio-qt-1.6.1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
ECM_HANDBOOK="forceoptional"
ECM_QTHELP="true"
ECM_TEST="true"
-KFMIN=6.0.0
+KFMIN=6.3.0
QTMIN=6.6.2
inherit ecm kde.org
@@ -15,7 +15,7 @@ HOMEPAGE="https://invent.kde.org/libraries/pulseaudio-qt"
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
fi
LICENSE="LGPL-2.1"
diff --git a/media-libs/quarter/Manifest b/media-libs/quarter/Manifest
index ca729b80d38e..63414d7498a5 100644
--- a/media-libs/quarter/Manifest
+++ b/media-libs/quarter/Manifest
@@ -1 +1,2 @@
DIST quarter-1.2.1-src.tar.gz 737236 BLAKE2B 91b332eb36ac1911449b923aabf6913a1901306c258f8e430f0c589774d1ad5991916863f14d6c3d35898a9756f7c68bd30287defe5deb04036f2dce4b8f135f SHA512 454e99ae8f65c9d8e425aaabc02f218357db4e4447a481680f75301d4102864c77da58a48144f2a9211d4de0bd9962b394ad48a832e89674291b94778e5ff96d
+DIST quarter-1.2.2-src.tar.gz 6709135 BLAKE2B 7294236c446ba4389cc89987cf0c461a1414405142a7d943faf8fd215f3ad103994b2cee600b9b8fad56102a7046b3d59de5b6accb748924f8bac604d5ca180c SHA512 a8e0edf1ce6155aef52392a94dbc0f9692c98e295124ac2e7465bde5398f0716822e606b924194251091f7ae3dd39dd134d5a3fdd8a745f22a94c159553271a1
diff --git a/media-libs/quarter/files/quarter-1.2.2-find-qhelpgenerator.patch b/media-libs/quarter/files/quarter-1.2.2-find-qhelpgenerator.patch
new file mode 100644
index 000000000000..b031ff8c6c41
--- /dev/null
+++ b/media-libs/quarter/files/quarter-1.2.2-find-qhelpgenerator.patch
@@ -0,0 +1,20 @@
+--- a/CMakeLists.txt 2024-02-05 00:29:17.000000000 +0100
++++ b/CMakeLists.txt 2024-10-13 17:20:53.412858588 +0200
+@@ -239,13 +239,10 @@
+ endif()
+ endif()
+ if(QUARTER_BUILD_DOC_QTHELP)
+- find_program(QHG_LOCATION NAMES qhelpgenerator qhelpgenerator-qt5 DOC "Qt qhelpgenerator")
+- if(NOT QHG_LOCATION)
+- message(FATAL_ERROR "Missing program Qt qhelpgenerator")
+- else()
+- set(GENERATE_QHP YES)
+- mark_as_advanced(QHG_LOCATION)
+- endif()
++ find_package(Qt6Tools REQUIRED Help)
++ get_target_property(QHG_LOCATION Qt6::qhelpgenerator LOCATION)
++ set(GENERATE_QHP YES)
++ mark_as_advanced(QHG_LOCATION)
+ endif()
+
+ set(DOXYGEN_INTERNAL_DOCS NO)
diff --git a/media-libs/quarter/metadata.xml b/media-libs/quarter/metadata.xml
index 356911f89686..d0938058334e 100644
--- a/media-libs/quarter/metadata.xml
+++ b/media-libs/quarter/metadata.xml
@@ -21,6 +21,7 @@
</longdescription>
<use>
<flag name="designer">Install plugin for <pkg>dev-qt/designer</pkg></flag>
+ <flag name="qch">Install API documentation in QCH format</flag>
<flag name="qthelp">Build API documentation in QtHelp format</flag>
</use>
<upstream>
diff --git a/media-libs/quarter/quarter-1.2.2.ebuild b/media-libs/quarter/quarter-1.2.2.ebuild
new file mode 100644
index 000000000000..fe3b085f07dc
--- /dev/null
+++ b/media-libs/quarter/quarter-1.2.2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="GUI binding for using Coin/Open Inventor with Qt"
+HOMEPAGE="https://github.com/coin3d/coin/wiki"
+SRC_URI="https://github.com/coin3d/quarter/releases/download/v${PV}/${P}-src.tar.gz"
+S="${WORKDIR}/quarter"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug designer doc qch"
+
+REQUIRED_USE="qch? ( doc )"
+
+RDEPEND="
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ dev-qt/qttools:6[widgets]
+ media-libs/coin
+ virtual/opengl
+ designer? ( dev-qt/qttools:6[designer] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen[dot]
+ qch? ( dev-qt/qttools:6[assistant] )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.1-cmake.patch
+ "${FILESDIR}"/${P}-find-qhelpgenerator.patch # bug 933432
+)
+
+DOCS=( AUTHORS NEWS README.md )
+
+src_prepare() {
+ cmake_src_prepare
+ sed -e 's|/lib$|/lib@LIB_SUFFIX@|' \
+ -i Quarter.pc.cmake.in || die
+}
+
+src_configure() {
+ use debug && append-cppflags -DQUARTER_DEBUG=1
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DQUARTER_BUILD_SHARED_LIBS=ON
+ -DQUARTER_BUILD_PLUGIN=$(usex designer)
+ -DQUARTER_BUILD_EXAMPLES=OFF
+ -DQUARTER_BUILD_DOCUMENTATION=$(usex doc)
+ -DQUARTER_BUILD_AWESOME_DOCUMENTATION=$(usex doc)
+ -DQUARTER_BUILD_DOC_MAN=$(usex doc)
+ -DQUARTER_BUILD_INTERNAL_DOCUMENTATION=OFF
+ -DQUARTER_BUILD_DOC_QTHELP=$(usex qch)
+ -DQUARTER_BUILD_DOC_CHM=OFF
+ -DQUARTER_USE_QT6=ON
+ )
+ use doc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
+ cmake_src_configure
+}
diff --git a/media-libs/rnnoise/rnnoise-0.4.1_p20210122-r1.ebuild b/media-libs/rnnoise/rnnoise-0.4.1_p20210122-r1.ebuild
index 07d0f1cf8321..7499832df477 100644
--- a/media-libs/rnnoise/rnnoise-0.4.1_p20210122-r1.ebuild
+++ b/media-libs/rnnoise/rnnoise-0.4.1_p20210122-r1.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-IUSE="doc"
+IUSE="doc examples"
# NOTE: Documentation currently empty (version 0.4.1_p20210122)
BDEPEND="
@@ -36,8 +36,8 @@ src_prepare() {
src_configure() {
local myeconfargs=(
- --disable-examples
$(use_enable doc)
+ $(use_enable examples)
)
econf "${myeconfargs[@]}"
}
@@ -46,4 +46,5 @@ src_install() {
default
rm "${ED}/usr/share/doc/${PF}/COPYING" || die
find "${ED}" -name '*.la' -delete || die
+ use examples && dobin examples/.libs/rnnoise_demo
}
diff --git a/media-libs/rtaudio/Manifest b/media-libs/rtaudio/Manifest
index e013a5f891ac..7a2c42468df9 100644
--- a/media-libs/rtaudio/Manifest
+++ b/media-libs/rtaudio/Manifest
@@ -1 +1,2 @@
DIST rtaudio-5.2.0.tar.gz 247110 BLAKE2B 1949885c3cbb2846e083fd25ec06ed5ca716563dd4c121f6985e2487488d88b9ffb62078185fe2f4261083c8c1ed4c3e8502d25614767d70d2ab316d77f51eeb SHA512 34e78522778db13d95d4465d7c6a808a63b34d4e1bd0b88113b6390f7b192017e405d0d9ac8fbb1151129627688626d17569dc47da420f7b4631892eb1adff11
+DIST rtaudio-6.0.1.tar.gz 254664 BLAKE2B 17a3893023147b2d68bdb1c827e41b721066cf1759ef1a904d3178ff28b54ba288831e96ad20e23308644800b14d81f9133727efb6012cf9cd01aa80c7ffea02 SHA512 085feb2673185460717ba45fc87254961e477823759e11281092c1ba13301303de1cd36aa9efeba0710cbf2c70f2e2f7f9e41173cf372ded528c41612b19acd5
diff --git a/media-libs/rtaudio/rtaudio-6.0.1.ebuild b/media-libs/rtaudio/rtaudio-6.0.1.ebuild
new file mode 100644
index 000000000000..4e50eaea0cbd
--- /dev/null
+++ b/media-libs/rtaudio/rtaudio-6.0.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A set of cross-platform C++ classes for realtime audio I/O"
+HOMEPAGE="https://www.music.mcgill.ca/~gary/rtaudio/"
+SRC_URI="https://github.com/thestk/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/7"
+KEYWORDS="~amd64 arm64 ~ppc64 ~riscv x86"
+IUSE="+alsa doc jack pulseaudio static-libs"
+REQUIRED_USE="|| ( alsa jack pulseaudio )"
+
+RDEPEND="alsa? ( media-libs/alsa-lib )
+ jack? (
+ media-libs/alsa-lib
+ virtual/jack
+ )
+ pulseaudio? ( media-libs/libpulse )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.1.0-cflags.patch
+)
+
+src_prepare() {
+ default
+
+ # don't rebuild docs
+ export ac_cv_prog_DOXYGEN=
+
+ eautoreconf
+}
+
+src_configure() {
+ # OSS support requires OSSv4
+ local myconf=(
+ $(use_enable static-libs static)
+ $(use_with jack)
+ $(use_with alsa)
+ $(use_with pulseaudio pulse)
+ --without-oss
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake
+
+ if use doc; then
+ pushd doc
+ doxygen || die
+ popd
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc README.md doc/release.txt
+ if use doc; then
+ dodoc -r doc/html
+ dodoc -r doc/images
+ fi
+
+ find "${D}" -name "*.la" -delete
+}
diff --git a/media-libs/rubberband/Manifest b/media-libs/rubberband/Manifest
index bc7b9091b0c9..19e32cd97076 100644
--- a/media-libs/rubberband/Manifest
+++ b/media-libs/rubberband/Manifest
@@ -1 +1 @@
-DIST rubberband-3.3.0.tar.bz2 223408 BLAKE2B 2dccdbadbb8a24f837e82e2399f3ca1f09e25bf332fc745252ef8d5b6c80f422a2708227690cc81d0cf10ea22c9f11b21f985c738079e3c80e9d97536758f0fd SHA512 0216c33a250d52d539ad7a0ec28ea94e6d4684a308a9cb62509221b3861f74717021bd79196a1f58a7715799757491f32e0475ad2ddb7884683bb9130c676591
+DIST rubberband-4.0.0.tar.bz2 236705 BLAKE2B 4de34fd67e1e9188177d2cf7c67ff69b9134e754b13a0a791eef788bd032ee8c306d249c08aae320bd64ad6da6cd1ff1a4cd2c0aee54be2caca5cac95b6a9a1e SHA512 975ceead691c9fb9cb8b876d00d5661986d85ba59a97bb3c17bc8a835e8aeaf0bc324dd43ffa20f2854e019572b404d37d5e4868a99076d422f279359c44a7b4
diff --git a/media-libs/rubberband/rubberband-3.3.0-r1.ebuild b/media-libs/rubberband/rubberband-4.0.0-r1.ebuild
index 4da6a6ced588..f2fdb557964f 100644
--- a/media-libs/rubberband/rubberband-3.3.0-r1.ebuild
+++ b/media-libs/rubberband/rubberband-4.0.0-r1.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://www.breakfastquay.com/rubberband/"
SRC_URI="https://breakfastquay.com/files/releases/${P}.tar.bz2"
LICENSE="GPL-2"
-SLOT="0"
+SLOT="0/3"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
IUSE="ladspa lv2 jni static-libs +programs test vamp"
RESTRICT="!test? ( test )"
diff --git a/media-libs/shaderc/Manifest b/media-libs/shaderc/Manifest
index d1b2543dcc54..6df60c02308b 100644
--- a/media-libs/shaderc/Manifest
+++ b/media-libs/shaderc/Manifest
@@ -1 +1,2 @@
DIST shaderc-2024.1.tar.gz 227211 BLAKE2B a4c9790cb117e4cf2d528ed294ef0599dc3c17ac367a4f658254ff9e161f82b3338a2d70a033fabcdb7a2925c2f4668ee89cfff0d4b88cd2b22fcfb3f2786ea9 SHA512 017d8625c66da7eb5b431f595b27a4ddf146aaa12ef56777cb8c3f7f0f15eb01c3286e5905c5268de55d07cc19d5ffae4d4c08987d105b0a6be74616a467b736
+DIST shaderc-2024.3.tar.gz 227490 BLAKE2B 0f9df6251b1a107c89a4e509c7a36f4035b5282f11e0b00cb7a1603b3212917894e805337d2404509b839dd9ac40aa19d8aa23bf6666b330dae2cfdabc18c9c6 SHA512 ba990054b3e50bd1c3e7decaca80b80dfade0f15505f6e89c455b7a114b8507931dff2c570ca81fd38882472e7d7014c417ca8f4c1117fc0e6825ea9f669222a
diff --git a/media-libs/shaderc/shaderc-2024.3.ebuild b/media-libs/shaderc/shaderc-2024.3.ebuild
new file mode 100644
index 000000000000..9201b5cc10bb
--- /dev/null
+++ b/media-libs/shaderc/shaderc-2024.3.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib python-any-r1
+
+DESCRIPTION="Collection of tools, libraries and tests for shader compilation"
+HOMEPAGE="https://github.com/google/shaderc"
+EGIT_COMMIT="${PV}"
+SRC_URI="https://github.com/google/${PN}/archive/v${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv x86"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-util/glslang-1.3.296.0:=[${MULTILIB_USEDEP}]
+ >=dev-util/spirv-tools-1.3.296.0[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ >=dev-util/spirv-headers-1.3.296.0"
+
+BDEPEND="doc? ( dev-ruby/asciidoctor )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2020.4-fix-build.patch
+)
+
+# https://github.com/google/shaderc/issues/470
+RESTRICT=test
+
+src_prepare() {
+ cmake_comment_add_subdirectory examples
+
+ # Unbundle glslang, spirv-headers, spirv-tools
+ cmake_comment_add_subdirectory third_party
+ sed -i \
+ -e "s|\$<TARGET_FILE:spirv-dis>|${EPREFIX}/usr/bin/spirv-dis|" \
+ glslc/test/CMakeLists.txt || die
+
+ # Disable git versioning
+ sed -i -e '/build-version/d' glslc/CMakeLists.txt || die
+
+ # Manually create build-version.inc as we disabled git versioning
+ cat <<- EOF > glslc/src/build-version.inc || die
+ "${P}\n"
+ "$(best_version dev-util/spirv-tools)\n"
+ "$(best_version dev-util/glslang)\n"
+ EOF
+
+ cmake_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DSHADERC_SKIP_TESTS="true"
+ -DSHADERC_ENABLE_WERROR_COMPILE="false"
+ )
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi && use doc; then
+ cmake_src_compile glslc_doc_README
+ fi
+ cmake_src_compile
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ use doc && local HTML_DOCS=( "${BUILD_DIR}/glslc/README.html" )
+ fi
+ cmake_src_install
+}
diff --git a/media-libs/simage/simage-1.8.3-r1.ebuild b/media-libs/simage/simage-1.8.3-r1.ebuild
new file mode 100644
index 000000000000..73298867eca3
--- /dev/null
+++ b/media-libs/simage/simage-1.8.3-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Image and video texturing library"
+HOMEPAGE="https://github.com/coin3d/simage/"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/coin3d/simage.git"
+else
+ SRC_URI="https://github.com/coin3d/simage/releases/download/v${PV}/${P}-src.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~sparc x86"
+ S="${WORKDIR}/${PN}"
+fi
+
+LICENSE="BSD-1"
+SLOT="0"
+IUSE="gif jpeg png qt6 sndfile test tiff vorbis zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ gif? ( media-libs/giflib:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ png? ( media-libs/libpng:= )
+ qt6? ( dev-qt/qtbase:6[gui] )
+ sndfile? (
+ media-libs/libsndfile
+ media-libs/flac:=
+ )
+ tiff? (
+ media-libs/tiff:=[lzma,zstd]
+ app-arch/xz-utils
+ app-arch/zstd:=
+ )
+ vorbis? (
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/opus
+ )
+ zlib? ( sys-libs/zlib:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( media-libs/libsndfile )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.1-0001-Gentoo-specific-remove-RELEASE-flag-from-pkg-config.patch
+)
+
+DOCS=( AUTHORS ChangeLog NEWS README )
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIMAGE_BUILD_SHARED_LIBS=ON
+ -DSIMAGE_BUILD_EXAMPLES=OFF
+ -DSIMAGE_BUILD_TESTS=$(usex test)
+ -DSIMAGE_BUILD_DOCUMENTATION=OFF
+ -DSIMAGE_USE_AVIENC=OFF # Windows only
+ -DSIMAGE_USE_GDIPLUS=OFF # Windows
+ -DSIMAGE_USE_CGIMAGE=OFF # OS X only
+ -DSIMAGE_USE_QUICKTIME=OFF # OS X only
+ -DSIMAGE_USE_QIMAGE=$(usex qt6)
+ -DSIMAGE_USE_QT5=OFF
+ -DSIMAGE_USE_QT6=$(usex qt6)
+ -DSIMAGE_USE_CPACK=OFF
+ -DSIMAGE_USE_STATIC_LIBS=OFF
+ -DSIMAGE_LIBJASPER_SUPPORT=OFF
+ -DSIMAGE_LIBSNDFILE_SUPPORT=$(usex sndfile)
+ -DSIMAGE_OGGVORBIS_SUPPORT=$(usex vorbis)
+ -DSIMAGE_EPS_SUPPORT=ON
+ -DSIMAGE_MPEG2ENC_SUPPORT=ON
+ -DSIMAGE_PIC_SUPPORT=ON
+ -DSIMAGE_RGB_SUPPORT=ON
+ -DSIMAGE_TGA_SUPPORT=ON
+ -DSIMAGE_XWD_SUPPORT=ON
+ -DSIMAGE_ZLIB_SUPPORT=$(usex zlib)
+ -DSIMAGE_GIF_SUPPORT=$(usex gif)
+ -DSIMAGE_JPEG_SUPPORT=$(usex jpeg)
+ -DSIMAGE_PNG_SUPPORT=$(usex png)
+ -DSIMAGE_TIFF_SUPPORT=$(usex tiff)
+ )
+ cmake_src_configure
+}
diff --git a/media-libs/simage/simage-9999.ebuild b/media-libs/simage/simage-9999.ebuild
index fce11a8bd619..73fd53ca3009 100644
--- a/media-libs/simage/simage-9999.ebuild
+++ b/media-libs/simage/simage-9999.ebuild
@@ -8,7 +8,7 @@ inherit cmake
DESCRIPTION="Image and video texturing library"
HOMEPAGE="https://github.com/coin3d/simage/"
-if [[ ${PV} = *9999 ]]; then
+if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/coin3d/simage.git"
else
@@ -50,7 +50,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.8.1-0001-Gentoo-specific-remove-RELEASE-flag-from-pkg-config.patch
)
-DOCS=(AUTHORS ChangeLog NEWS README)
+DOCS=( AUTHORS ChangeLog NEWS README )
src_configure() {
local mycmakeargs=(
@@ -63,7 +63,6 @@ src_configure() {
-DSIMAGE_USE_CGIMAGE=OFF # OS X only
-DSIMAGE_USE_QUICKTIME=OFF # OS X only
-DSIMAGE_USE_QIMAGE=$(usex qt6)
- -DSIMAGE_USE_QT4=OFF
-DSIMAGE_USE_QT5=OFF
-DSIMAGE_USE_QT6=$(usex qt6)
-DSIMAGE_USE_CPACK=OFF
diff --git a/media-libs/soxr/soxr-0.1.3-r1.ebuild b/media-libs/soxr/soxr-0.1.3-r2.ebuild
index ec602f3abda1..68d93c60de26 100644
--- a/media-libs/soxr/soxr-0.1.3-r1.ebuild
+++ b/media-libs/soxr/soxr-0.1.3-r2.ebuild
@@ -1,14 +1,15 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+MY_P="${P}-Source"
inherit cmake-multilib
-MY_P="${P}-Source"
DESCRIPTION="SoX Resampler library"
HOMEPAGE="https://sourceforge.net/p/soxr/wiki/Home/"
SRC_URI="https://downloads.sourceforge.net/soxr/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2.1"
SLOT="0"
@@ -19,8 +20,6 @@ IUSE="examples test"
REQUIRED_USE="test? ( examples )"
RESTRICT="!test? ( test )"
-S="${WORKDIR}/${MY_P}"
-
PATCHES=(
"${FILESDIR}/${PN}-0.1.1-nodoc.patch"
"${FILESDIR}/${P}-fix-pkgconfig.patch"
diff --git a/media-libs/svt-av1/svt-av1-2.1.2.ebuild b/media-libs/svt-av1/svt-av1-2.1.2.ebuild
index 49270aedb7db..6ba513e8db9a 100644
--- a/media-libs/svt-av1/svt-av1-2.1.2.ebuild
+++ b/media-libs/svt-av1/svt-av1-2.1.2.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} = 9999 ]]; then
EGIT_REPO_URI="https://gitlab.com/AOMediaCodec/SVT-AV1.git"
else
SRC_URI="https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v${PV}/SVT-AV1-v${PV}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86"
S="${WORKDIR}/SVT-AV1-v${PV}"
fi
diff --git a/media-libs/svt-hevc/metadata.xml b/media-libs/svt-hevc/metadata.xml
index 8d78ba1412a6..4beaa38e37d8 100644
--- a/media-libs/svt-hevc/metadata.xml
+++ b/media-libs/svt-hevc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>media-video@gentoo.org</email>
diff --git a/media-libs/t1lib/t1lib-5.1.2-r5.ebuild b/media-libs/t1lib/t1lib-5.1.2-r5.ebuild
index 867cd9e5ab78..994e1de47827 100644
--- a/media-libs/t1lib/t1lib-5.1.2-r5.ebuild
+++ b/media-libs/t1lib/t1lib-5.1.2-r5.ebuild
@@ -50,6 +50,8 @@ src_prepare() {
}
src_configure() {
+ # bug #943882
+ append-cflags -std=gnu17
# lto-type-mismatch
filter-lto
diff --git a/media-libs/tg_owt/tg_owt-0_pre20240804-r1.ebuild b/media-libs/tg_owt/tg_owt-0_pre20240804-r2.ebuild
index 59214057bbec..0c0d80f929dc 100644
--- a/media-libs/tg_owt/tg_owt-0_pre20240804-r1.ebuild
+++ b/media-libs/tg_owt/tg_owt-0_pre20240804-r2.ebuild
@@ -19,7 +19,7 @@ S="${WORKDIR}/${PN}-${TG_OWT_COMMIT}"
LICENSE="BSD"
SLOT="0/${PV##*pre}"
-KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv"
IUSE="screencast +X"
# This package's USE flags may change the ABI and require a rebuild of
@@ -44,7 +44,7 @@ RDEPEND="
dev-libs/crc32c
screencast? (
dev-libs/glib:2
- media-video/pipewire:=
+ >=media-video/pipewire-1.0.7:=
)
X? (
x11-libs/libX11
diff --git a/media-libs/tiff/tiff-4.7.0-r1.ebuild b/media-libs/tiff/tiff-4.7.0-r1.ebuild
new file mode 100644
index 000000000000..a859e56d7d45
--- /dev/null
+++ b/media-libs/tiff/tiff-4.7.0-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Release signer can vary per version but not clear if others will be doing
+# them in future, so gone with Even Rouault for now as he does other geosci
+# stuff too like PROJ, GDAL. Previous release manager of TIFF was
+# GraphicsMagick maintainer Bob Friesenhahn. Please be careful when verifying
+# who made releases.
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rouault.asc
+inherit libtool multilib-minimal verify-sig flag-o-matic
+
+MY_P="${P/_rc/rc}"
+DESCRIPTION="Tag Image File Format (TIFF) library"
+HOMEPAGE="http://libtiff.maptools.org"
+SRC_URI="https://download.osgeo.org/libtiff/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://download.osgeo.org/libtiff/${MY_P}.tar.xz.sig )"
+S="${WORKDIR}/${PN}-$(ver_cut 1-3)"
+
+LICENSE="libtiff"
+SLOT="0/6"
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="+cxx jbig jpeg lerc lzma opengl static-libs test webp zlib zstd"
+RESTRICT="!test? ( test )"
+
+# bug #483132
+REQUIRED_USE="test? ( jpeg )"
+
+RDEPEND="
+ jbig? ( >=media-libs/jbigkit-2.1:=[${MULTILIB_USEDEP}] )
+ jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
+ lerc? ( media-libs/lerc:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ opengl? ( media-libs/freeglut )
+ webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zstd? ( >=app-arch/zstd-1.3.7-r1:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-evenrouault )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/tiffconf.h
+)
+
+src_prepare() {
+ default
+
+ # Added to fix cross-compilation
+ elibtoolize
+}
+
+multilib_src_configure() {
+ append-lfs-flags
+
+ local myeconfargs=(
+ --disable-sphinx
+ --with-docdir="${EPREFIX}"/usr/share/doc/${PF}
+ $(use_enable cxx)
+ $(use_enable jbig)
+ $(use_enable jpeg)
+ $(multilib_native_use_enable opengl)
+ $(use_enable lerc)
+ $(use_enable lzma)
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+ $(use_enable webp)
+ $(use_enable zlib)
+ $(use_enable zstd)
+ --disable-libdeflate # bug #930111
+
+ $(multilib_native_enable docs)
+ $(multilib_native_enable contrib)
+ $(multilib_native_enable tools)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name '*.la' -delete || die
+ rm "${ED}"/usr/share/doc/${PF}/{README*,RELEASE-DATE,TODO,VERSION} || die
+}
diff --git a/media-libs/vamp-plugin-sdk/vamp-plugin-sdk-2.10.ebuild b/media-libs/vamp-plugin-sdk/vamp-plugin-sdk-2.10.ebuild
index 3e006595e3cb..5876e17ef719 100644
--- a/media-libs/vamp-plugin-sdk/vamp-plugin-sdk-2.10.ebuild
+++ b/media-libs/vamp-plugin-sdk/vamp-plugin-sdk-2.10.ebuild
@@ -29,6 +29,8 @@ src_prepare() {
}
multilib_src_configure() {
+ MAKEOPTS+=" -j1" # bug #943866
+
# multilib for default search paths
sed -i -e "s:/usr/lib/vamp:${EPREFIX}/usr/$(get_libdir)/vamp:" \
src/vamp-hostsdk/PluginHostAdapter.cpp || die
diff --git a/media-libs/vips/Manifest b/media-libs/vips/Manifest
index 493b42a00edc..8f82163298c6 100644
--- a/media-libs/vips/Manifest
+++ b/media-libs/vips/Manifest
@@ -1,2 +1,3 @@
DIST vips-8.15.2.tar.xz 18653840 BLAKE2B fa46d58d77ec835cbb7036764bcc40554a72c2d6a854adee31905d04cb189de131340f990b432293935bc8563236816d14fa45c08ba858de6b1be5ee3ea148ec SHA512 f746e4590f0105cb40dbb4ee35fe4b177acbf09d7fc4202f623812018030b9cfdfcbe585742724b35f40ef9b68717ebd015243f3db293086621d9eac3d89a5b2
-DIST vips-8.15.4.tar.xz 18655032 BLAKE2B ea4bb5af7bf34bda688ea937456ec6c1cff0dfa21e87fd843611cd8b3fb16df8fd1793d8327d40bbf937995466a4cfd417d9fe68f02010e260cf6b68f8c725c5 SHA512 b44fb3d57e356f3f0c4177f8385c0a6e5932ac22af8bd4ef312961d98bec4336bd3fb914a659a51a83a9da8b3bceb1593492a45e433b45a21cc6094aada6f1ac
+DIST vips-8.15.5.tar.xz 18652672 BLAKE2B bebd8078cb6cedffb4aee98aab17f62538439f81378b4953085ec0cd6e9ce2c6fb17831e77113980bc91c0ed4355d765c2008232b1cf64246467a9cd936e2245 SHA512 d8f87292fa395e108f36769accc64b67ea49aadbea4a6bd97fc457f340c0f78c0365a43ae4b14ac5f154e696a8b2abc100078a8c5ac58aae2dd1b04347fbf4d8
+DIST vips-8.16.0.tar.xz 29542092 BLAKE2B d285e27858b3c2d68edff4acad3e8e7744708071e5e2eb637bcabc66af9226ed72b2a6c72cd9a52e171e37e36c6c4429d3efacd9df7f67ba317f9efcc26e78bb SHA512 4035c6c08a19cb281ec0d901f8d0c2077e3312a79c1191b5b070aa411e5de0176d7d4e246da8f40c50cd93cf89433ac330b3ee618c1a996a79d58d1d66ec57f4
diff --git a/media-libs/vips/vips-8.15.5.ebuild b/media-libs/vips/vips-8.15.5.ebuild
new file mode 100644
index 000000000000..96a0a1bdc164
--- /dev/null
+++ b/media-libs/vips/vips-8.15.5.ebuild
@@ -0,0 +1,167 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit flag-o-matic meson python-single-r1 toolchain-funcs vala
+
+DESCRIPTION="VIPS Image Processing Library"
+HOMEPAGE="https://libvips.github.io/libvips/"
+SRC_URI="https://github.com/libvips/libvips/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+ MIT"
+SLOT="0/42" # soname
+KEYWORDS="amd64 ~arm64 ~x86"
+IUSE="
+ archive deprecated doc exif fftw fits fontconfig graphicsmagick
+ gtk-doc heif +highway imagemagick imagequant +introspection +jpeg
+ jpeg2k jpegxl lcms matio openexr orc pango pdf +png python svg
+ test tiff vala webp
+"
+REQUIRED_USE="
+ fontconfig? ( pango )
+ graphicsmagick? ( imagemagick )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( jpeg png webp )
+ vala? ( introspection )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/expat
+ virtual/libintl
+ archive? ( app-arch/libarchive:= )
+ exif? ( media-libs/libexif )
+ fftw? ( sci-libs/fftw:3.0= )
+ fits? ( sci-libs/cfitsio:= )
+ fontconfig? ( media-libs/fontconfig )
+ heif? ( media-libs/libheif:= )
+ highway? ( >=dev-cpp/highway-1.0.5 )
+ !highway? (
+ orc? ( dev-lang/orc )
+ )
+ imagemagick? (
+ graphicsmagick? ( media-gfx/graphicsmagick:= )
+ !graphicsmagick? ( media-gfx/imagemagick:= )
+ )
+ imagequant? ( media-gfx/libimagequant )
+ introspection? ( dev-libs/gobject-introspection )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/openjpeg:= )
+ jpegxl? ( media-libs/libjxl:= )
+ lcms? ( media-libs/lcms:2 )
+ matio? ( sci-libs/matio:= )
+ openexr? ( media-libs/openexr:= )
+ pango? (
+ x11-libs/cairo
+ x11-libs/pango
+ )
+ pdf? (
+ app-text/poppler[cairo]
+ x11-libs/cairo
+ )
+ png? ( media-libs/libpng:= )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]')
+ )
+ svg? (
+ gnome-base/librsvg:2
+ sys-libs/zlib:=
+ x11-libs/cairo
+ )
+ tiff? ( media-libs/tiff:= )
+ webp? ( media-libs/libwebp:= )
+"
+DEPEND="
+ ${RDEPEND}
+ pango? ( x11-base/xorg-proto )
+ pdf? ( x11-base/xorg-proto )
+ svg? ( x11-base/xorg-proto )
+ test? (
+ tiff? ( media-libs/tiff[jpeg] )
+ )
+"
+BDEPEND="
+ dev-util/glib-utils
+ sys-devel/gettext
+ doc? (
+ app-text/doxygen
+ media-gfx/graphviz
+ )
+ gtk-doc? ( dev-util/gtk-doc )
+ python? ( ${PYTHON_DEPS} )
+ vala? ( $(vala_depend) )
+"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ use vala && vala_setup
+
+ sed -i "s/'vips-doc'/'${PF}'/" cplusplus/meson.build || die
+
+ sed -i "/subdir('fuzz')/d" meson.build || die
+}
+
+src_configure() {
+ # workaround for bug in lld (bug #921728)
+ tc-ld-is-lld && filter-lto
+
+ local emesonargs=(
+ $(meson_use deprecated)
+ $(meson_use doc doxygen)
+ -Dexamples=false
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_use vala vapi)
+ -Dcgif=disabled # not packaged, and not used to view gif (only saving)
+ $(meson_feature archive)
+ $(meson_feature exif)
+ $(meson_feature fftw)
+ $(meson_feature fits cfitsio)
+ $(meson_feature fontconfig)
+ $(meson_feature heif)
+ $(meson_feature highway)
+ $(meson_feature imagemagick magick)
+ -Dmagick-package=$(usex graphicsmagick GraphicsMagick MagickCore)
+ $(meson_feature imagequant)
+ $(meson_feature introspection)
+ $(meson_feature jpeg)
+ $(meson_feature jpeg2k openjpeg)
+ $(meson_feature jpegxl jpeg-xl)
+ $(meson_feature lcms)
+ $(meson_feature matio)
+ -Dnifti=disabled # not packaged
+ $(meson_feature openexr)
+ -Dopenslide=disabled # not packaged
+ $(meson_feature orc) # no-op if USE=highway is set
+ $(meson_feature pango pangocairo)
+ -Dpdfium=disabled # not packaged, can use poppler instead
+ $(meson_feature png)
+ $(meson_feature pdf poppler)
+ -Dquantizr=disabled # not packaged, can use imagequant instead
+ -Dspng=disabled # not packaged, can use libpng instead
+ $(meson_feature svg rsvg)
+ $(meson_feature tiff)
+ $(meson_feature webp)
+ $(meson_feature svg zlib) # zlib is currently only used by svgload.c
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use python; then
+ python_fix_shebang "${ED}"/usr/bin/vipsprofile
+ else
+ rm -- "${ED}"/usr/{bin/vipsprofile,share/man/man1/vipsprofile.1} || die
+ fi
+}
diff --git a/media-libs/vips/vips-8.15.4.ebuild b/media-libs/vips/vips-8.16.0.ebuild
index 1a70de46d0d2..d95b054a4b0f 100644
--- a/media-libs/vips/vips-8.15.4.ebuild
+++ b/media-libs/vips/vips-8.16.0.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://libvips.github.io/libvips/"
SRC_URI="https://github.com/libvips/libvips/releases/download/v${PV}/${P}.tar.xz"
LICENSE="LGPL-2.1+ MIT"
-SLOT="0/${PV}"
+SLOT="0/42" # soname
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="
archive deprecated doc exif fftw fits fontconfig graphicsmagick
diff --git a/media-libs/vpl-gpu-rt/Manifest b/media-libs/vpl-gpu-rt/Manifest
new file mode 100644
index 000000000000..435902cce164
--- /dev/null
+++ b/media-libs/vpl-gpu-rt/Manifest
@@ -0,0 +1,3 @@
+DIST vpl-gpu-rt-24.2.5.tar.gz 9063523 BLAKE2B 1d993c5f8fc460323b3630af4068e49c8222c685288f32a3500d9bc646ef99ef1273854422d34831739bbe13750993a9f23b1a8e4ed827b28e0712422b06786f SHA512 a7aa37d27e4f2429634382d55074a014d96fa15ff2c5c40539f753888152f42dd46c9e5b0899021099091167f7a611016e79792ed8808935276adf34199113bf
+DIST vpl-gpu-rt-24.3.4.tar.gz 9193620 BLAKE2B 9a1804bdf4ce8624bf57d38a7f0f349770ac743b50dc513fa2569bf233aabf3972d8bbd0081e00dbf2dc6e5127cdc4372b68b3b65c9b44f0dce67b4f29f1991e SHA512 586094dc531ff4ca952f6682a7a6148d77bca0beaaff7a8411d942ca23bd1c4e70969d4354b3afe65af92fdb42816cd93fe757c4dc21b52bafde14346ac6296a
+DIST vpl-gpu-rt-24.4.2.tar.gz 9181545 BLAKE2B fb71d94710b4414a6f7c5eac9e194fdc24687f3250546dad91cb901f2e02322aa09d6b899b7e43038fbf199a46174a687f2f278184651db734933280d22e015a SHA512 800081e87a4d4d4fa161007ab2ea3031c096e82bb70d4e0aa784e9c4b9713a35bbb6343af3782525f702131f15063b757110f23a9e65adea67524fe776e6c05b
diff --git a/media-libs/vpl-gpu-rt/metadata.xml b/media-libs/vpl-gpu-rt/metadata.xml
new file mode 100644
index 000000000000..087a3b8eb4b9
--- /dev/null
+++ b/media-libs/vpl-gpu-rt/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>media-video@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>nowa@gentoo.org</email>
+ <name>Nowa Ammerlaan</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/intel/vpl-gpu-rt/issues</bugs-to>
+ <changelog>https://github.com/intel/vpl-gpu-rt/releases</changelog>
+ <doc>https://github.com/intel/vpl-gpu-rt/tree/main/doc</doc>
+ <remote-id type="github">intel/vpl-gpu-rt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.2.5.ebuild b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.2.5.ebuild
index 1e9794bab839..8eba3560671e 100644
--- a/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.2.5.ebuild
+++ b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.2.5.ebuild
@@ -5,10 +5,10 @@ EAPI=8
inherit cmake
-DESCRIPTION="oneAPI Video Processing Library Intel GPU implementation"
+DESCRIPTION="Intel Video Processing Library GPU Runtime"
HOMEPAGE="https://github.com/intel/vpl-gpu-rt/"
-SRC_URI="https://github.com/intel/vpl-gpu-rt/archive/refs/tags/intel-onevpl-${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/vpl-gpu-rt-intel-onevpl-${PV}"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/intel-onevpl-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-intel-onevpl-${PV}"
LICENSE="MIT"
SLOT="0"
diff --git a/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.3.4.ebuild b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.3.4.ebuild
index 1e9794bab839..861810f2ef94 100644
--- a/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.3.4.ebuild
+++ b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.3.4.ebuild
@@ -1,14 +1,17 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# NOTE: please bump with the other parts of intel's media stack, listed below
+# https://github.com/intel/vpl-gpu-rt/releases
+
EAPI=8
inherit cmake
-DESCRIPTION="oneAPI Video Processing Library Intel GPU implementation"
+DESCRIPTION="Intel Video Processing Library GPU Runtime"
HOMEPAGE="https://github.com/intel/vpl-gpu-rt/"
-SRC_URI="https://github.com/intel/vpl-gpu-rt/archive/refs/tags/intel-onevpl-${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/vpl-gpu-rt-intel-onevpl-${PV}"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/intel-onevpl-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-intel-onevpl-${PV}"
LICENSE="MIT"
SLOT="0"
diff --git a/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.4.2.ebuild b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.4.2.ebuild
new file mode 100644
index 000000000000..861810f2ef94
--- /dev/null
+++ b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.4.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTE: please bump with the other parts of intel's media stack, listed below
+# https://github.com/intel/vpl-gpu-rt/releases
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Intel Video Processing Library GPU Runtime"
+HOMEPAGE="https://github.com/intel/vpl-gpu-rt/"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/intel-onevpl-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-intel-onevpl-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ media-libs/libva
+ x11-libs/libdrm[video_cards_intel]
+"
+# At runtime we need a dispatcher, libvpl is preferred but mediasdk also works
+RDEPEND="${DEPEND}
+ >=media-libs/libva-intel-media-driver-${PV}
+ || (
+ media-libs/libvpl
+ media-libs/intel-mediasdk
+ )
+"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_RUNTIME=ON
+ # To build the kernels we need to package the cm-compiler, use pre-built instead
+ -DBUILD_KERNELS=OFF
+ -DBUILD_TESTS="$(usex test)"
+ # This only seems to do something if we BUILD_KERNELS=ON
+ #-DBUILD_TOOLS="$(usex tools)"
+ # OpenCL only has an effect if we build kernels
+ -DENABLE_OPENCL=OFF
+ )
+ cmake_src_configure
+}
diff --git a/media-libs/vulkan-layers/Manifest b/media-libs/vulkan-layers/Manifest
index d56bfbb145af..e67afc60055f 100644
--- a/media-libs/vulkan-layers/Manifest
+++ b/media-libs/vulkan-layers/Manifest
@@ -1 +1,2 @@
DIST vulkan-layers-1.3.290.0.tar.gz 5270142 BLAKE2B cdd22f6dd3b4da9433cba1c0d0ace16961bad2d61279efca3a0d7e5ad885766f25377036f3418ba3ed4e93beeff717b8b45fc772e9e2ad8750a8aac0aec731d2 SHA512 9f1d512b4bafbcef586789e933f903c383bbb9644d0a978a390da16e03ee2395c39c9c7b622e437e1c74880409df0a3cfc3a44b066cc0efeaee8d1edb9349d26
+DIST vulkan-layers-1.3.296.0.tar.gz 5529046 BLAKE2B 42d321cff2cf7f6c0377b5deff298df60811026a4121dc3315610d53059e5db435494c138dfef5844d71e51536572bd8601dc496e88362f3c68ae0562680ac4f SHA512 457edee35a347456391c9b36bdf5d457f05210b6a8889d0623498582d3385bed474fbd7dae66406d20f70d96238ca752414eaa844b86b431ec7f8cf721d46d08
diff --git a/media-libs/vulkan-layers/vulkan-layers-1.3.296.0.ebuild b/media-libs/vulkan-layers/vulkan-layers-1.3.296.0.ebuild
new file mode 100644
index 000000000000..c794a9e6533f
--- /dev/null
+++ b/media-libs/vulkan-layers/vulkan-layers-1.3.296.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=Vulkan-ValidationLayers
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib python-any-r1
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git"
+ EGIT_SUBMODULES=()
+ inherit git-r3
+else
+ SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/vulkan-sdk-${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86"
+ S="${WORKDIR}"/${MY_PN}-vulkan-sdk-${PV}
+fi
+
+DESCRIPTION="Vulkan Validation Layers"
+HOMEPAGE="https://github.com/KhronosGroup/Vulkan-ValidationLayers"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="wayland X"
+
+RDEPEND="~dev-util/spirv-tools-${PV}[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ >=dev-cpp/robin-hood-hashing-3.11.5-r2
+ ~dev-util/glslang-${PV}:=[${MULTILIB_USEDEP}]
+ ~dev-util/spirv-headers-${PV}
+ ~dev-util/vulkan-headers-${PV}
+ ~dev-util/vulkan-utility-libraries-${PV}:=[${MULTILIB_USEDEP}]
+ wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
+ X? (
+ x11-libs/libX11:=[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
+ )
+"
+
+QA_SONAME="/usr/lib[^/]*/libVkLayer_khronos_validation.so"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_C_FLAGS="${CFLAGS} -DNDEBUG"
+ -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG"
+ -DCMAKE_SKIP_RPATH=ON
+ -DBUILD_WERROR=OFF
+ -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
+ -DBUILD_WSI_XCB_SUPPORT=$(usex X)
+ -DBUILD_WSI_XLIB_SUPPORT=$(usex X)
+ -DBUILD_TESTS=OFF
+ )
+ cmake_src_configure
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name \*.a -delete || die
+}
diff --git a/media-libs/vulkan-loader/Manifest b/media-libs/vulkan-loader/Manifest
index 74ee71015fbb..a50167832bd5 100644
--- a/media-libs/vulkan-loader/Manifest
+++ b/media-libs/vulkan-loader/Manifest
@@ -1 +1,2 @@
DIST vulkan-loader-1.3.290.0.tar.gz 1711013 BLAKE2B 72c55f07537df0e0ad0fedb4a3b913cde9b6d5038370c0e92bf15ad9ee881f5910842a1b5ee00d370b93341aefbd141414b77e7ac8823d101a861829cd9f338b SHA512 42ecf05e498f6422cea9d6ef70df5a936536524c1ff4d8cb391b5c55dd409082a6b2fc2eee5b395306c782ca32a7344faceef3e5385b382fb5a7e6564cfce4b5
+DIST vulkan-loader-1.3.296.0.tar.gz 1719284 BLAKE2B 5e31e490b8e301ba7b8f0fe589e3056434701bac2897fe9b1b72651d7ac0268b9b63b72003664a30f20646c7c54987c75c765ab4e39fa994603ff56fea8be3fc SHA512 535b7f324348e9edf44ff6a6a6e9eabe6e3a4bfad79bef789d1dc0cbbe3de36b6495a05236323d155631b081b89c18bb8668c79d1f735b59fc85ebee555aa682
diff --git a/media-libs/vulkan-loader/vulkan-loader-1.3.296.0.ebuild b/media-libs/vulkan-loader/vulkan-loader-1.3.296.0.ebuild
new file mode 100644
index 000000000000..87dd8a1239f1
--- /dev/null
+++ b/media-libs/vulkan-loader/vulkan-loader-1.3.296.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=Vulkan-Loader
+inherit flag-o-matic cmake-multilib toolchain-funcs
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git"
+ EGIT_SUBMODULES=()
+ inherit git-r3
+else
+ SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/vulkan-sdk-${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86"
+ S="${WORKDIR}"/${MY_PN}-vulkan-sdk-${PV}
+fi
+
+DESCRIPTION="Vulkan Installable Client Driver (ICD) Loader"
+HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Loader"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="layers wayland X"
+
+DEPEND="
+ ~dev-util/vulkan-headers-${PV}
+ wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] )
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libX11:=[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr:=[${MULTILIB_USEDEP}]
+ )
+"
+PDEPEND="layers? ( media-libs/vulkan-layers[${MULTILIB_USEDEP}] )"
+
+multilib_src_configure() {
+ # Integrated clang assembler doesn't work with x86 - Bug #698164
+ if tc-is-clang && [[ ${ABI} == x86 ]]; then
+ append-cflags -fno-integrated-as
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_C_FLAGS="${CFLAGS} -DNDEBUG"
+ -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG"
+ -DCMAKE_SKIP_RPATH=ON
+ -DBUILD_TESTS=OFF
+ -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland)
+ -DBUILD_WSI_XCB_SUPPORT=$(usex X)
+ -DBUILD_WSI_XLIB_SUPPORT=$(usex X)
+ -DVULKAN_HEADERS_INSTALL_DIR="${ESYSROOT}/usr"
+ )
+ cmake_src_configure
+}
+
+multilib_src_install() {
+ keepdir /etc/vulkan/icd.d
+
+ cmake_src_install
+}
diff --git a/media-libs/vulkan-loader/vulkan-loader-9999.ebuild b/media-libs/vulkan-loader/vulkan-loader-9999.ebuild
index 54f748200e95..837b7b745e47 100644
--- a/media-libs/vulkan-loader/vulkan-loader-9999.ebuild
+++ b/media-libs/vulkan-loader/vulkan-loader-9999.ebui