summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'graphics')
-rw-r--r--graphics/Coin/Makefile2
-rw-r--r--graphics/Coin/distinfo6
-rw-r--r--graphics/Coin/pkg-plist2
-rw-r--r--graphics/ImageMagick6/Makefile2
-rw-r--r--graphics/ImageMagick7/Makefile2
-rw-r--r--graphics/Makefile2
-rw-r--r--graphics/R-cran-pROC/Makefile5
-rw-r--r--graphics/R-cran-pROC/distinfo6
-rw-r--r--graphics/R-cran-pixmap/Makefile2
-rw-r--r--graphics/R-cran-pixmap/distinfo6
-rw-r--r--graphics/aeskulap/Makefile20
-rw-r--r--graphics/aeskulap/pkg-plist1
-rw-r--r--graphics/alembic/Makefile1
-rw-r--r--graphics/ampasCTL/Makefile2
-rw-r--r--graphics/appleseed/Makefile2
-rw-r--r--graphics/art/Makefile1
-rw-r--r--graphics/artem/Makefile2
-rw-r--r--graphics/asciinema-agg/Makefile2
-rw-r--r--graphics/atril-lite/Makefile2
-rw-r--r--graphics/atril/Makefile2
-rw-r--r--graphics/birdfont/Makefile2
-rw-r--r--graphics/blender/Makefile2
-rw-r--r--graphics/camerakit/Makefile2
-rw-r--r--graphics/cegui/Makefile2
-rw-r--r--graphics/cenon/Makefile2
-rw-r--r--graphics/chafa/Makefile1
-rw-r--r--graphics/cimg/Makefile1
-rw-r--r--graphics/colmap/Makefile4
-rw-r--r--graphics/colmap/distinfo6
-rw-r--r--graphics/colord-kde/distinfo6
-rw-r--r--graphics/colord/Makefile7
-rw-r--r--graphics/colord/distinfo6
-rw-r--r--graphics/colord/pkg-plist4
-rw-r--r--graphics/converseen/Makefile2
-rw-r--r--graphics/converseen/distinfo6
-rw-r--r--graphics/corrupter/Makefile2
-rw-r--r--graphics/cosmoplayer/Makefile40
-rw-r--r--graphics/cosmoplayer/distinfo2
-rw-r--r--graphics/cosmoplayer/pkg-descr4
-rw-r--r--graphics/ctl/Makefile9
-rw-r--r--graphics/ctl/distinfo8
-rw-r--r--graphics/ctl/files/patch-OpenEXR__CTL_exrdpx_exrToDpx.cpp19
-rw-r--r--graphics/ctl/pkg-plist11
-rw-r--r--graphics/d2/Makefile3
-rw-r--r--graphics/d2/distinfo10
-rw-r--r--graphics/darktable/Makefile4
-rw-r--r--graphics/darktable/distinfo6
-rw-r--r--graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac743374885
-rw-r--r--graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce89834305946
-rw-r--r--graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af23
-rw-r--r--graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b154
-rw-r--r--graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf64223
-rw-r--r--graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c71227
-rw-r--r--graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa30
-rw-r--r--graphics/darktable/pkg-plist1
-rw-r--r--graphics/dataplot/Makefile29
-rw-r--r--graphics/dataplot/distinfo6
-rw-r--r--graphics/dataplot/files/patch-Makefile20
-rw-r--r--graphics/dify/Makefile2
-rw-r--r--graphics/digikam/Makefile39
-rw-r--r--graphics/digikam/distinfo10
-rw-r--r--graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp14
-rw-r--r--graphics/digikam/pkg-plist136
-rw-r--r--graphics/drawio/Makefile6
-rw-r--r--graphics/drawio/distinfo6
-rw-r--r--graphics/drawpile/Makefile2
-rw-r--r--graphics/dssim/Makefile2
-rw-r--r--graphics/durdraw/Makefile2
-rw-r--r--graphics/egl-wayland/Makefile2
-rw-r--r--graphics/egl-wayland/distinfo6
-rw-r--r--graphics/egl-wayland/pkg-plist2
-rw-r--r--graphics/exrtools/Makefile2
-rw-r--r--graphics/f3d/Makefile3
-rw-r--r--graphics/filament/Makefile9
-rw-r--r--graphics/filament/distinfo6
-rw-r--r--graphics/filament/files/patch-CMakeLists.txt4
-rw-r--r--graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp6
-rw-r--r--graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h4
-rw-r--r--graphics/filament/files/patch-libs_utils_CMakeLists.txt6
-rw-r--r--graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc40
-rw-r--r--graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h42
-rw-r--r--graphics/filament/pkg-plist48
-rw-r--r--graphics/fortytwo/Makefile2
-rw-r--r--graphics/gdal/Makefile22
-rw-r--r--graphics/gdal/files/patch-ogr_ogrsf__frmts_xodr_ogr__xodr.h11
-rw-r--r--graphics/gdk-pixbuf2/Makefile5
-rw-r--r--graphics/gdk-pixbuf2/distinfo4
-rw-r--r--graphics/gegl/Makefile1
-rw-r--r--graphics/geoserver/Makefile12
-rw-r--r--graphics/geoserver/distinfo6
-rw-r--r--graphics/geoserver/pkg-plist19
-rw-r--r--graphics/gifski/Makefile2
-rw-r--r--graphics/gimp-app/Makefile2
-rw-r--r--graphics/gimp3-app/Makefile2
-rw-r--r--graphics/gimp3-app/pkg-plist2
-rw-r--r--graphics/gmic-qt/Makefile18
-rw-r--r--graphics/gmic-qt/distinfo6
-rw-r--r--graphics/gmic/Makefile2
-rw-r--r--graphics/gource/Makefile2
-rw-r--r--graphics/gowall/Makefile1
-rw-r--r--graphics/grafx2/Makefile1
-rw-r--r--graphics/graphos/Makefile2
-rw-r--r--graphics/gstreamer1-plugins-openexr/Makefile3
-rw-r--r--graphics/gthumb/Makefile2
-rw-r--r--graphics/gwenview/Makefile1
-rw-r--r--graphics/gwenview/distinfo6
-rw-r--r--graphics/hugin/Makefile2
-rw-r--r--graphics/hyprgraphics/Makefile3
-rw-r--r--graphics/hyprland-protocols/Makefile28
-rw-r--r--graphics/hyprland-protocols/distinfo3
-rw-r--r--graphics/hyprland-protocols/pkg-descr10
-rw-r--r--graphics/hyprland-protocols/pkg-plist8
-rw-r--r--graphics/imageviewer/Makefile2
-rw-r--r--graphics/impressive/Makefile2
-rw-r--r--graphics/inkscape/Makefile5
-rw-r--r--graphics/jp/Makefile2
-rw-r--r--graphics/kamera/distinfo6
-rw-r--r--graphics/kcolorchooser/distinfo6
-rw-r--r--graphics/kdegraphics-mobipocket/Makefile2
-rw-r--r--graphics/kdegraphics-mobipocket/distinfo6
-rw-r--r--graphics/kdegraphics-mobipocket/pkg-plist11
-rw-r--r--graphics/kdegraphics-mobipocket/pkg-plist.qt56
-rw-r--r--graphics/kdegraphics-mobipocket/pkg-plist.qt66
-rw-r--r--graphics/kdegraphics-svgpart/distinfo6
-rw-r--r--graphics/kdegraphics-thumbnailers/distinfo6
-rw-r--r--graphics/kdegraphics/Makefile2
-rw-r--r--graphics/kf5-kimageformats/Makefile2
-rw-r--r--graphics/kf6-kimageformats/Makefile1
-rw-r--r--graphics/kf6-kimageformats/distinfo6
-rw-r--r--graphics/kf6-kimageformats/pkg-plist1
-rw-r--r--graphics/kf6-kplotting/distinfo6
-rw-r--r--graphics/kf6-kquickcharts/distinfo6
-rw-r--r--graphics/kf6-ksvg/distinfo6
-rw-r--r--graphics/kf6-prison/distinfo6
-rw-r--r--graphics/kgraphviewer/distinfo6
-rw-r--r--graphics/kgraphviewer/pkg-plist1
-rw-r--r--graphics/kimagemapeditor/distinfo6
-rw-r--r--graphics/kolourpaint/Makefile16
-rw-r--r--graphics/kolourpaint/distinfo6
-rw-r--r--graphics/kolourpaint/files/patch-CMakeLists.txt24
-rw-r--r--graphics/kolourpaint/files/patch-lgpl_generic_kpColorCollection.cpp24
-rw-r--r--graphics/kolourpaint/pkg-plist5
-rw-r--r--graphics/kontrast/Makefile2
-rw-r--r--graphics/kontrast/distinfo6
-rw-r--r--graphics/kqtquickcharts/Makefile9
-rw-r--r--graphics/kqtquickcharts/distinfo6
-rw-r--r--graphics/kqtquickcharts/pkg-plist4
-rw-r--r--graphics/krita/Makefile2
-rw-r--r--graphics/ksanecore/Makefile4
-rw-r--r--graphics/ksanecore/distinfo6
-rw-r--r--graphics/laternamagica/Makefile2
-rw-r--r--graphics/lazpaint/Makefile2
-rw-r--r--graphics/libavif/Makefile2
-rw-r--r--graphics/libetonyek01/Makefile4
-rw-r--r--graphics/libetonyek01/files/patch-configure22
-rw-r--r--graphics/libetonyek01/files/patch-src_lib_IWAParser.cpp29
-rw-r--r--graphics/libetonyek01/files/patch-src_lib_IWORKTable.cpp13
-rw-r--r--graphics/libheif/Makefile2
-rw-r--r--graphics/libimagequant/Makefile2
-rw-r--r--graphics/libkdcraw/Makefile2
-rw-r--r--graphics/libkdcraw/distinfo6
-rw-r--r--graphics/libkexiv2/Makefile18
-rw-r--r--graphics/libkexiv2/distinfo6
-rw-r--r--graphics/libkexiv2/pkg-plist36
-rw-r--r--graphics/libkexiv2/pkg-plist.qt518
-rw-r--r--graphics/libkexiv2/pkg-plist.qt618
-rw-r--r--graphics/libksane/distinfo6
-rw-r--r--graphics/libopenraw/Makefile2
-rw-r--r--graphics/libpano13/Makefile2
-rw-r--r--graphics/librsvg2-rust/Makefile13
-rw-r--r--graphics/librsvg2-rust/pkg-plist4
-rw-r--r--graphics/libyuv/Makefile8
-rw-r--r--graphics/libyuv/distinfo6
-rw-r--r--graphics/libyuv/files/patch-CMakeLists.txt18
-rw-r--r--graphics/libyuv/pkg-plist4
-rw-r--r--graphics/linux-rl9-spirv-tools/Makefile1
-rw-r--r--graphics/linux-rl9-spirv-tools/pkg-plist.aarch641
-rw-r--r--graphics/linux-rl9-spirv-tools/pkg-plist.amd641
-rw-r--r--graphics/luminance-qt5/Makefile2
-rw-r--r--graphics/lunasvg/Makefile2
-rw-r--r--graphics/magnum-examples/Makefile2
-rw-r--r--graphics/magnum-integration/Makefile4
-rw-r--r--graphics/matplotlib-cpp/Makefile2
-rw-r--r--graphics/menyoki/Makefile2
-rw-r--r--graphics/mesa-devel/Makefile20
-rw-r--r--graphics/mesa-devel/distinfo10
-rw-r--r--graphics/mesa-devel/files/patch-suffix12
-rw-r--r--graphics/mesa-devel/pkg-plist2
-rw-r--r--graphics/mesa-dri/Makefile.common3
-rw-r--r--graphics/milton/Makefile2
-rw-r--r--graphics/mupdf/Makefile41
-rw-r--r--graphics/mupdf/distinfo6
-rw-r--r--graphics/mupdf/files/patch-Makefile33
-rw-r--r--graphics/mupdf/files/patch-Makerules66
-rw-r--r--graphics/mupdf/pkg-plist8
-rw-r--r--graphics/noaa-apt/Makefile2
-rw-r--r--graphics/nvidia-drm-510-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-510-kmod-devel/distinfo6
-rw-r--r--graphics/nvidia-drm-510-kmod/distinfo6
-rw-r--r--graphics/nvidia-drm-515-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-515-kmod-devel/distinfo6
-rw-r--r--graphics/nvidia-drm-515-kmod/distinfo6
-rw-r--r--graphics/nvidia-drm-61-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-61-kmod-devel/distinfo6
-rw-r--r--graphics/nvidia-drm-61-kmod/distinfo6
-rw-r--r--graphics/nvidia-drm-66-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-66-kmod-devel/distinfo6
-rw-r--r--graphics/nvidia-drm-66-kmod/distinfo6
-rw-r--r--graphics/nvidia-drm-kmod-devel/Makefile2
-rw-r--r--graphics/ocrs/Makefile19
-rw-r--r--graphics/ocrs/distinfo36
-rw-r--r--graphics/oculante/Makefile2
-rw-r--r--graphics/ogre3d/Makefile3
-rw-r--r--graphics/ogre3d/distinfo6
-rw-r--r--graphics/ogre3d/files/patch-OgreMain_include_OgrePlatformInformation.h10
-rw-r--r--graphics/ogre3d/pkg-plist1
-rw-r--r--graphics/okular/distinfo6
-rw-r--r--graphics/okular/pkg-plist4
-rw-r--r--graphics/opencolorio-tools/Makefile2
-rw-r--r--graphics/opencolorio/Makefile2
-rw-r--r--graphics/opencv/Makefile10
-rw-r--r--graphics/opencv/distinfo8
-rw-r--r--graphics/openexr-website-docs/Makefile2
-rw-r--r--graphics/openexr-website-docs/distinfo6
-rw-r--r--graphics/openexr/Makefile9
-rw-r--r--graphics/openexr/distinfo6
-rw-r--r--graphics/openimageio/Makefile2
-rw-r--r--graphics/openshadinglanguage/Makefile2
-rw-r--r--graphics/openvkl/Makefile5
-rw-r--r--graphics/openvkl/distinfo6
-rw-r--r--graphics/openvkl/pkg-plist34
-rw-r--r--graphics/openxr/Makefile3
-rw-r--r--graphics/openxr/distinfo6
-rw-r--r--graphics/osg/Makefile20
-rw-r--r--graphics/osg/files/patch-CMakeModules_FindFFmpeg.cmake10
-rw-r--r--graphics/osg/files/patch-CMakeModules_FindGStreamer.cmake17
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_OpenCASCADE_ReaderWriterOpenCASCADE.cpp11
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoder.cpp207
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoder.hpp255
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderAudio.cpp478
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderAudio.hpp131
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderVideo.cpp440
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderVideo.hpp62
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegPacket.hpp11
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegParameters.cpp37
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_ReaderWriterFFmpeg.cpp100
-rw-r--r--graphics/osg34/Makefile2
-rw-r--r--graphics/ospray/Makefile5
-rw-r--r--graphics/oxipng/Makefile2
-rw-r--r--graphics/p5-GD-Barcode/Makefile3
-rw-r--r--graphics/p5-GD-Barcode/distinfo6
-rw-r--r--graphics/p5-Gimp/Makefile8
-rw-r--r--graphics/p5-Image-ExifTool-devel/Makefile2
-rw-r--r--graphics/p5-Image-ExifTool-devel/distinfo6
-rw-r--r--graphics/p5-Image-ExifTool-devel/pkg-plist2
-rw-r--r--graphics/pastel/Makefile111
-rw-r--r--graphics/pastel/Makefile.crates122
-rw-r--r--graphics/pastel/distinfo368
-rw-r--r--graphics/pdfpc/Makefile1
-rw-r--r--graphics/pecl-imagick/Makefile12
-rw-r--r--graphics/pfstools/Makefile2
-rw-r--r--graphics/php-geos/files/patch-php8511
-rw-r--r--graphics/pikopixel/Makefile2
-rw-r--r--graphics/pixie/Makefile2
-rw-r--r--graphics/plasma6-spectacle/distinfo6
-rw-r--r--graphics/plutosvg/Makefile5
-rw-r--r--graphics/plutosvg/distinfo6
-rw-r--r--graphics/plutovg/Makefile2
-rw-r--r--graphics/podofo/Makefile2
-rw-r--r--graphics/poppler/Makefile2
-rw-r--r--graphics/poselib/Makefile2
-rw-r--r--graphics/poselib/distinfo6
-rw-r--r--graphics/poselib/files/patch-CMakeLists.txt22
-rw-r--r--graphics/poselib/pkg-plist2
-rw-r--r--graphics/povray37/Makefile2
-rw-r--r--graphics/povray38/Makefile2
-rw-r--r--graphics/preview/Makefile2
-rw-r--r--graphics/price/Makefile2
-rw-r--r--graphics/py-PyOpenGL/Makefile2
-rw-r--r--graphics/py-actdiag/Makefile2
-rw-r--r--graphics/py-albumentations/Makefile2
-rw-r--r--graphics/py-blockdiag/Makefile2
-rw-r--r--graphics/py-blockdiagcontrib-cisco/Makefile2
-rw-r--r--graphics/py-cairosvg/Makefile1
-rw-r--r--graphics/py-cartopy/Makefile2
-rw-r--r--graphics/py-colorthief/Makefile2
-rw-r--r--graphics/py-colorz/Makefile2
-rw-r--r--graphics/py-colour-science/Makefile1
-rw-r--r--graphics/py-contextily/Makefile1
-rw-r--r--graphics/py-descartes/Makefile2
-rw-r--r--graphics/py-django-easy-thumbnails/Makefile2
-rw-r--r--graphics/py-face_recognition/Makefile2
-rw-r--r--graphics/py-fotokilof/Makefile1
-rw-r--r--graphics/py-fury/Makefile2
-rw-r--r--graphics/py-geomdl/Makefile2
-rw-r--r--graphics/py-geosnap/Makefile1
-rw-r--r--graphics/py-haishoku/Makefile2
-rw-r--r--graphics/py-imagecodecs/Makefile1
-rw-r--r--graphics/py-imageio/Makefile1
-rw-r--r--graphics/py-img2pdf/Makefile1
-rw-r--r--graphics/py-mapclassify/Makefile1
-rw-r--r--graphics/py-mayavi/Makefile2
-rw-r--r--graphics/py-mcomix/Makefile2
-rw-r--r--graphics/py-moderngl-window/Makefile1
-rw-r--r--graphics/py-moderngl/Makefile1
-rw-r--r--graphics/py-momepy/Makefile2
-rw-r--r--graphics/py-mpl-interactions/Makefile1
-rw-r--r--graphics/py-mpl-scatter-density/Makefile2
-rw-r--r--graphics/py-nwdiag/Makefile2
-rw-r--r--graphics/py-opencolorio/Makefile2
-rw-r--r--graphics/py-openimageio/Makefile2
-rw-r--r--graphics/py-openshadinglanguage/Makefile2
-rw-r--r--graphics/py-openslide-python/Makefile2
-rw-r--r--graphics/py-optimize-images/Makefile2
-rw-r--r--graphics/py-pdf2image/Makefile2
-rw-r--r--graphics/py-photocollage/Makefile2
-rw-r--r--graphics/py-pillow-heif/Makefile1
-rw-r--r--graphics/py-pillow/Makefile1
-rw-r--r--graphics/py-pointpats/Makefile1
-rw-r--r--graphics/py-proplot/Makefile1
-rw-r--r--graphics/py-pycollada/Makefile4
-rw-r--r--graphics/py-pyganim/Makefile2
-rw-r--r--graphics/py-pyglet1/Makefile3
-rw-r--r--graphics/py-pyglet1/distinfo6
-rw-r--r--graphics/py-pyinsane2/Makefile2
-rw-r--r--graphics/py-pyocr/Makefile1
-rw-r--r--graphics/py-pypillowfight/Makefile2
-rw-r--r--graphics/py-pyqtgraph/Makefile2
-rw-r--r--graphics/py-pyrsgis/Makefile2
-rw-r--r--graphics/py-pytesseract/Makefile2
-rw-r--r--graphics/py-python-barcode/Makefile1
-rw-r--r--graphics/py-pyvista/Makefile2
-rw-r--r--graphics/py-qpageview/Makefile11
-rw-r--r--graphics/py-qpageview/distinfo6
-rw-r--r--graphics/py-rich-pixels/Makefile1
-rw-r--r--graphics/py-scikit-image/Makefile2
-rw-r--r--graphics/py-seqdiag/Makefile2
-rw-r--r--graphics/py-sorl-thumbnail/Makefile2
-rw-r--r--graphics/py-spectra/Makefile2
-rw-r--r--graphics/py-term-image/Makefile1
-rw-r--r--graphics/py-termtosvg/Makefile4
-rw-r--r--graphics/py-tifffile/Makefile3
-rw-r--r--graphics/py-toyplot/Makefile2
-rw-r--r--graphics/py-ueberzug/Makefile2
-rw-r--r--graphics/py-urbanaccess/Makefile2
-rw-r--r--graphics/py-visvis/Makefile2
-rw-r--r--graphics/py-willow/Makefile11
-rw-r--r--graphics/py-willow/distinfo6
-rw-r--r--graphics/py-willow/files/patch-pyproject.toml22
-rw-r--r--graphics/qgis-ltr/Makefile2
-rw-r--r--graphics/qgis-ltr/distinfo6
-rw-r--r--graphics/qgis-ltr/pkg-plist1
-rw-r--r--graphics/qgis/Makefile2
-rw-r--r--graphics/qgis/distinfo6
-rw-r--r--graphics/qgis/pkg-plist3
-rw-r--r--graphics/qt6-3d/Makefile1
-rw-r--r--graphics/qt6-3d/distinfo6
-rw-r--r--graphics/qt6-imageformats/distinfo6
-rw-r--r--graphics/qt6-lottie/distinfo6
-rw-r--r--graphics/qt6-quickeffectmaker/distinfo6
-rw-r--r--graphics/qt6-svg/Makefile4
-rw-r--r--graphics/qt6-svg/distinfo8
-rw-r--r--graphics/qt6-wayland/distinfo6
-rw-r--r--graphics/qt6-wayland/files/patch-src_client_qwaylandshellsurface__p.h23
-rw-r--r--graphics/qt6-wayland/files/patch-src_plugins_shellintegration_xdg-shell_qwaylandxdgshell__p.h13
-rw-r--r--graphics/qtqr/Makefile1
-rw-r--r--graphics/qview/Makefile1
-rw-r--r--graphics/rapid-photo-downloader/Makefile2
-rw-r--r--graphics/resvg-capi/Makefile2
-rw-r--r--graphics/resvg/Makefile2
-rw-r--r--graphics/rubygem-clutter-gdk/Makefile2
-rw-r--r--graphics/rubygem-clutter-gdk/distinfo6
-rw-r--r--graphics/rubygem-clutter-gtk/Makefile2
-rw-r--r--graphics/rubygem-clutter-gtk/distinfo6
-rw-r--r--graphics/rubygem-clutter/Makefile2
-rw-r--r--graphics/rubygem-clutter/distinfo6
-rw-r--r--graphics/rubygem-gdk_pixbuf2/Makefile2
-rw-r--r--graphics/rubygem-gdk_pixbuf2/distinfo6
-rw-r--r--graphics/rubygem-gruff/Makefile2
-rw-r--r--graphics/rubygem-gruff/distinfo6
-rw-r--r--graphics/rubygem-invisible_captcha/Makefile3
-rw-r--r--graphics/rubygem-invisible_captcha/distinfo6
-rw-r--r--graphics/rubygem-rmagick/Makefile3
-rw-r--r--graphics/rubygem-rmagick/distinfo6
-rw-r--r--graphics/rubygem-rsvg2/Makefile2
-rw-r--r--graphics/rubygem-rsvg2/distinfo6
-rw-r--r--graphics/rx/Makefile2
-rw-r--r--graphics/sane-airscan/Makefile6
-rw-r--r--graphics/sane-airscan/distinfo6
-rw-r--r--graphics/satty/Makefile2
-rw-r--r--graphics/sdl2_image/Makefile1
-rw-r--r--graphics/sdl3_image/Makefile1
-rw-r--r--graphics/sdl3_ttf/Makefile11
-rw-r--r--graphics/sekrit-twc-zimg/Makefile2
-rw-r--r--graphics/sekrit-twc-zimg/distinfo6
-rw-r--r--graphics/simpleviewer/Makefile2
-rw-r--r--graphics/skanlite/distinfo6
-rw-r--r--graphics/skanpage/distinfo6
-rw-r--r--graphics/svgbob/Makefile2
-rw-r--r--graphics/swappy/Makefile33
-rw-r--r--graphics/swappy/distinfo6
-rw-r--r--graphics/swappy/files/patch-meson.build11
-rw-r--r--graphics/swappy/pkg-plist10
-rw-r--r--graphics/synfig/Makefile2
-rw-r--r--graphics/synfigstudio/Makefile2
-rw-r--r--graphics/timg/files/patch-src_video-source.cc10
-rw-r--r--graphics/variety/Makefile3
-rw-r--r--graphics/vhs/Makefile2
-rw-r--r--graphics/vigra/Makefile2
-rw-r--r--graphics/viu/Makefile2
-rw-r--r--graphics/vulkan-tools/Makefile4
-rw-r--r--graphics/vulkan-tools/distinfo4
-rw-r--r--graphics/waifu2x-ncnn-vulkan/Makefile13
-rw-r--r--graphics/waifu2x-ncnn-vulkan/distinfo14
-rw-r--r--graphics/wallhaven-cli/Makefile2
-rw-r--r--graphics/wayland/Makefile4
-rw-r--r--graphics/wayland/distinfo6
-rw-r--r--graphics/wayland/pkg-plist8
-rw-r--r--graphics/waylandpp/Makefile4
-rw-r--r--graphics/waylandpp/distinfo6
-rw-r--r--graphics/wxsvg/Makefile3
-rw-r--r--graphics/wxsvg/distinfo6
-rw-r--r--graphics/ximaging/Makefile3
-rw-r--r--graphics/ximaging/distinfo6
-rw-r--r--graphics/xmlgraphics-commons/Makefile8
-rw-r--r--graphics/xmlgraphics-commons/distinfo6
-rw-r--r--graphics/xv/Makefile2
-rw-r--r--graphics/xv/distinfo6
-rw-r--r--graphics/xviewer/Makefile2
-rw-r--r--graphics/yafaray/Makefile2
-rw-r--r--graphics/zathura-pdf-mupdf/Makefile2
-rw-r--r--graphics/zathura-pdf-mupdf/files/patch-meson.build58
-rw-r--r--graphics/zathura/Makefile13
-rw-r--r--graphics/zathura/distinfo6
-rw-r--r--graphics/zathura/pkg-plist1
-rw-r--r--graphics/zeno/Makefile4
436 files changed, 3599 insertions, 1806 deletions
diff --git a/graphics/Coin/Makefile b/graphics/Coin/Makefile
index 43cb74d110b7..1d031a7d7e74 100644
--- a/graphics/Coin/Makefile
+++ b/graphics/Coin/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Coin
-PORTVERSION= 4.0.4
+PORTVERSION= 4.0.5
DISTVERSIONPREFIX= v
CATEGORIES= graphics
diff --git a/graphics/Coin/distinfo b/graphics/Coin/distinfo
index b2c6eeb82786..7cc7a285b266 100644
--- a/graphics/Coin/distinfo
+++ b/graphics/Coin/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750875175
-SHA256 (coin3d-coin-v4.0.4_GH0.tar.gz) = 4cf2c2ae0dec99d99842b35fb0186a3ca48ef33ee3b91efc0cd632b05fb5ad05
-SIZE (coin3d-coin-v4.0.4_GH0.tar.gz) = 6951664
+TIMESTAMP = 1754387694
+SHA256 (coin3d-coin-v4.0.5_GH0.tar.gz) = 4bd23e11f0934ce8311497770d2f9e89703e6876c232831f004fcdd496e5f5a6
+SIZE (coin3d-coin-v4.0.5_GH0.tar.gz) = 6953433
diff --git a/graphics/Coin/pkg-plist b/graphics/Coin/pkg-plist
index c61489e8f193..28958fb59016 100644
--- a/graphics/Coin/pkg-plist
+++ b/graphics/Coin/pkg-plist
@@ -881,7 +881,7 @@ lib/cmake/Coin-%%VERSION%%/coin-export-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Coin-%%VERSION%%/coin-export.cmake
lib/libCoin.so
lib/libCoin.so.80
-lib/libCoin.so.80.0.4
+lib/libCoin.so.80.0.5
libdata/pkgconfig/Coin.pc
%%DATADIR%%/conf/coin-default.cfg
%%DATADIR%%/draggerDefaults/centerballDragger.iv
diff --git a/graphics/ImageMagick6/Makefile b/graphics/ImageMagick6/Makefile
index df0e194cfc1d..3fb6a33cef5d 100644
--- a/graphics/ImageMagick6/Makefile
+++ b/graphics/ImageMagick6/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ImageMagick
DISTVERSION= 6.9.13-23
-PORTREVISION= 2
+PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= graphics perl5
MASTER_SITES= https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/releases/ \
diff --git a/graphics/ImageMagick7/Makefile b/graphics/ImageMagick7/Makefile
index 613932d6c4d2..cb75395fb18f 100644
--- a/graphics/ImageMagick7/Makefile
+++ b/graphics/ImageMagick7/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ImageMagick
DISTVERSION= 7.1.1-45
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics perl5
MASTER_SITES= https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/releases/ \
https://mirror.dogado.de/imagemagick/releases/ \
diff --git a/graphics/Makefile b/graphics/Makefile
index 71716649bbcd..8b9be1162c54 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -118,7 +118,6 @@
SUBDIR += compupic
SUBDIR += converseen
SUBDIR += corrupter
- SUBDIR += cosmoplayer
SUBDIR += cptutils
SUBDIR += crw
SUBDIR += ctl
@@ -348,6 +347,7 @@
SUBDIR += hs-tart
SUBDIR += hugin
SUBDIR += hyprgraphics
+ SUBDIR += hyprland-protocols
SUBDIR += icat
SUBDIR += icc-profiles-adobe-cs4
SUBDIR += icc-profiles-basiccolor
diff --git a/graphics/R-cran-pROC/Makefile b/graphics/R-cran-pROC/Makefile
index 0a502a559d8e..c7ce0333efbc 100644
--- a/graphics/R-cran-pROC/Makefile
+++ b/graphics/R-cran-pROC/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pROC
-PORTVERSION= 1.18.5
+PORTVERSION= 1.19.0.1
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${PORTVERSION}
@@ -9,8 +9,7 @@ WWW= https://cran.r-project.org/web/packages/pROC/
LICENSE= GPLv3
-RUN_DEPENDS= R-cran-plyr>0:devel/R-cran-plyr \
- R-cran-Rcpp>=0.11.1:devel/R-cran-Rcpp
+RUN_DEPENDS= R-cran-Rcpp>=0.11.1:devel/R-cran-Rcpp
USES= cran:auto-plist,compiles
diff --git a/graphics/R-cran-pROC/distinfo b/graphics/R-cran-pROC/distinfo
index 484c86cfe755..5fb4f891e850 100644
--- a/graphics/R-cran-pROC/distinfo
+++ b/graphics/R-cran-pROC/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1699060160
-SHA256 (pROC_1.18.5.tar.gz) = 5593c841a6df5a2f2d209d0c14401971eb9427092ed9c3ac2059273807b42c89
-SIZE (pROC_1.18.5.tar.gz) = 696162
+TIMESTAMP = 1754244417
+SHA256 (pROC_1.19.0.1.tar.gz) = f161ed071a3c45192f0faf4ab37237f12bed9334e954e5e041ba98078c70e619
+SIZE (pROC_1.19.0.1.tar.gz) = 449573
diff --git a/graphics/R-cran-pixmap/Makefile b/graphics/R-cran-pixmap/Makefile
index 41bba8572dd2..ad92dfbeae88 100644
--- a/graphics/R-cran-pixmap/Makefile
+++ b/graphics/R-cran-pixmap/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pixmap
-DISTVERSION= 0.4-13
+DISTVERSION= 0.4-14
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${DISTVERSION}
diff --git a/graphics/R-cran-pixmap/distinfo b/graphics/R-cran-pixmap/distinfo
index 0ad84fc537b2..fce36055ba70 100644
--- a/graphics/R-cran-pixmap/distinfo
+++ b/graphics/R-cran-pixmap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1714829283
-SHA256 (pixmap_0.4-13.tar.gz) = e3dbc641a0497575b45a4140dadc6bf43cdf39b02393f93f1b0ee4f4d026e711
-SIZE (pixmap_0.4-13.tar.gz) = 34980
+TIMESTAMP = 1753596798
+SHA256 (pixmap_0.4-14.tar.gz) = 26710c931f95b89b66b50e3ee1c4b6e1ba383b8067f80b3d7de2f0d58cb9fa9e
+SIZE (pixmap_0.4-14.tar.gz) = 37054
diff --git a/graphics/aeskulap/Makefile b/graphics/aeskulap/Makefile
index 7b6f14a20309..502dda98028f 100644
--- a/graphics/aeskulap/Makefile
+++ b/graphics/aeskulap/Makefile
@@ -1,13 +1,13 @@
PORTNAME= aeskulap
PORTVERSION= 0.2.2.20190120
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
MAINTAINER= danfe@FreeBSD.org
-COMMENT= Medical image viewer
+COMMENT= Medical image viewer and DICOM network client
WWW= https://aeskulap.nongnu.org/
-LICENSE= GPLv2
+LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libdcmimage.so:graphics/dcmtk \
@@ -19,15 +19,21 @@ LIB_DEPENDS= libdcmimage.so:graphics/dcmtk \
USES= compiler:c++11-lang autoreconf desktop-file-utils gettext \
gmake gnome jpeg libtool localbase pkgconfig
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-static --with-gsettings
+GLIB_SCHEMAS= org.gnu.aeskulap.gschema.xml
+INSTALL_TARGET= install-strip
USE_GITHUB= yes
GH_ACCOUNT= mikhailnov
GH_TAGNAME= e43334e
USE_CXXSTD= c++11
-USE_GNOME= gconfmm26 gtkmm24 intltool libglade2
+USE_GNOME= gtkmm24 intltool libglade2
USE_LDCONFIG= ${PREFIX}/lib/aeskulap
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --disable-static
-INSTALL_TARGET= install-strip
+post-patch:
+ @${REINPLACE_CMD} -e '/^AM_GCONF_SOURCE_2/,+1d' \
+ ${WRKSRC}/configure.ac
+ @${REINPLACE_CMD} -e '/^if GCONF_SCHEMAS_INSTALL/,+3d' \
+ ${WRKSRC}/src/Makefile.am
.include <bsd.port.mk>
diff --git a/graphics/aeskulap/pkg-plist b/graphics/aeskulap/pkg-plist
index 2be82d9dcde0..823f35166a3d 100644
--- a/graphics/aeskulap/pkg-plist
+++ b/graphics/aeskulap/pkg-plist
@@ -26,7 +26,6 @@ lib/aeskulap/libimagepool.so
%%DATADIR%%/images/stock-tool-scale-22.png
share/appdata/aeskulap.appdata.xml
share/applications/aeskulap.desktop
-share/glib-2.0/schemas/org.gnu.aeskulap.gschema.xml
share/icons/hicolor/64x64/apps/aeskulap.png
share/icons/hicolor/scalable/apps/aeskulap.svg
share/locale/de/LC_MESSAGES/aeskulap.mo
diff --git a/graphics/alembic/Makefile b/graphics/alembic/Makefile
index e7bf6b7afd80..c0704c2247de 100644
--- a/graphics/alembic/Makefile
+++ b/graphics/alembic/Makefile
@@ -1,5 +1,6 @@
PORTNAME= alembic
PORTVERSION= 1.8.7
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= danfe@FreeBSD.org
diff --git a/graphics/ampasCTL/Makefile b/graphics/ampasCTL/Makefile
index 08f86d87ba8a..149e773dc8a5 100644
--- a/graphics/ampasCTL/Makefile
+++ b/graphics/ampasCTL/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ampasCTL
PORTVERSION= 1.5.2
-PORTREVISION= 22
+PORTREVISION= 23
CATEGORIES= graphics devel
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/appleseed/Makefile b/graphics/appleseed/Makefile
index 9c55cf754ec9..2a23983eb15d 100644
--- a/graphics/appleseed/Makefile
+++ b/graphics/appleseed/Makefile
@@ -1,6 +1,6 @@
PORTNAME= appleseed
DISTVERSION= 2.1.0-beta
-PORTREVISION= 19
+PORTREVISION= 20
CATEGORIES= graphics
PATCH_SITES= http://vault.101011010.xyz/distfiles/ LOCAL/danfe
diff --git a/graphics/art/Makefile b/graphics/art/Makefile
index ec539439e9a8..f5fdf56115ec 100644
--- a/graphics/art/Makefile
+++ b/graphics/art/Makefile
@@ -1,5 +1,6 @@
PORTNAME= art
DISTVERSION= 1.25.6
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= https://github.com/artpixls/ART/releases/download/${DISTVERSION}/
PKGNAMESUFFIX= -raw-image-editor
diff --git a/graphics/artem/Makefile b/graphics/artem/Makefile
index 08e13aef8946..402811050f33 100644
--- a/graphics/artem/Makefile
+++ b/graphics/artem/Makefile
@@ -1,7 +1,7 @@
PORTNAME= artem
DISTVERSIONPREFIX= v
DISTVERSION= 3.0.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics
MAINTAINER= adamw@FreeBSD.org
diff --git a/graphics/asciinema-agg/Makefile b/graphics/asciinema-agg/Makefile
index b2f1508a487b..f4f36382870f 100644
--- a/graphics/asciinema-agg/Makefile
+++ b/graphics/asciinema-agg/Makefile
@@ -1,7 +1,7 @@
PORTNAME= agg
DISTVERSIONPREFIX= v
DISTVERSION= 1.5.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
PKGNAMEPREFIX= asciinema-
diff --git a/graphics/atril-lite/Makefile b/graphics/atril-lite/Makefile
index 5e8090849b5f..ad9afd45d0f5 100644
--- a/graphics/atril-lite/Makefile
+++ b/graphics/atril-lite/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 1
+PORTREVISION= 2
PKGNAMESUFFIX= -lite
OPTIONS_EXCLUDE= CAJA DBUS
diff --git a/graphics/atril/Makefile b/graphics/atril/Makefile
index 30ac770dc533..4ef62a49a92f 100644
--- a/graphics/atril/Makefile
+++ b/graphics/atril/Makefile
@@ -3,7 +3,7 @@
PORTNAME= atril
PORTVERSION= 1.28.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics print mate
MASTER_SITES= MATE
DIST_SUBDIR= mate
diff --git a/graphics/birdfont/Makefile b/graphics/birdfont/Makefile
index 63d5c942b0f3..a070fe099f90 100644
--- a/graphics/birdfont/Makefile
+++ b/graphics/birdfont/Makefile
@@ -1,6 +1,6 @@
PORTNAME= birdfont
DISTVERSION= 2.33.4
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics x11-fonts
MASTER_SITES= https://birdfont.org/releases/
diff --git a/graphics/blender/Makefile b/graphics/blender/Makefile
index faacd6dcabee..d6e4b775ff80 100644
--- a/graphics/blender/Makefile
+++ b/graphics/blender/Makefile
@@ -1,6 +1,6 @@
PORTNAME= blender
DISTVERSION= 4.2.0
-PORTREVISION= 11
+PORTREVISION= 12
CATEGORIES= graphics multimedia
MASTER_SITES= http://download.blender.org/source/ \
http://mirror.cs.umn.edu/blender.org/source/ \
diff --git a/graphics/camerakit/Makefile b/graphics/camerakit/Makefile
index 1d39f2e3dfa4..95cc0a70aa18 100644
--- a/graphics/camerakit/Makefile
+++ b/graphics/camerakit/Makefile
@@ -1,6 +1,6 @@
PORTNAME= camerakit
PORTVERSION= 0.0.1
-PORTREVISION= 15
+PORTREVISION= 16
CATEGORIES= graphics gnustep
MASTER_SITES= http://download.gna.org/gsimageapps/
DISTNAME= CameraKit-20041011
diff --git a/graphics/cegui/Makefile b/graphics/cegui/Makefile
index 4a438e16234d..5d355ea7a2ca 100644
--- a/graphics/cegui/Makefile
+++ b/graphics/cegui/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cegui
PORTVERSION= 0.8.7
-PORTREVISION= 21
+PORTREVISION= 22
CATEGORIES= graphics devel
MASTER_SITES= SF/crayzedsgui/CEGUI%20Mk-2/0.8
diff --git a/graphics/cenon/Makefile b/graphics/cenon/Makefile
index d46f3842b7c1..dd5609e5ba6e 100644
--- a/graphics/cenon/Makefile
+++ b/graphics/cenon/Makefile
@@ -2,7 +2,7 @@ PORTNAME= cenon
# Per r492056, 4.0.2 is the last version which actually works with GNUstep,
# the later ones use XCode >= 5 .xib files which GNUstep cannot parse.
PORTVERSION= 4.0.2
-PORTREVISION= 6
+PORTREVISION= 7
PORTEPOCH= 1
CATEGORIES= graphics gnustep
MASTER_SITES= http://www.cenon.zone/download/source/
diff --git a/graphics/chafa/Makefile b/graphics/chafa/Makefile
index 73358ab85dec..b4d8a6adb653 100644
--- a/graphics/chafa/Makefile
+++ b/graphics/chafa/Makefile
@@ -1,5 +1,6 @@
PORTNAME= chafa
DISTVERSION= 1.16.2
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://hpjansson.org/chafa/releases/ \
https://github.com/hpjansson/chafa/releases/download/${PORTVERSION}/
diff --git a/graphics/cimg/Makefile b/graphics/cimg/Makefile
index b881bd920b6d..e607a65ce798 100644
--- a/graphics/cimg/Makefile
+++ b/graphics/cimg/Makefile
@@ -1,6 +1,7 @@
PORTNAME= cimg
DISTVERSIONPREFIX= v.
DISTVERSION= 3.5.5
+PORTREVISION= 1
PORTEPOCH= 3
CATEGORIES= graphics devel
diff --git a/graphics/colmap/Makefile b/graphics/colmap/Makefile
index 47977c264e01..eb5f3a155473 100644
--- a/graphics/colmap/Makefile
+++ b/graphics/colmap/Makefile
@@ -1,5 +1,5 @@
PORTNAME= colmap
-DISTVERSION= 3.12.1
+DISTVERSION= 3.12.5
CATEGORIES= graphics
MAINTAINER= fuz@FreeBSD.org
@@ -32,7 +32,7 @@ USE_CXXSTD= c++17
USE_GITHUB= yes
USE_GL= gl glew
USE_QT= core gui widgets buildtools:build opengl:build qmake:build
-CMAKE_OFF= BOOST_STATIC CUDA_ENABLED FETCH_FAISS FETCH_POSELIB
+CMAKE_OFF= CUDA_ENABLED FETCH_FAISS FETCH_POSELIB
CMAKE_TESTING_ON= TESTS_ENABLED
LDFLAGS+= -Wl,--as-needed # gflags, glu, xi, xmu
diff --git a/graphics/colmap/distinfo b/graphics/colmap/distinfo
index ac3ae55ad257..08882ff634f1 100644
--- a/graphics/colmap/distinfo
+++ b/graphics/colmap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751922819
-SHA256 (colmap-colmap-3.12.1_GH0.tar.gz) = 366496caca43e73a1e61c7ebd9dee51d5b2afe15c0e75e16ebad6cfae6f2860b
-SIZE (colmap-colmap-3.12.1_GH0.tar.gz) = 3577466
+TIMESTAMP = 1756392724
+SHA256 (colmap-colmap-3.12.5_GH0.tar.gz) = 93dfb220cce24d988506bbb1d27d4278eacfd4e372df61d380559d414c1bd9e4
+SIZE (colmap-colmap-3.12.5_GH0.tar.gz) = 3584697
diff --git a/graphics/colord-kde/distinfo b/graphics/colord-kde/distinfo
index d5adadbb20be..1d6fb37362d8 100644
--- a/graphics/colord-kde/distinfo
+++ b/graphics/colord-kde/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381448
-SHA256 (KDE/release-service/25.04.3/colord-kde-25.04.3.tar.xz) = bcebe47737750d066e9c5560a7f9398bbe6327cf265714b3c708a4d1d6ea1803
-SIZE (KDE/release-service/25.04.3/colord-kde-25.04.3.tar.xz) = 120080
+TIMESTAMP = 1754646358
+SHA256 (KDE/release-service/25.08.0/colord-kde-25.08.0.tar.xz) = 73a619de531c76086973efce0ee1a1520bd385cff2e5708e2921123354c4552a
+SIZE (KDE/release-service/25.08.0/colord-kde-25.08.0.tar.xz) = 120040
diff --git a/graphics/colord/Makefile b/graphics/colord/Makefile
index 63e69fbe064c..f718a264eb06 100644
--- a/graphics/colord/Makefile
+++ b/graphics/colord/Makefile
@@ -1,6 +1,5 @@
PORTNAME= colord
-PORTVERSION= 1.4.7
-PORTREVISION= 3
+PORTVERSION= 1.4.8
CATEGORIES= graphics
MASTER_SITES= https://www.freedesktop.org/software/colord/releases/
@@ -21,7 +20,7 @@ USERS= colord
GROUPS= colord
USES= gettext gnome localbase meson pathfix pkgconfig sqlite tar:xz
-USE_GNOME= glib20 intlhack introspection:build
+USE_GNOME= glib20 introspection:build
USE_LDCONFIG= yes
MAKE_JOBS_UNSAFE= yes
@@ -30,8 +29,6 @@ MESON_ARGS= -Dsystemd=false -Dudev_rules=false \
-Ddaemon_user=colord -Dlibcolordcompat=true \
-Dpnp_ids=${LOCALBASE}/share/hwdata/pnp.ids
-INSTALL_TARGET= install-strip
-
GLIB_SCHEMAS= org.freedesktop.ColorHelper.gschema.xml
OPTIONS_SUB= yes
diff --git a/graphics/colord/distinfo b/graphics/colord/distinfo
index 49a6c44e2f48..ae4043fd26e7 100644
--- a/graphics/colord/distinfo
+++ b/graphics/colord/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1706352311
-SHA256 (colord-1.4.7.tar.xz) = de02d9910634ae159547585cec414e450f711c27235453b4f9b38a9f2361a653
-SIZE (colord-1.4.7.tar.xz) = 1799168
+TIMESTAMP = 1752498060
+SHA256 (colord-1.4.8.tar.xz) = 21500bd68975312a7f0f3ce6019d9f75f42aacaa75ca7115ec720b5445406896
+SIZE (colord-1.4.8.tar.xz) = 1916884
diff --git a/graphics/colord/pkg-plist b/graphics/colord/pkg-plist
index af630fcf5adb..3e1d4c2f308b 100644
--- a/graphics/colord/pkg-plist
+++ b/graphics/colord/pkg-plist
@@ -167,7 +167,10 @@ share/dbus-1/system-services/org.freedesktop.ColorManager.service
share/dbus-1/system.d/org.freedesktop.ColorManager.conf
share/gir-1.0/Colord-1.0.gir
share/gir-1.0/Colorhug-1.0.gir
+share/locale/ar/LC_MESSAGES/colord.mo
share/locale/as/LC_MESSAGES/colord.mo
+share/locale/be/LC_MESSAGES/colord.mo
+share/locale/bg/LC_MESSAGES/colord.mo
share/locale/bn_IN/LC_MESSAGES/colord.mo
share/locale/ca/LC_MESSAGES/colord.mo
share/locale/cs/LC_MESSAGES/colord.mo
@@ -222,6 +225,7 @@ share/locale/tr/LC_MESSAGES/colord.mo
share/locale/uk/LC_MESSAGES/colord.mo
share/locale/zh_CN/LC_MESSAGES/colord.mo
share/locale/zh_TW/LC_MESSAGES/colord.mo
+share/metainfo/org.freedesktop.colord.metainfo.xml
share/polkit-1/actions/org.freedesktop.color.policy
%%VALA%%share/vala/vapi/colord.vapi
%%VALA%%share/vala/vapi/colord.deps
diff --git a/graphics/converseen/Makefile b/graphics/converseen/Makefile
index 61fd7adba787..3aca9d293f89 100644
--- a/graphics/converseen/Makefile
+++ b/graphics/converseen/Makefile
@@ -1,6 +1,6 @@
PORTNAME= converseen
DISTVERSIONPREFIX= v
-DISTVERSION= 0.15.0.1
+DISTVERSION= 0.15.0.2
CATEGORIES= graphics
MAINTAINER= fernape@FreeBSD.org
diff --git a/graphics/converseen/distinfo b/graphics/converseen/distinfo
index 21f318515921..3e42924272cf 100644
--- a/graphics/converseen/distinfo
+++ b/graphics/converseen/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751800958
-SHA256 (Faster3ck-Converseen-v0.15.0.1_GH0.tar.gz) = 0e7f7731f660537eb2d360b5adbf535e5959892384d7c81083224a73bc685ce2
-SIZE (Faster3ck-Converseen-v0.15.0.1_GH0.tar.gz) = 968202
+TIMESTAMP = 1753035735
+SHA256 (Faster3ck-Converseen-v0.15.0.2_GH0.tar.gz) = 28f8de8dda81f7500fd03686473bce96731792cd01b3b2f913e3491d91386206
+SIZE (Faster3ck-Converseen-v0.15.0.2_GH0.tar.gz) = 968737
diff --git a/graphics/corrupter/Makefile b/graphics/corrupter/Makefile
index c2b1d99bb442..8f3b7fe970fb 100644
--- a/graphics/corrupter/Makefile
+++ b/graphics/corrupter/Makefile
@@ -1,7 +1,7 @@
PORTNAME= corrupter
DISTVERSIONPREFIX= v
DISTVERSION= 1.0
-PORTREVISION= 27
+PORTREVISION= 28
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/cosmoplayer/Makefile b/graphics/cosmoplayer/Makefile
deleted file mode 100644
index bfe3a5186802..000000000000
--- a/graphics/cosmoplayer/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-PORTNAME= cosmoplayer
-PORTVERSION= 2.1.1
-PORTREVISION= 2
-CATEGORIES= graphics
-#MASTER_SITES= http://opendx.npaci.edu/libs/
-MASTER_SITES= http://distfiles.macports.org/${PORTNAME}/ \
- http://lil.fr.distfiles.macports.org/${PORTNAME}/ \
- http://ftp.leg.uct.ac.za/pub/packages/macports/distfiles/${PORTNAME}/
-DISTNAME= ${PORTNAME}-jar
-
-MAINTAINER= thierry@FreeBSD.org
-COMMENT= Java classes to support VRML
-WWW= http://cic.nist.gov/vrml/cosmoplayer.html
-
-LICENSE= SGI
-LICENSE_NAME= SGI
-LICENSE_FILE= ${WRKSRC}/License
-LICENSE_PERMS= dist-mirror dist-sell pkg-mirror auto-accept
-
-DEPRECATED= Abandonware
-EXPIRATION_DATE=2025-07-31
-
-RUN_DEPENDS= ${JAVALIBDIR}/java40.jar:devel/netscape-java40
-
-USES= java
-
-NO_BUILD= yes
-NO_ARCH= yes
-
-JARFILES= npcosmop211.jar
-
-PLIST_FILES= ${JARFILES:S|^|%%JAVAJARDIR%%/|}
-
-post-extract:
- ${MV} ${WRKDIR}/comsoplayer-jar ${WRKSRC}
-
-do-install:
- ${INSTALL_DATA} ${JARFILES:S|^|${WRKSRC}/|} ${STAGEDIR}${JAVAJARDIR}
-
-.include <bsd.port.mk>
diff --git a/graphics/cosmoplayer/distinfo b/graphics/cosmoplayer/distinfo
deleted file mode 100644
index 9b7e42670320..000000000000
--- a/graphics/cosmoplayer/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (cosmoplayer-jar.tar.gz) = 1a79351c2d5300c4e1ceb469852c922dcc24b6ac5a43859226749a35798b6d1e
-SIZE (cosmoplayer-jar.tar.gz) = 44698
diff --git a/graphics/cosmoplayer/pkg-descr b/graphics/cosmoplayer/pkg-descr
deleted file mode 100644
index d06eb5a1e3bb..000000000000
--- a/graphics/cosmoplayer/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-This jar file comes from Computer Associates / SGI Cosmo Player.
-It contains classes to support VRML.
-
-It is used by OpenDX.
diff --git a/graphics/ctl/Makefile b/graphics/ctl/Makefile
index 2893f004b773..d093a48c36c9 100644
--- a/graphics/ctl/Makefile
+++ b/graphics/ctl/Makefile
@@ -1,13 +1,10 @@
PORTNAME= ctl
DISTVERSIONPREFIX= ctl-
-DISTVERSION= 1.5.3
-PORTREVISION= 3
+DISTVERSION= 1.5.4
+PORTREVISION= 1
CATEGORIES= graphics lang
PKGNAMESUFFIX= -language
-PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= 3871cd7717fd184d9fbb667730d35f1a89391f09.patch:-p1 # FreeBSD compatibility patch: https://github.com/ampas/CTL/pull/145
-
MAINTAINER= yuri@FreeBSD.org
COMMENT= Color Transformation Language
WWW= https://github.com/ampas/CTL
@@ -37,4 +34,6 @@ DOCSDIR= share/doc/CTL
OPTIONS_DEFINE= DOCS
+# tests as of 1.5.4: 100% tests passed, 0 tests failed out of 220
+
.include <bsd.port.mk>
diff --git a/graphics/ctl/distinfo b/graphics/ctl/distinfo
index 831eccc6084e..3bfe3e31e920 100644
--- a/graphics/ctl/distinfo
+++ b/graphics/ctl/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1707022854
-SHA256 (ampas-CTL-ctl-1.5.3_GH0.tar.gz) = 0a9f5f3de8964ac5cca31597aca74bf915a3d8214e3276fdcb52c80ad25b0096
-SIZE (ampas-CTL-ctl-1.5.3_GH0.tar.gz) = 3073036
-SHA256 (3871cd7717fd184d9fbb667730d35f1a89391f09.patch) = 3a77003f3474569de39f3b4270cd033c9cf6d22dce4d551fb1edcd6eb0fee30c
-SIZE (3871cd7717fd184d9fbb667730d35f1a89391f09.patch) = 1653
+TIMESTAMP = 1754025845
+SHA256 (ampas-CTL-ctl-1.5.4_GH0.tar.gz) = fb84925320d053827fce965d7aeea5bb8690d7093bb083c8e3915d7a600e25fc
+SIZE (ampas-CTL-ctl-1.5.4_GH0.tar.gz) = 3079675
diff --git a/graphics/ctl/files/patch-OpenEXR__CTL_exrdpx_exrToDpx.cpp b/graphics/ctl/files/patch-OpenEXR__CTL_exrdpx_exrToDpx.cpp
deleted file mode 100644
index cd6d7ca72421..000000000000
--- a/graphics/ctl/files/patch-OpenEXR__CTL_exrdpx_exrToDpx.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
---- OpenEXR_CTL/exrdpx/exrToDpx.cpp.orig 2024-01-04 19:41:17 UTC
-+++ OpenEXR_CTL/exrdpx/exrToDpx.cpp
-@@ -169,13 +169,13 @@ writePixels
- const Rgba &pixel = pixels[y][x];
-
- unsigned int r =
-- (unsigned int) (clamp (float (pixel.r), 0.0f, 1023.0f) + 0.5f);
-+ (unsigned int) (std::clamp (float (pixel.r), 0.0f, 1023.0f) + 0.5f);
-
- unsigned int g =
-- (unsigned int) (clamp (float (pixel.g), 0.0f, 1023.0f) + 0.5f);
-+ (unsigned int) (std::clamp (float (pixel.g), 0.0f, 1023.0f) + 0.5f);
-
- unsigned int b =
-- (unsigned int) (clamp (float (pixel.b), 0.0f, 1023.0f) + 0.5f);
-+ (unsigned int) (std::clamp (float (pixel.b), 0.0f, 1023.0f) + 0.5f);
-
- unsigned int word = (r << 22) | (g << 12) | (b << 2);
-
diff --git a/graphics/ctl/pkg-plist b/graphics/ctl/pkg-plist
index b797b5f996f1..03942c64867b 100644
--- a/graphics/ctl/pkg-plist
+++ b/graphics/ctl/pkg-plist
@@ -26,12 +26,17 @@ include/CTL/CtlTypeStorage.h
include/CTL/CtlVersion.h
include/OpenEXR/ImfCtlApplyTransforms.h
lib/libIlmCtl.so
-lib/libIlmCtl.so.1.5.3
+lib/libIlmCtl.so.1.5
+lib/libIlmCtl.so.1.5.4
lib/libIlmCtlMath.so
-lib/libIlmCtlMath.so.1.5.3
+lib/libIlmCtlMath.so.1.5
+lib/libIlmCtlMath.so.1.5.4
lib/libIlmCtlSimd.so
-lib/libIlmCtlSimd.so.1.5.3
+lib/libIlmCtlSimd.so.1.5
+lib/libIlmCtlSimd.so.1.5.4
lib/libIlmImfCtl.so
+lib/libIlmImfCtl.so.1.5
+lib/libIlmImfCtl.so.1.5.4
%%DATADIR%%/change_saturation.ctl
%%DATADIR%%/transform_DPX_EXR.ctl
%%DATADIR%%/transform_EXR_DPX.ctl
diff --git a/graphics/d2/Makefile b/graphics/d2/Makefile
index dfe50e8daa69..75ce14561ced 100644
--- a/graphics/d2/Makefile
+++ b/graphics/d2/Makefile
@@ -1,7 +1,6 @@
PORTNAME= d2
DISTVERSIONPREFIX= v
-DISTVERSION= 0.7.0
-PORTREVISION= 3
+DISTVERSION= 0.7.1
CATEGORIES= graphics
MAINTAINER= adamw@FreeBSD.org
diff --git a/graphics/d2/distinfo b/graphics/d2/distinfo
index c3ac3bf0f2b3..a0f0850ca4e0 100644
--- a/graphics/d2/distinfo
+++ b/graphics/d2/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1746156043
-SHA256 (go/graphics_d2/d2-v0.7.0/v0.7.0.mod) = 0057e910e9c13228f6fdff27f79314e9db5d78d9d8e023d9de36169548c7988e
-SIZE (go/graphics_d2/d2-v0.7.0/v0.7.0.mod) = 2267
-SHA256 (go/graphics_d2/d2-v0.7.0/v0.7.0.zip) = bebb249eb3a963c46167a269f1431f20e30bc3821ea915fe625358039e69f702
-SIZE (go/graphics_d2/d2-v0.7.0/v0.7.0.zip) = 30467544
+TIMESTAMP = 1755614907
+SHA256 (go/graphics_d2/d2-v0.7.1/v0.7.1.mod) = 3e80ff104186c4966c030fd807ef143fed3e92d551a7da48b1ffbbc830624810
+SIZE (go/graphics_d2/d2-v0.7.1/v0.7.1.mod) = 2278
+SHA256 (go/graphics_d2/d2-v0.7.1/v0.7.1.zip) = 0793db1dcb02a011f278d2c01f870eeb04d941464f64ed1d376d1b22eda257f8
+SIZE (go/graphics_d2/d2-v0.7.1/v0.7.1.zip) = 32485253
diff --git a/graphics/darktable/Makefile b/graphics/darktable/Makefile
index 170a419ea86c..58e9836264df 100644
--- a/graphics/darktable/Makefile
+++ b/graphics/darktable/Makefile
@@ -1,6 +1,6 @@
PORTNAME= darktable
-PORTVERSION= 5.2.0
-PORTREVISION= 0
+PORTVERSION= 5.2.1
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://github.com/darktable-org/${PORTNAME}/releases/download/release-${PORTVERSION:C/\.rc/rc/}/
diff --git a/graphics/darktable/distinfo b/graphics/darktable/distinfo
index b061c37997b9..137cdbfe3da3 100644
--- a/graphics/darktable/distinfo
+++ b/graphics/darktable/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751715144
-SHA256 (darktable-5.2.0.tar.xz) = 53a46cd46ef7118485c4abf4ab407c181639bb8634243ec0ed1f7c1e8299bec6
-SIZE (darktable-5.2.0.tar.xz) = 7319420
+TIMESTAMP = 1755067613
+SHA256 (darktable-5.2.1.tar.xz) = 02f1aa9ae93949e7bc54c34eeb5ff92c2b87f95d2547865df55c60467564ee11
+SIZE (darktable-5.2.1.tar.xz) = 7445076
diff --git a/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748 b/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748
deleted file mode 100644
index 4127a55bb2ba..000000000000
--- a/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748
+++ /dev/null
@@ -1,85 +0,0 @@
-From 0cc770a2e21ced661c5363c5733eb13ac7433748 Mon Sep 17 00:00:00 2001
-From: Martin Straeten <39386816+MStraeten@users.noreply.github.com>
-Date: Fri, 27 Jun 2025 17:06:45 +0200
-Subject: [PATCH] reset window placement if last position is out of available
- display space (#18988)
-
-* reset window if position is out of display space
-
-on initialisation darktable moves the window to the last position even thats outside of the available displays.
-
-_valid_window_placement checks for an overlay with an existing display
-
-dt_gui_gtk_load_config() resets position to default if there's no overlap
-
-* 24 pixel as a border
-
-a border of 24 pixels is used to define the effective area that must be overlapped from the last window position to avoid a reset of position
-
-* stile fixes
-
-one parameter per line
-several const additions
----
- src/gui/gtk.c | 41 ++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 40 insertions(+), 1 deletion(-)
-
-diff --git a/src/gui/gtk.c b/src/gui/gtk.c
-index 671d87345850..a620dcb42332 100644
---- src/gui/gtk.c
-+++ b/src/gui/gtk.c
-@@ -773,6 +773,42 @@ static gboolean _scrollbar_changed(GtkWidget *widget,
- return TRUE;
- }
-
-+gboolean _valid_window_placement( const gint saved_x,
-+ const gint saved_y,
-+ const gint window_width,
-+ const gint window_height,
-+ const gint border)
-+{
-+ GdkDisplay *display = gdk_display_get_default();
-+ const gint n_monitors = gdk_display_get_n_monitors(display);
-+
-+ // check each monitor
-+ for(gint i = 0; i < n_monitors; i++)
-+ {
-+ GdkMonitor *monitor = gdk_display_get_monitor(display, i);
-+ GdkRectangle geometry;
-+ gdk_monitor_get_geometry(monitor, &geometry);
-+
-+ // Calculate effective area excluding border
-+ const gint eff_x = geometry.x + border;
-+ const gint eff_y = geometry.y + border;
-+ const gint eff_width = geometry.width - (2 * border);
-+ const gint eff_height = geometry.height - (2 * border);
-+
-+ if(eff_width <= 0 || eff_height <= 0) continue;
-+
-+ // Check overlap
-+ const gboolean x_overlap = (saved_x < eff_x + eff_width) && (saved_x + window_width > eff_x);
-+ const gboolean y_overlap = (saved_y < eff_y + eff_height) && (saved_y + window_height > eff_y);
-+
-+ if(x_overlap && y_overlap)
-+ {
-+ return TRUE;
-+ }
-+ }
-+ return FALSE;
-+}
-+
- int dt_gui_gtk_load_config()
- {
- dt_pthread_mutex_lock(&darktable.gui->mutex);
-@@ -784,7 +820,10 @@ int dt_gui_gtk_load_config()
- const gint y = MAX(0, dt_conf_get_int("ui_last/window_y"));
-
- gtk_window_resize(GTK_WINDOW(widget), width, height);
-- gtk_window_move(GTK_WINDOW(widget), x, y);
-+ if(_valid_window_placement(x, y, width, height, 24))
-+ gtk_window_move(GTK_WINDOW(widget), x, y);
-+ else
-+ gtk_window_move(GTK_WINDOW(widget), 0, 0);
- const gboolean fullscreen = dt_conf_get_bool("ui_last/fullscreen");
-
- if(fullscreen)
diff --git a/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059 b/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059
deleted file mode 100644
index cabdbe858e29..000000000000
--- a/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059
+++ /dev/null
@@ -1,46 +0,0 @@
-From 5db7918176ca45a24e9ea5b2a7bdbce898343059 Mon Sep 17 00:00:00 2001
-From: Mario Zimmermann <mail@zisoft.de>
-Date: Mon, 23 Jun 2025 13:36:33 +0200
-Subject: [PATCH] use full metadata tag name for variable substitution
-
----
- src/common/variables.c | 4 +---
- src/gui/gtkentry.c | 2 +-
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/src/common/variables.c b/src/common/variables.c
-index b8deed704af0..2746a7cf8647 100644
---- src/common/variables.c
-+++ b/src/common/variables.c
-@@ -953,9 +953,8 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable)
- for(GList* iter = dt_metadata_get_list(); iter; iter = iter->next)
- {
- dt_metadata_t *metadata = (dt_metadata_t *)iter->data;
-- gchar *prefix = g_utf8_strup(dt_metadata_get_tag_subkey(metadata->tagname), -1);
- gboolean found = FALSE;
-- if(_has_prefix(variable, prefix))
-+ if(_has_prefix(variable, metadata->tagname))
- {
- GList *res = dt_metadata_get(params->imgid, metadata->tagname, NULL);
- if(res != NULL)
-@@ -963,7 +962,6 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable)
- g_list_free_full(res, g_free);
- found = TRUE;
- }
-- g_free(prefix);
- if(found) break;
- }
- dt_pthread_mutex_unlock(&darktable.metadata_threadsafe);
-diff --git a/src/gui/gtkentry.c b/src/gui/gtkentry.c
-index b4acc9ccc8ad..db200eff47a9 100644
---- src/gui/gtkentry.c
-+++ b/src/gui/gtkentry.c
-@@ -291,7 +291,7 @@ void dt_gtkentry_variables_add_metadata(dt_metadata_t *metadata)
- {
- GtkTreeIter iter;
-
-- gchar *varname = g_utf8_strup(dt_metadata_get_tag_subkey(metadata->tagname), -1);
-+ gchar *varname = g_strdup(metadata->tagname);
- gchar *description = g_strdup_printf("$(%s) - %s", varname, _("from metadata"));
- gtk_list_store_append(_completion_model, &iter);
- gtk_list_store_set(_completion_model, &iter,
diff --git a/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af b/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af
deleted file mode 100644
index 2cf87c412f38..000000000000
--- a/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af
+++ /dev/null
@@ -1,23 +0,0 @@
-From 727ad35663589dc046c557787f0c1c34a45fb4af Mon Sep 17 00:00:00 2001
-From: Hanno Schwalm <hanno@schwalm-bremen.de>
-Date: Sun, 29 Jun 2025 06:07:42 +0200
-Subject: [PATCH] Fix non-raw OpenCL rastermask codepath
-
-Using the correct OpenCL interpolator
----
- src/iop/rasterfile.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/iop/rasterfile.c b/src/iop/rasterfile.c
-index 9f774b3c86cb..4e582861be70 100644
---- src/iop/rasterfile.c
-+++ b/src/iop/rasterfile.c
-@@ -378,7 +378,7 @@ int process_cl(dt_iop_module_t *self,
- if(visual) return err;
-
- if(roi_out->scale != roi_in->scale && ch == 4)
-- err = dt_iop_clip_and_zoom_roi_cl(devid, dev_out, dev_in, roi_out, roi_in);
-+ err = dt_iop_clip_and_zoom_cl(devid, dev_out, dev_in, roi_out, roi_in);
- else
- {
- size_t iorigin[] = { roi_out->x, roi_out->y, 0 };
diff --git a/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b b/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b
deleted file mode 100644
index 666c92431acb..000000000000
--- a/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b
+++ /dev/null
@@ -1,154 +0,0 @@
-From b4e81416381fd7a1e189a4fc4d8b3836906ddd2b Mon Sep 17 00:00:00 2001
-From: Pascal Obry <pascal@obry.net>
-Date: Tue, 17 Jun 2025 17:35:04 +0200
-Subject: [PATCH] Fix memory leak when using dt_util_localize_segmented_name.
-
----
- src/common/history.c | 8 +++++---
- src/common/presets.c | 14 +++++++-------
- src/common/presets.h | 8 ++++----
- src/develop/imageop.c | 6 +++++-
- src/gui/styles_dialog.c | 12 +++++++-----
- 5 files changed, 28 insertions(+), 20 deletions(-)
-
-diff --git a/src/common/history.c b/src/common/history.c
-index 94b370c140f7..3fa458999ed7 100644
---- src/common/history.c
-+++ b/src/common/history.c
-@@ -1,6 +1,6 @@
- /*
- This file is part of darktable,
-- Copyright (C) 2010-2024 darktable developers.
-+ Copyright (C) 2010-2025 darktable developers.
-
- darktable is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -1023,13 +1023,15 @@ char *dt_history_get_name_label(const char *name,
- }
- else
- {
-- const char *l_label = hand_edited
-- ? label
-+ char *l_label = hand_edited
-+ ? g_strdup (label)
- : dt_util_localize_segmented_name(label, FALSE);
-
- result = markup
- ? g_markup_printf_escaped("%s • <small>%s</small>", name, l_label)
- : g_markup_printf_escaped("%s • %s", name, l_label);
-+
-+ g_free(l_label);
- }
-
- return result;
-diff --git a/src/common/presets.c b/src/common/presets.c
-index a22dc8935c56..50fab77749dc 100644
---- src/common/presets.c
-+++ b/src/common/presets.c
-@@ -428,7 +428,7 @@ char *dt_presets_get_module_label(const char *module_name,
- const char *name = (const char *)sqlite3_column_text(stmt, 0);
- const char *multi_name = (const char *)sqlite3_column_text(stmt, 1);
- if(multi_name && (strlen(multi_name) == 0 || multi_name[0] != ' '))
-- result = g_strdup(dt_presets_get_multi_name(name, multi_name, FALSE));
-+ result = dt_presets_get_multi_name(name, multi_name, FALSE);
- }
- g_free(query);
- sqlite3_finalize(stmt);
-@@ -436,9 +436,9 @@ char *dt_presets_get_module_label(const char *module_name,
- return result;
- }
-
--const char *dt_presets_get_multi_name(const char *name,
-- const char *multi_name,
-- const gboolean localize)
-+char *dt_presets_get_multi_name(const char *name,
-+ const char *multi_name,
-+ const gboolean localize)
- {
- const gboolean auto_module = dt_conf_get_bool("darkroom/ui/auto_module_name_update");
-
-@@ -446,10 +446,10 @@ const char *dt_presets_get_multi_name(const char *name,
- // in non auto-update mode : use only the multi_name if defined
- if(auto_module)
- return strlen(multi_name) > 0
-- ? multi_name
-- : (localize ? dt_util_localize_segmented_name(name, FALSE) : name);
-+ ? g_strdup(multi_name)
-+ : (localize ? dt_util_localize_segmented_name(name, FALSE) : g_strdup(name));
- else
-- return strlen(multi_name) > 0 ? multi_name : "";
-+ return g_strdup(strlen(multi_name) > 0 ? multi_name : "");
- }
-
- // clang-format off
-diff --git a/src/common/presets.h b/src/common/presets.h
-index b493b543b1db..fe4c65fc3960 100644
---- src/common/presets.h
-+++ b/src/common/presets.h
-@@ -1,6 +1,6 @@
- /*
- This file is part of darktable,
-- Copyright (C) 2019-2023 darktable developers.
-+ Copyright (C) 2019-2025 darktable developers.
-
- darktable is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -42,9 +42,9 @@ char *dt_presets_get_module_label(const char *module_name,
- and the recorded preset's multi_name. This depends on the preference
- darkroom/ui/auto_module_name_update
- */
--const char *dt_presets_get_multi_name(const char *name,
-- const char *multi_name,
-- const gboolean localize);
-+char *dt_presets_get_multi_name(const char *name,
-+ const char *multi_name,
-+ const gboolean localize);
-
- /** get currently active preset name for the module */
- gchar *dt_get_active_preset_name(dt_iop_module_t *module, gboolean *writeprotect);
-diff --git a/src/develop/imageop.c b/src/develop/imageop.c
-index b2886b8d274e..13386fb6286b 100644
---- src/develop/imageop.c
-+++ b/src/develop/imageop.c
-@@ -1198,7 +1198,11 @@ static void _iop_panel_name(dt_iop_module_t *module)
- if(module->multi_name_hand_edited)
- new_label = g_strdup_printf("• %s", module->multi_name);
- else
-- new_label = g_strdup_printf("• %s", dt_util_localize_segmented_name(module->multi_name, FALSE));
-+ {
-+ char *loc = dt_util_localize_segmented_name(module->multi_name, FALSE);
-+ new_label = g_strdup_printf("• %s", loc);
-+ g_free(loc);
-+ }
- gtk_widget_set_name(GTK_WIDGET(iname), "iop-module-name");
- }
- }
-diff --git a/src/gui/styles_dialog.c b/src/gui/styles_dialog.c
-index c4fc24704e9f..75474de98793 100644
---- src/gui/styles_dialog.c
-+++ b/src/gui/styles_dialog.c
-@@ -1,6 +1,6 @@
- /*
- This file is part of darktable,
-- Copyright (C) 2010-2024 darktable developers.
-+ Copyright (C) 2010-2025 darktable developers.
-
- darktable is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -1003,10 +1003,12 @@ GtkWidget *dt_gui_style_content_dialog(char *name, const dt_imgid_t imgid)
-
- if(i->multi_name && strlen(i->multi_name) > 0)
- {
-- snprintf(mn, sizeof(mn), "(%s)",
-- i->multi_name_hand_edited
-- ? i->multi_name
-- : dt_util_localize_segmented_name(i->multi_name, TRUE));
-+ char *mname = i->multi_name_hand_edited
-+ ? g_strdup(i->multi_name)
-+ : dt_util_localize_segmented_name(i->multi_name, TRUE);
-+
-+ snprintf(mn, sizeof(mn), "(%s)", mname);
-+ g_free(mname);
- }
- else
- {
diff --git a/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642 b/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642
deleted file mode 100644
index 9b218f023472..000000000000
--- a/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642
+++ /dev/null
@@ -1,23 +0,0 @@
-From dd5e98050bbd3b726cf1577042f03de734eaf642 Mon Sep 17 00:00:00 2001
-From: Pascal Obry <pascal@obry.net>
-Date: Tue, 17 Jun 2025 17:34:51 +0200
-Subject: [PATCH] snapshots: Ensure the entry fill all the widget while
- editing.
-
----
- src/libs/snapshots.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libs/snapshots.c b/src/libs/snapshots.c
-index bf0909f757e7..9c2fd0c23c76 100644
---- src/libs/snapshots.c
-+++ b/src/libs/snapshots.c
-@@ -558,7 +558,7 @@ static void _init_snapshot_entry(dt_lib_module_t *self, dt_lib_snapshot_t *s)
- gtk_widget_set_halign(s->name, GTK_ALIGN_START);
-
- s->entry = gtk_entry_new();
-- gtk_widget_set_halign(s->entry, GTK_ALIGN_START);
-+ gtk_widget_set_halign(s->entry, GTK_ALIGN_FILL);
- g_signal_connect(G_OBJECT(s->entry), "activate",
- G_CALLBACK(_entry_activated_callback), self);
-
diff --git a/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712 b/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712
deleted file mode 100644
index 67331abd7b4c..000000000000
--- a/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712
+++ /dev/null
@@ -1,27 +0,0 @@
-From e00a758e6164389e845308f3615c3754dd04c712 Mon Sep 17 00:00:00 2001
-From: Mario Zimmermann <mail@zisoft.de>
-Date: Fri, 27 Jun 2025 20:05:23 +0200
-Subject: [PATCH] fix screen dpi setting has no effect
-
----
- src/gui/gtk.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/gui/gtk.c b/src/gui/gtk.c
-index a620dcb42332..d62411e9d6ef 100644
---- src/gui/gtk.c
-+++ b/src/gui/gtk.c
-@@ -1630,10 +1630,10 @@ double dt_get_screen_resolution(GtkWidget *widget)
- screen_dpi = 96.0;
- strncpy(opt_str, "(default value)", sizeof(opt_str));
- }
-- gdk_screen_set_resolution(gtk_widget_get_screen(widget), screen_dpi);
-- dt_print(DT_DEBUG_CONTROL, "[screen resolution] setting the screen resolution to %f dpi %s",
-- screen_dpi, opt_str);
- }
-+ gdk_screen_set_resolution(gtk_widget_get_screen(widget), screen_dpi);
-+ dt_print(DT_DEBUG_CONTROL, "[screen resolution] setting the screen resolution to %f dpi %s",
-+ screen_dpi, opt_str);
- return screen_dpi;
- }
-
diff --git a/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa b/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa
deleted file mode 100644
index 2f3bf38c170c..000000000000
--- a/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa
+++ /dev/null
@@ -1,30 +0,0 @@
-From eac87cf0c41ef6d2190cd88cd9379a288edba1fa Mon Sep 17 00:00:00 2001
-From: Pascal Obry <pascal@obry.net>
-Date: Fri, 27 Jun 2025 08:14:30 +0200
-Subject: [PATCH] Fix compilation when OpenMP is disabled.
-
-Fixes #19006.
----
- src/common/darktable.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/common/darktable.c b/src/common/darktable.c
-index 11f86b0330a8..e5feaf63eddd 100644
---- src/common/darktable.c
-+++ b/src/common/darktable.c
-@@ -1193,10 +1193,13 @@ int dt_init(int argc, char *argv[], const gboolean init_gui, const gboolean load
- if(desired > possible)
- dt_print(DT_DEBUG_ALWAYS,
- "[dt_init --threads] requested %d ompthreads restricted to %d",
-- desired, possible);
-+ desired, possible);
-+#ifdef _OPENMP
- dt_print(DT_DEBUG_ALWAYS,
- "[dt_init --threads] using %d threads of %d for openmp parallel sections %s",
-- darktable.num_openmp_threads, (int)dt_get_num_procs(), omp_get_dynamic() ? "(dynamic)" : "(static)");
-+ darktable.num_openmp_threads, (int)dt_get_num_procs(),
-+ omp_get_dynamic() ? "(dynamic)" : "(static)");
-+#endif
- k++;
- argv[k-1] = NULL;
- argv[k] = NULL;
diff --git a/graphics/darktable/pkg-plist b/graphics/darktable/pkg-plist
index 8cfa8b9195b8..8fc55ec1e2dd 100644
--- a/graphics/darktable/pkg-plist
+++ b/graphics/darktable/pkg-plist
@@ -972,6 +972,7 @@ share/icons/hicolor/scalable/apps/darktable.svg
%%NLS%%share/locale/hu/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/it/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/ja/LC_MESSAGES/darktable.mo
+%%NLS%%share/locale/ko_KR/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/nl/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/ru/LC_MESSAGES/darktable.mo
diff --git a/graphics/dataplot/Makefile b/graphics/dataplot/Makefile
index 1d0d424cd95c..a13bd4455e90 100644
--- a/graphics/dataplot/Makefile
+++ b/graphics/dataplot/Makefile
@@ -1,40 +1,35 @@
PORTNAME= dataplot
-DISTVERSION= 20210713
-PORTREVISION= 2
+DISTVERSION= 20240806
CATEGORIES= graphics
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= pfg@FreeBSD.org
COMMENT= Free software system for statistical visualization
WWW= https://www.itl.nist.gov/div898/software/dataplot/index.htm
LICENSE= PD
+LICENSE_FILE= ${WRKSRC}/../LICENSE.txt
LIB_DEPENDS= libgd.so:graphics/gd \
- libpng.so:graphics/png
-
-USES= gmake gnome fortran jpeg readline xorg
-USE_XORG= x11 xi
-USE_GNOME= cairo
+ libtiff.so:graphics/tiff
+RUN_DEPENDS= xclip:x11/xclip
+USES= gmake gnome fortran readline xorg
USE_GITHUB= yes
GH_ACCOUNT= usnistgov
-GH_TAGNAME= d5eb15dd86dd80098c6535aa68898ab8392ab700
-
-WRKSRC_SUBDIR= src
-
-MAXOBV?= 450000 # Change if you need more observations/variable
+GH_TAGNAME= b779512889cc78757fae29f9546e01b9c6cef95d
+USE_GNOME= cairo
+USE_XORG= x11 xft xi
-FFLAGS+= -DLINUX -fdefault-real-8 -fdefault-double-8 -std=legacy
+FFLAGS+= -fdefault-real-8 -fdefault-double-8 -std=legacy
-PORTDATA= *
+WRKSRC_SUBDIR= src
PLIST_FILES= bin/dataplot bin/xdataplot
+PORTDATA= *
OPTIONS_DEFINE= DOCS
post-patch:
- @${REINPLACE_CMD} -e 's/MAXOBV=1500000/MAXOBV=${MAXOBV}/' \
- ${WRKSRC}/DPCOPA.INC
@${REINPLACE_CMD} \
-e 's;%%FC%%;${FC};' \
-e 's;%%CC%%;${CC};' \
diff --git a/graphics/dataplot/distinfo b/graphics/dataplot/distinfo
index 0489f8aa74df..6c9f0246c90d 100644
--- a/graphics/dataplot/distinfo
+++ b/graphics/dataplot/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1663389742
-SHA256 (usnistgov-dataplot-20210713-d5eb15dd86dd80098c6535aa68898ab8392ab700_GH0.tar.gz) = f92bbb322ec80ea03e83163b9de741131bb064fbe59323475b27958cddeb197f
-SIZE (usnistgov-dataplot-20210713-d5eb15dd86dd80098c6535aa68898ab8392ab700_GH0.tar.gz) = 22850998
+TIMESTAMP = 1753233966
+SHA256 (usnistgov-dataplot-20240806-b779512889cc78757fae29f9546e01b9c6cef95d_GH0.tar.gz) = 6386f56d6b74638d877cbe6a929dd476422dc791e009f83ce6bd5703ac58261a
+SIZE (usnistgov-dataplot-20240806-b779512889cc78757fae29f9546e01b9c6cef95d_GH0.tar.gz) = 23319908
diff --git a/graphics/dataplot/files/patch-Makefile b/graphics/dataplot/files/patch-Makefile
index df26252ff7ed..115aadaf4461 100644
--- a/graphics/dataplot/files/patch-Makefile
+++ b/graphics/dataplot/files/patch-Makefile
@@ -1,4 +1,4 @@
---- Makefile.orig 2021-07-13 20:35:55 UTC
+--- Makefile.orig 2024-08-06 18:20:40 UTC
+++ Makefile
@@ -1,5 +1,5 @@
-FC = gfortran
@@ -7,8 +7,8 @@
+CC = %%CC%%
# FEATURES to enable during compilation
- # all: READLINE NCURSES GD TIFF VPX CAIRO X11 GKS OPENGL PLOT XCLIP
-@@ -12,11 +12,12 @@ PREFIX = $(DESTDIR)/usr/local
+ # all: READLINE NCURSES GD TIFF VPX CAIRO X11 GKS OPENGL PLOT XCLIP CYGWIN MACOSX TCL DISABLE_SYSTEM_COMMAND STACK_SIZE DEBUG
+@@ -13,12 +13,13 @@ BINDIR = $(PREFIX)/bin
BINDIR = $(PREFIX)/bin
# where to find additional dataplot files (help, menus, etc).
@@ -16,15 +16,25 @@
+DPLIBDIR=$(DESTDIR)%%DATADIR%%
#FFLAGS += -O2 -DLINUX -fdefault-real-8 -fdefault-double-8 -fmax-stack-var-size=1000000 -Wall
+ #FFLAGS += -O2 -g -DLINUX -fdefault-real-8 -fdefault-double-8 -Wall
-FFLAGS += -O2 -DLINUX -fdefault-real-8 -fdefault-double-8 -Wall
-CFLAGS += -O2
-+FFLAGS += %%FFLAGS%%
++FFLAGS += %%FFLAGS%% -DLINUX
+CFLAGS += %%CFLAGS%% -I%%LOCALBASE%%/include
+LDFLAGS += -L%%LOCALBASE%%/lib
# special flags for dp1
DP1FLAGS = -DDDOUBLE -DINTEGER32 -DHAVE_ISNAN -DHAVE_EXECUTE_COMMAND_LINE -DDPLIBDIR=\'$(DPLIBDIR)\'
-@@ -129,7 +130,7 @@ clean:
+@@ -79,7 +80,7 @@ CFLAGS += -DHAVE_X11
+ LDFLAGS += -lcairo
+ FFLAGS4 += -DHAVE_CAIRO
+ CFLAGS += -DHAVE_X11
+-#CFLAGS += -I/usr/include/cairo
++CFLAGS += -I%%LOCALBASE%%/include/freetype2
+ endif
+
+ ifneq (,$(findstring PLOT,$(FEATURES)))
+@@ -170,7 +171,7 @@ install: dataplot xdataplot
install: dataplot xdataplot
@echo installing binary to $(BINDIR)
-[ ! -d $(BINDIR) ] && mkdir -vp $(BINDIR) ||:
diff --git a/graphics/dify/Makefile b/graphics/dify/Makefile
index 23a73597fc23..785d3be8cda9 100644
--- a/graphics/dify/Makefile
+++ b/graphics/dify/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dify
DISTVERSION= 0.6.0
-PORTREVISION= 22
+PORTREVISION= 23
CATEGORIES= graphics
MASTER_SITES= CRATESIO
# XXX Teach USES=cargo to have proper default
diff --git a/graphics/digikam/Makefile b/graphics/digikam/Makefile
index 1931b993bb81..0ea448097714 100644
--- a/graphics/digikam/Makefile
+++ b/graphics/digikam/Makefile
@@ -1,13 +1,14 @@
PORTNAME= digikam
-DISTVERSION= 8.6.0
-PORTREVISION= 2
+DISTVERSION= 8.7.0
CATEGORIES= graphics kde
MASTER_SITES= KDE/stable/${PORTNAME}/${PORTVERSION} \
- https://files.kde.org/${PORTNAME}/%SUBDIR%/:aesthetic,autotags,face,yunet \
- https://kde-applicationdata.mirrors.omnilance.com/${PORTNAME}/%SUBDIR%/:aesthetic,autotags,face,yunet \
- https://mirrors.ocf.berkeley.edu/kde-applicationdata/${PORTNAME}/%SUBDIR%/:aesthetic,autotags,face,yunet
+ https://files.kde.org/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet \
+ https://kde-applicationdata.mirrors.omnilance.com/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet \
+ https://mirrors.ocf.berkeley.edu/kde-applicationdata/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet
MASTER_SITE_SUBDIR= aestheticdetector/:aesthetic \
+ aitools/:aitools \
autotags/:autotags \
+ facesengine/:testimage \
facesengine/dnnface/:face \
facesengine/yunet/:yunet
# One bit changed in the naming convention ..
@@ -32,7 +33,7 @@ LIB_DEPENDS= libexiv2.so:graphics/exiv2 \
liblensfun.so:graphics/lensfun \
libopencv_core.so:graphics/opencv \
libheif.so:graphics/libheif \
- libpng.so:graphics/png \
+ libpng16.so:graphics/png \
libtiff.so:graphics/tiff \
libx265.so:multimedia/x265
RUN_DEPENDS= exiftool:graphics/p5-Image-ExifTool
@@ -43,13 +44,15 @@ USES= bison cmake compiler:c++20-lang desktop-file-utils eigen:3 \
USE_GL= opengl glu
USE_GNOME= glib20 libxml2 libxslt
USE_KDE= calendarcore colorscheme completion config configwidgets \
- coreaddons doctools filemetadata i18n iconthemes jobwidgets \
- kio libksane notifications notifyconfig service solid sonnet \
- texttemplate threadweaver widgetsaddons windowsystem xmlgui \
+ coreaddons doctools filemetadata guiaddons i18n iconthemes \
+ jobwidgets kio libksane notifications notifyconfig service \
+ solid sonnet texttemplate threadweaver widgetsaddons \
+ windowsystem xmlgui \
ecm:build
USE_LDCONFIG= yes
USE_QT= base declarative networkauth positioning scxml svg \
- webchannel webengine
+ webchannel webengine \
+ imageformats:run
USE_XORG= ice sm x11 xext
SHEBANG_FILES= core/data/scripts/digitaglinktree/digitaglinktree
@@ -69,7 +72,7 @@ WITH_CCACHE_BUILD= yes
OPTIONS_DEFINE= KDEPIM MEDIAPLAYER
OPTIONS_GROUP= DATA
DATA_DESC= Binary data required for certain features
-OPTIONS_GROUP_DATA= AESTHETIC AUTOTAGS FACEDETECT
+OPTIONS_GROUP_DATA= AITOOLS AESTHETIC AUTOTAGS FACEDETECT
OPTIONS_MULTI= DB
DB_DESC= Database options
OPTIONS_MULTI_DB= MYSQL MYSQL_INTERNAL SQLITE3
@@ -78,7 +81,10 @@ OPTIONS_DEFAULT= ${OPTIONS_DEFINE} \
OPTIONS_SUB= yes
# Check core/data/dnnmodels/dnnmodels.conf for new and obsolete files
-# for the AESTHETIC, AUTOTAGS and FACEDETECT options with each update.
+# for the AITOOLS. AESTHETIC, AUTOTAGS and FACEDETECT options with each update.
+AITOOLS_DESC= Install aitools (autorotate) data (~330 MiB)
+AITOOLS_DISTFILES= deep-image-orientation-angle-detection.onnx:aitools
+
AESTHETIC_DESC= Install aesthetic detection data (~84 MiB)
AESTHETIC_DISTFILES= weights_inceptionv3_299.pb:aesthetic
@@ -90,7 +96,8 @@ AUTOTAGS_DISTFILES= classification_classes_ILSVRC2012.txt:autotags \
yolo11x.onnx:autotags
FACEDETECT_DESC= Install face management data (~37 MiB)
-FACEDETECT_DISTFILES= face_recognition_sface_2021dec.onnx:face \
+FACEDETECT_DISTFILES= dnntestimage.jpeg:testimage \
+ face_recognition_sface_2021dec.onnx:face \
face_detection_yunet_2023mar.onnx:yunet
KDEPIM_DESC= KDEPim Addressbook support
@@ -116,6 +123,12 @@ MYSQL_INTERNAL_IMPLIES= MYSQL
SQLITE3_USE= QT=sqldriver-sqlite:run
+post-install-AITOOLS-on:
+ @${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
+.for f in ${AITOOLS_DISTFILES:C/:.*//}
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${f} ${STAGEDIR}${DATADIR}/facesengine
+.endfor
+
post-install-AESTHETIC-on:
@${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
.for f in ${AESTHETIC_DISTFILES:C/:.*//}
diff --git a/graphics/digikam/distinfo b/graphics/digikam/distinfo
index f97c8c85ff7c..cb07adbc6828 100644
--- a/graphics/digikam/distinfo
+++ b/graphics/digikam/distinfo
@@ -1,8 +1,10 @@
-TIMESTAMP = 1745529278
-SHA256 (KDE/digikam/digiKam-8.6.0.tar.xz) = 000971e117201976cba413b6d7201720a8893799d6064bcf158d4388e829c233
-SIZE (KDE/digikam/digiKam-8.6.0.tar.xz) = 58958608
+TIMESTAMP = 1755889431
+SHA256 (KDE/digikam/digiKam-8.7.0.tar.xz) = 79e35ec20a43934cf8322d47c9c0540b0b8b727fa7d9aceb90f710fcfe9da02f
+SIZE (KDE/digikam/digiKam-8.7.0.tar.xz) = 55060536
SHA256 (KDE/digikam/weights_inceptionv3_299.pb) = 8923e3daff71c07533b9023ef32c69d8c058d1e0931d76d8b81241a201138538
SIZE (KDE/digikam/weights_inceptionv3_299.pb) = 88007527
+SHA256 (KDE/digikam/deep-image-orientation-angle-detection.onnx) = e9f9d20330977750bc941b5f820f80a07eef3b23bd8b2271d44d14488d8709b5
+SIZE (KDE/digikam/deep-image-orientation-angle-detection.onnx) = 345861567
SHA256 (KDE/digikam/classification_classes_ILSVRC2012.txt) = 4eb3da435cf544e4a6f390f62c84cb9c9bb68cf8b14e97f8a063452382e5efd2
SIZE (KDE/digikam/classification_classes_ILSVRC2012.txt) = 21675
SHA256 (KDE/digikam/coco.names) = 634a1132eb33f8091d60f2c346ababe8b905ae08387037aed883953b7329af84
@@ -13,6 +15,8 @@ SHA256 (KDE/digikam/yolo11n.onnx) = 82f23e3cdc299fb44317e8a4b2c1d4d67efd0acd5eb3
SIZE (KDE/digikam/yolo11n.onnx) = 10720316
SHA256 (KDE/digikam/yolo11x.onnx) = dd81d4d06a4c92a6e1066d024219efe5c4c1982566ddf6ce5c280ebd847f117a
SIZE (KDE/digikam/yolo11x.onnx) = 228016573
+SHA256 (KDE/digikam/dnntestimage.jpeg) = 158c039c7ae795340eea959bedde4a5d263a8add9e5bebca10b4a45bb7073a2b
+SIZE (KDE/digikam/dnntestimage.jpeg) = 52913
SHA256 (KDE/digikam/face_recognition_sface_2021dec.onnx) = 0ba9fbfa01b5270c96627c4ef784da859931e02f04419c829e83484087c34e79
SIZE (KDE/digikam/face_recognition_sface_2021dec.onnx) = 38696353
SHA256 (KDE/digikam/face_detection_yunet_2023mar.onnx) = 8f2383e4dd3cfbb4553ea8718107fc0423210dc964f9f4280604804ed2552fa4
diff --git a/graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp b/graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp
deleted file mode 100644
index 96bf42efa73f..000000000000
--- a/graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-Fix build with Qt 6.9. QChar constructors no longer perform implicit
-conversions.
-
---- core/libs/widgets/text/localizeselector.cpp.orig 2025-03-15 14:01:45 UTC
-+++ core/libs/widgets/text/localizeselector.cpp
-@@ -326,7 +326,7 @@ bool s_inlineTranslateString(const QString& text, cons
- }
- else
- {
-- error = QChar(trengine->error());
-+ error = QChar(static_cast<int>(trengine->error()));
- }
-
- return false;
diff --git a/graphics/digikam/pkg-plist b/graphics/digikam/pkg-plist
index f2d0e31ce77c..a8e603db429f 100644
--- a/graphics/digikam/pkg-plist
+++ b/graphics/digikam/pkg-plist
@@ -25,6 +25,7 @@ include/digikam/dcolorcomposer.h
include/digikam/dcolorpixelaccess.h
include/digikam/dcolorselector.h
include/digikam/dexpanderbox.h
+include/digikam/dfiledialog.h
include/digikam/dhistoryview.h
include/digikam/digikam_config.h
include/digikam/digikam_core_export.h
@@ -46,6 +47,9 @@ include/digikam/dinfointerface.h
include/digikam/ditemslist.h
include/digikam/ditemtooltip.h
include/digikam/dmessagebox.h
+include/digikam/dmetadata.h
+include/digikam/dmetadatasettings.h
+include/digikam/dmetadatasettingscontainer.h
include/digikam/dmetainfoiface.h
include/digikam/dplugin.h
include/digikam/dpluginaboutdlg.h
@@ -97,6 +101,8 @@ include/digikam/managedloadsavethread.h
include/digikam/metadatainfo.h
include/digikam/metaengine.h
include/digikam/metaengine_data.h
+include/digikam/metaenginesettings.h
+include/digikam/metaenginesettingscontainer.h
include/digikam/modelcompleter.h
include/digikam/photoinfocontainer.h
include/digikam/previewlayout.h
@@ -109,6 +115,7 @@ include/digikam/searchtextbar.h
include/digikam/statesavingobject.h
include/digikam/thumbnailinfo.h
include/digikam/thumbnailloadthread.h
+include/digikam/videoinfocontainer.h
include/digikam/wbcontainer.h
include/digikam/wsitem.h
include/digikam/wslogindialog.h
@@ -139,6 +146,7 @@ lib/libdigikamgui.so.%%SHLIB_VER%%
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_AssignTemplate_Plugin.so
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_Assigncaptions_Plugin.so
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_AutoCorrection_Plugin.so
+%%QT_PLUGINDIR%%/digikam/bqm/Bqm_AutoRotate_Plugin.so
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_BWconvert_Plugin.so
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_BcgCorrection_Plugin.so
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_Blur_Plugin.so
@@ -298,8 +306,8 @@ share/applications/org.kde.showfoto.desktop
%%DATADIR%%/about/css/bootstrap-theme.min.css
%%DATADIR%%/about/css/bootstrap.min.css
%%DATADIR%%/about/css/digikam.css
-%%DATADIR%%/about/images/body-background.jpg
-%%DATADIR%%/about/images/top-left-digikam.png
+%%DATADIR%%/about/images/body-background.webp
+%%DATADIR%%/about/images/top-left-digikam.webp
%%DATADIR%%/about/js/bootstrap.min.js
%%DATADIR%%/about/js/digikam.js
%%DATADIR%%/about/js/jquery.min.js
@@ -314,89 +322,91 @@ share/applications/org.kde.showfoto.desktop
%%DATADIR%%/colorschemes/shadeofgray.colors
%%DATADIR%%/colorschemes/sunsetcolor.colors
%%DATADIR%%/colorschemes/whitebalance.colors
-%%DATADIR%%/data/assistant-enfuse.png
-%%DATADIR%%/data/assistant-hugin.png
-%%DATADIR%%/data/assistant-preprocessing.png
-%%DATADIR%%/data/assistant-stack.png
-%%DATADIR%%/data/assistant-tripod.png
-%%DATADIR%%/data/banner-digikam.png
-%%DATADIR%%/data/bluejean-texture.png
+%%DATADIR%%/data/assistant-enfuse.webp
+%%DATADIR%%/data/assistant-hugin.webp
+%%DATADIR%%/data/assistant-preprocessing.webp
+%%DATADIR%%/data/assistant-stack.webp
+%%DATADIR%%/data/assistant-tripod.webp
+%%DATADIR%%/data/banner-digikam.webp
+%%DATADIR%%/data/bluejean-texture.webp
%%DATADIR%%/data/bothhorz.png
%%DATADIR%%/data/bothvert.png
-%%DATADIR%%/data/bricks-texture.png
-%%DATADIR%%/data/bricks2-texture.png
-%%DATADIR%%/data/burlap-texture.png
-%%DATADIR%%/data/canvas-texture.png
-%%DATADIR%%/data/cellwood-texture.png
+%%DATADIR%%/data/bricks-texture.webp
+%%DATADIR%%/data/bricks2-texture.webp
+%%DATADIR%%/data/burlap-texture.webp
+%%DATADIR%%/data/canvas-texture.webp
+%%DATADIR%%/data/cellwood-texture.webp
%%DATADIR%%/data/centerheight.png
%%DATADIR%%/data/centerwidth.png
-%%DATADIR%%/data/chalk-pattern.png
+%%DATADIR%%/data/chalk-pattern.webp
%%DATADIR%%/data/colors-chromablue.png
%%DATADIR%%/data/colors-chromared.png
%%DATADIR%%/data/colors-luma.png
-%%DATADIR%%/data/craters-pattern.png
+%%DATADIR%%/data/craters-pattern.webp
%%DATADIR%%/data/curvefree.png
%%DATADIR%%/data/curvemooth.png
-%%DATADIR%%/data/dried-pattern.png
+%%DATADIR%%/data/dried-pattern.webp
%%DATADIR%%/data/duplicatebothhorz.png
%%DATADIR%%/data/duplicatebothvert.png
%%DATADIR%%/data/editimage.png
%%DATADIR%%/data/exifinfo.png
-%%DATADIR%%/data/fabric-texture.png
-%%DATADIR%%/data/granit-pattern.png
-%%DATADIR%%/data/ice-pattern.png
+%%DATADIR%%/data/fabric-texture.webp
+%%DATADIR%%/data/granit-pattern.webp
+%%DATADIR%%/data/ice-pattern.webp
%%DATADIR%%/data/image-full.png
%%DATADIR%%/data/image-selection.png
-%%DATADIR%%/data/leaf-pattern.png
-%%DATADIR%%/data/logo-beta.png
-%%DATADIR%%/data/logo-cimg.png
-%%DATADIR%%/data/logo-digikam.png
-%%DATADIR%%/data/logo-gphoto.png
-%%DATADIR%%/data/logo-lcms.png
-%%DATADIR%%/data/logo-piwigo.png
-%%DATADIR%%/data/lut3d/bleach.png
-%%DATADIR%%/data/lut3d/blue_crush.png
-%%DATADIR%%/data/lut3d/bw_contrast.png
-%%DATADIR%%/data/lut3d/instant.png
-%%DATADIR%%/data/lut3d/original.png
-%%DATADIR%%/data/lut3d/punch.png
-%%DATADIR%%/data/lut3d/summer.png
-%%DATADIR%%/data/lut3d/tokyo.png
-%%DATADIR%%/data/lut3d/vintage.png
-%%DATADIR%%/data/lut3d/washout.png
-%%DATADIR%%/data/lut3d/washout_color.png
-%%DATADIR%%/data/lut3d/x_process.png
-%%DATADIR%%/data/marble-pattern.png
-%%DATADIR%%/data/marble-texture.png
-%%DATADIR%%/data/marble2-texture.png
-%%DATADIR%%/data/metalwire-texture.png
-%%DATADIR%%/data/modern-texture.png
-%%DATADIR%%/data/moss-texture.png
+%%DATADIR%%/data/leaf-pattern.webp
+%%DATADIR%%/data/logo-beta.webp
+%%DATADIR%%/data/logo-cimg.webp
+%%DATADIR%%/data/logo-digikam.webp
+%%DATADIR%%/data/logo-gphoto.webp
+%%DATADIR%%/data/logo-lcms.webp
+%%DATADIR%%/data/logo-piwigo.webp
+%%DATADIR%%/data/lut3d/bleach.webp
+%%DATADIR%%/data/lut3d/blue_crush.webp
+%%DATADIR%%/data/lut3d/bw_contrast.webp
+%%DATADIR%%/data/lut3d/instant.webp
+%%DATADIR%%/data/lut3d/original.webp
+%%DATADIR%%/data/lut3d/punch.webp
+%%DATADIR%%/data/lut3d/summer.webp
+%%DATADIR%%/data/lut3d/tokyo.webp
+%%DATADIR%%/data/lut3d/vintage.webp
+%%DATADIR%%/data/lut3d/washout.webp
+%%DATADIR%%/data/lut3d/washout_color.webp
+%%DATADIR%%/data/lut3d/x_process.webp
+%%DATADIR%%/data/marble-pattern.webp
+%%DATADIR%%/data/marble-texture.webp
+%%DATADIR%%/data/marble2-texture.webp
+%%DATADIR%%/data/metalwire-texture.webp
+%%DATADIR%%/data/modern-texture.webp
+%%DATADIR%%/data/moss-texture.webp
%%DATADIR%%/data/original.png
-%%DATADIR%%/data/paper-pattern.png
-%%DATADIR%%/data/paper-texture.png
-%%DATADIR%%/data/paper2-texture.png
-%%DATADIR%%/data/parque-pattern.png
-%%DATADIR%%/data/pine-pattern.png
-%%DATADIR%%/data/pink-pattern.png
+%%DATADIR%%/data/paper-pattern.webp
+%%DATADIR%%/data/paper-texture.webp
+%%DATADIR%%/data/paper2-texture.webp
+%%DATADIR%%/data/parque-pattern.webp
+%%DATADIR%%/data/pine-pattern.webp
+%%DATADIR%%/data/pink-pattern.webp
%%DATADIR%%/data/process-working.png
-%%DATADIR%%/data/rain-pattern.png
-%%DATADIR%%/data/rock-pattern.png
-%%DATADIR%%/data/sample-aix.png
-%%DATADIR%%/data/splash-digikam.png
-%%DATADIR%%/data/stone-pattern.png
-%%DATADIR%%/data/stone-texture.png
+%%DATADIR%%/data/rain-pattern.webp
+%%DATADIR%%/data/rock-pattern.webp
+%%DATADIR%%/data/sample-aix.webp
+%%DATADIR%%/data/splash-digikam.webp
+%%DATADIR%%/data/stone-pattern.webp
+%%DATADIR%%/data/stone-texture.webp
%%DATADIR%%/data/target.png
%%DATADIR%%/data/togglemouseover.png
%%DATADIR%%/data/video-digikam.mp4
-%%DATADIR%%/data/wall-pattern.png
-%%DATADIR%%/data/wall-texture.png
-%%DATADIR%%/data/wood-pattern.png
+%%DATADIR%%/data/wall-pattern.webp
+%%DATADIR%%/data/wall-texture.webp
+%%DATADIR%%/data/wood-pattern.webp
%%DATADIR%%/database/dbconfig.xml
%%DATADIR%%/database/mysql-global.conf
%%DATADIR%%/dnnmodels/dnnmodels.conf
%%AUTOTAGS%%%%DATADIR%%/facesengine/classification_classes_ILSVRC2012.txt
%%AUTOTAGS%%%%DATADIR%%/facesengine/coco.names
+%%AITOOLS%%%%DATADIR%%/facesengine/deep-image-orientation-angle-detection.onnx
+%%FACEDETECT%%%%DATADIR%%/facesengine/dnntestimage.jpeg
%%AUTOTAGS%%%%DATADIR%%/facesengine/efficientnetb7.onnx
%%FACEDETECT%%%%DATADIR%%/facesengine/face_detection_yunet_2023mar.onnx
%%FACEDETECT%%%%DATADIR%%/facesengine/face_recognition_sface_2021dec.onnx
@@ -2051,7 +2061,7 @@ share/man/man1/cleanup_digikamdb.1.gz
share/man/man1/digitaglinktree.1.gz
share/metainfo/org.kde.digikam.appdata.xml
share/metainfo/org.kde.showfoto.appdata.xml
-share/showfoto/data/banner-showfoto.png
-share/showfoto/data/logo-showfoto.png
-share/showfoto/data/splash-showfoto.png
+share/showfoto/data/banner-showfoto.webp
+share/showfoto/data/logo-showfoto.webp
+share/showfoto/data/splash-showfoto.webp
share/solid/actions/digikam-opencamera.desktop
diff --git a/graphics/drawio/Makefile b/graphics/drawio/Makefile
index bf0a90583cce..0ee5000d4f5b 100644
--- a/graphics/drawio/Makefile
+++ b/graphics/drawio/Makefile
@@ -1,6 +1,6 @@
PORTNAME= drawio
-PORTVERSION= 26.2.15
-PORTREVISION= 8
+PORTVERSION= 28.0.6
+PORTREVISION= 4
DISTVERSIONPREFIX= x86_64-
CATEGORIES= graphics
MASTER_SITES= https://github.com/jgraph/drawio-desktop/releases/download/v${PORTVERSION}/
@@ -12,7 +12,7 @@ WWW= https://drawio.com/
LICENSE= APACHE20
-USES= desktop-file-utils electronfix:35 shared-mime-info
+USES= desktop-file-utils electronfix:37 shared-mime-info
NO_BUILD= yes
SUB_FILES= drawio
diff --git a/graphics/drawio/distinfo b/graphics/drawio/distinfo
index 9d6db3780cd2..4753d707483c 100644
--- a/graphics/drawio/distinfo
+++ b/graphics/drawio/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745920570
-SHA256 (drawio-x86_64-26.2.15.rpm) = 526d400ea422532a626049992ff790226dc584e2bb0a270051bde5dace8f54b8
-SIZE (drawio-x86_64-26.2.15.rpm) = 101266949
+TIMESTAMP = 1754379319
+SHA256 (drawio-x86_64-28.0.6.rpm) = 1bc0cd527cd5e21c58aa255a22f4c6bc9531d0b255654022b863c44d10cac121
+SIZE (drawio-x86_64-28.0.6.rpm) = 104528857
diff --git a/graphics/drawpile/Makefile b/graphics/drawpile/Makefile
index a1f43d6ecc00..106938684aa3 100644
--- a/graphics/drawpile/Makefile
+++ b/graphics/drawpile/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Drawpile
DISTVERSION= 2.2.2
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/dssim/Makefile b/graphics/dssim/Makefile
index d5906884f249..761008fc6444 100644
--- a/graphics/dssim/Makefile
+++ b/graphics/dssim/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dssim
DISTVERSION= 3.2.4
-PORTREVISION= 25
+PORTREVISION= 26
CATEGORIES= graphics
MASTER_SITES= CRATESIO
# XXX Teach USES=cargo to have proper default
diff --git a/graphics/durdraw/Makefile b/graphics/durdraw/Makefile
index 661d72054fcc..f550d1c16b82 100644
--- a/graphics/durdraw/Makefile
+++ b/graphics/durdraw/Makefile
@@ -1,6 +1,6 @@
PORTNAME= durdraw
DISTVERSION= 0.28.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/egl-wayland/Makefile b/graphics/egl-wayland/Makefile
index 65275804f343..3da37d7eb3b6 100644
--- a/graphics/egl-wayland/Makefile
+++ b/graphics/egl-wayland/Makefile
@@ -1,5 +1,5 @@
PORTNAME= egl-wayland
-DISTVERSION= 1.1.19
+DISTVERSION= 1.1.20
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/egl-wayland/distinfo b/graphics/egl-wayland/distinfo
index 2fd8302a4285..32ea886df626 100644
--- a/graphics/egl-wayland/distinfo
+++ b/graphics/egl-wayland/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745359337
-SHA256 (NVIDIA-egl-wayland-1.1.19_GH0.tar.gz) = b9a63e59eb552ef925b9fda96e466457edfe4b7728dd861ee06152b064edccdf
-SIZE (NVIDIA-egl-wayland-1.1.19_GH0.tar.gz) = 76156
+TIMESTAMP = 1754506010
+SHA256 (NVIDIA-egl-wayland-1.1.20_GH0.tar.gz) = 17d7c8976a08758621a42e9d8c328bce420208e956f473a19f827f5933df401a
+SIZE (NVIDIA-egl-wayland-1.1.20_GH0.tar.gz) = 76168
diff --git a/graphics/egl-wayland/pkg-plist b/graphics/egl-wayland/pkg-plist
index dfd8b85772f4..697437c04a7d 100644
--- a/graphics/egl-wayland/pkg-plist
+++ b/graphics/egl-wayland/pkg-plist
@@ -1,6 +1,6 @@
lib/libnvidia-egl-wayland.so
lib/libnvidia-egl-wayland.so.1
-lib/libnvidia-egl-wayland.so.1.1.19
+lib/libnvidia-egl-wayland.so.1.1.20
libdata/pkgconfig/wayland-eglstream-protocols.pc
libdata/pkgconfig/wayland-eglstream.pc
share/egl/egl_external_platform.d/10_nvidia_wayland.json
diff --git a/graphics/exrtools/Makefile b/graphics/exrtools/Makefile
index a0b0738109ab..735572bb4480 100644
--- a/graphics/exrtools/Makefile
+++ b/graphics/exrtools/Makefile
@@ -1,6 +1,6 @@
PORTNAME= exrtools
DISTVERSION= 0.4
-PORTREVISION= 36
+PORTREVISION= 37
CATEGORIES= graphics
MASTER_SITES= http://scanline.ca/exrtools/ \
LOCAL/ehaupt
diff --git a/graphics/f3d/Makefile b/graphics/f3d/Makefile
index 9b69bde42b92..07ac4520f1b6 100644
--- a/graphics/f3d/Makefile
+++ b/graphics/f3d/Makefile
@@ -1,6 +1,7 @@
PORTNAME= f3d
DISTVERSIONPREFIX= v
DISTVERSION= 3.2.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -48,7 +49,7 @@ MODULES_DESC= Build modules:
ALEMBIC_DESC= Alembic plugin (for ABC files)
ALEMBIC_CMAKE_BOOL= F3D_PLUGIN_BUILD_ALEMBIC
ALEMBIC_LIB_DEPENDS= libAlembic.so:graphics/alembic \
- libImath-3_1.so:math/Imath
+ libImath.so:math/Imath
ASSIMP_DESC= Assimp plugin (for FBX, OFF, DAE and DXF files)
ASSIMP_CMAKE_BOOL= F3D_PLUGIN_BUILD_ASSIMP
diff --git a/graphics/filament/Makefile b/graphics/filament/Makefile
index 05a58e344472..848ce3c1ff22 100644
--- a/graphics/filament/Makefile
+++ b/graphics/filament/Makefile
@@ -1,11 +1,12 @@
PORTNAME= filament
DISTVERSIONPREFIX= v
-DISTVERSION= 1.59.3
+DISTVERSION= 1.62.2
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
COMMENT= Real-time physically based rendering engine
-WWW= https://google.github.io/filament/
+WWW= https://google.github.io/filament/ \
+ https://github.com/google/filament
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -52,5 +53,9 @@ post-install:
@cd ${STAGEDIR}${PREFIX} && ${RM} -r README.md LICENSE docs
# remove conflicting file, see https://github.com/google/filament/issues/5957
@${RM} ${STAGEDIR}${PREFIX}/lib/libzstd.a
+ # remove files installed by the improperly bundled spirv-tools package, see https://github.com/google/filament/issues/8965
+ @${FIND} ${STAGEDIR}${PREFIX} -iname "*spirv*" -delete
+ @${RM} -r ${STAGEDIR}${PREFIX}/include/spirv-tools # workaround for the find(1) -delete bug, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288277
+ @${RMDIR} ${STAGEDIR}${PREFIX}/lib/cmake
.include <bsd.port.mk>
diff --git a/graphics/filament/distinfo b/graphics/filament/distinfo
index 49e9483e7ac2..687b3f3972d7 100644
--- a/graphics/filament/distinfo
+++ b/graphics/filament/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745309194
-SHA256 (google-filament-v1.59.3_GH0.tar.gz) = 897d1880d1573b3a8452e7df5a82f8fb82a35f997775edfa44ee26cbcedbdafb
-SIZE (google-filament-v1.59.3_GH0.tar.gz) = 759893829
+TIMESTAMP = 1754114300
+SHA256 (google-filament-v1.62.2_GH0.tar.gz) = 3ae746cb11fcb93a4cd494a5bbb86a8e2fc81075218593dad0ac0f3381be24e0
+SIZE (google-filament-v1.62.2_GH0.tar.gz) = 766597384
diff --git a/graphics/filament/files/patch-CMakeLists.txt b/graphics/filament/files/patch-CMakeLists.txt
index 40f6db9d930b..108eeb9035b6 100644
--- a/graphics/filament/files/patch-CMakeLists.txt
+++ b/graphics/filament/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig 2024-06-03 18:10:41 UTC
+--- CMakeLists.txt.orig 2025-07-14 23:11:31 UTC
+++ CMakeLists.txt
-@@ -87,7 +87,7 @@ find_program(CCACHE_PROGRAM ccache)
+@@ -101,7 +101,7 @@ find_program(CCACHE_PROGRAM ccache)
# Support for ccache
# ==================================================================================================
find_program(CCACHE_PROGRAM ccache)
diff --git a/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp b/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
index fd6961590dba..bded9df8b8d5 100644
--- a/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
+++ b/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
@@ -1,6 +1,6 @@
---- filament/backend/src/PlatformFactory.cpp.orig 2025-03-31 22:23:27 UTC
+--- filament/backend/src/PlatformFactory.cpp.orig 2025-07-14 23:11:31 UTC
+++ filament/backend/src/PlatformFactory.cpp
-@@ -41,7 +41,7 @@
+@@ -42,7 +42,7 @@
#include <backend/platforms/PlatformCocoaGL.h>
#endif
#endif
@@ -9,7 +9,7 @@
#if defined(FILAMENT_SUPPORTS_X11)
#if defined(FILAMENT_SUPPORTS_OPENGL) && !defined(FILAMENT_USE_EXTERNAL_GLES3)
#include "backend/platforms/PlatformGLX.h"
-@@ -151,7 +151,7 @@ Platform* PlatformFactory::create(Backend* backend) no
+@@ -152,7 +152,7 @@ Platform* PlatformFactory::create(Backend* backend) no
#else
return new PlatformCocoaGL();
#endif
diff --git a/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h b/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h
index 3af2733630ee..f084580c50df 100644
--- a/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h
+++ b/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h
@@ -1,8 +1,8 @@
---- libs/bluevk/include/bluevk/BlueVK.h.orig 2022-11-11 07:03:46 UTC
+--- libs/bluevk/include/bluevk/BlueVK.h.orig 2025-07-14 23:11:31 UTC
+++ libs/bluevk/include/bluevk/BlueVK.h
@@ -42,7 +42,7 @@
#define VK_USE_PLATFORM_ANDROID_KHR 1
- #elif defined(IOS)
+ #elif defined(FILAMENT_IOS)
#define VK_USE_PLATFORM_IOS_MVK 1
- #elif defined(__linux__)
+ #elif defined(__linux__) || defined(__FreeBSD__)
diff --git a/graphics/filament/files/patch-libs_utils_CMakeLists.txt b/graphics/filament/files/patch-libs_utils_CMakeLists.txt
index 4e45fbc7aa4d..8bf9c71d2a66 100644
--- a/graphics/filament/files/patch-libs_utils_CMakeLists.txt
+++ b/graphics/filament/files/patch-libs_utils_CMakeLists.txt
@@ -1,7 +1,7 @@
---- libs/utils/CMakeLists.txt.orig 2023-05-30 23:22:31 UTC
+--- libs/utils/CMakeLists.txt.orig 2025-07-14 23:11:31 UTC
+++ libs/utils/CMakeLists.txt
-@@ -82,8 +82,10 @@ if (ANDROID)
- list(APPEND SRCS src/android/Systrace.cpp)
+@@ -90,8 +90,10 @@ if (LINUX OR ANDROID)
+ list(APPEND SRCS src/android/Tracing.cpp)
endif()
if (LINUX OR ANDROID)
- list(APPEND SRCS src/linux/Condition.cpp)
diff --git a/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc
new file mode 100644
index 000000000000..f760a992860e
--- /dev/null
+++ b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc
@@ -0,0 +1,40 @@
+--- third_party/perfetto/perfetto/perfetto.cc.orig 2025-07-16 02:06:53 UTC
++++ third_party/perfetto/perfetto/perfetto.cc
+@@ -14,6 +14,8 @@
+ //
+ // This file is automatically generated by gen_amalgamated. Do not edit.
+
++#include <sys/ucred.h>
++
+ // gen_amalgamated: predefined macros
+ #if !defined(PERFETTO_IMPLEMENTATION)
+ #define PERFETTO_IMPLEMENTATION
+@@ -42125,7 +42127,7 @@ ClockSnapshotVector CaptureClockSnapshots() {
+ {0, 0}},
+ {CLOCK_REALTIME, protos::pbzero::BUILTIN_CLOCK_REALTIME, {0, 0}},
+ {CLOCK_MONOTONIC, protos::pbzero::BUILTIN_CLOCK_MONOTONIC, {0, 0}},
+- {CLOCK_MONOTONIC_RAW,
++ {CLOCK_MONOTONIC,
+ protos::pbzero::BUILTIN_CLOCK_MONOTONIC_RAW,
+ {0, 0}},
+ };
+@@ -58913,8 +58915,8 @@ void UnixSocket::ReadPeerCredentialsPosix() {
+ int res = getpeereid(fd, &peer_uid_, nullptr);
+ PERFETTO_CHECK(res == 0);
+ // There is no pid when obtaining peer credentials for QNX
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#elif !defined(__FreeBSD__) && (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID))
+ struct ucred user_cred;
+ socklen_t len = sizeof(user_cred);
+ int fd = sock_raw_.fd();
+@@ -58922,7 +58924,7 @@ void UnixSocket::ReadPeerCredentialsPosix() {
+ PERFETTO_CHECK(res == 0);
+ peer_uid_ = user_cred.uid;
+ peer_pid_ = user_cred.pid;
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++#elif defined(__FreeBSD__) || PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
+ struct xucred user_cred;
+ socklen_t len = sizeof(user_cred);
+ int res = getsockopt(sock_raw_.fd(), 0, LOCAL_PEERCRED, &user_cred, &len);
diff --git a/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h
new file mode 100644
index 000000000000..a1c99bc6e26e
--- /dev/null
+++ b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h
@@ -0,0 +1,42 @@
+--- third_party/perfetto/perfetto/perfetto.h.orig 2025-07-15 17:16:00 UTC
++++ third_party/perfetto/perfetto/perfetto.h
+@@ -34,6 +34,8 @@
+ * limitations under the License.
+ */
+
++#include <pthread_np.h>
++
+ // Generated by write_buildflag_header.py
+
+ // fix_include_guards: off
+@@ -129,10 +131,10 @@
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
+ #endif
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__FreeBSD__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1
+-#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 1
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -1075,7 +1077,7 @@ inline TimeNanos GetWallTimeRawNs() {
+ }
+
+ inline TimeNanos GetWallTimeRawNs() {
+- return GetTimeInternalNs(CLOCK_MONOTONIC_RAW);
++ return GetTimeInternalNs(CLOCK_MONOTONIC);
+ }
+
+ inline TimeNanos GetThreadCPUTimeNs() {
+@@ -8167,7 +8169,7 @@ inline PlatformThreadId GetThreadId() {
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
+ using PlatformThreadId = pid_t;
+ inline PlatformThreadId GetThreadId() {
+- return static_cast<pid_t>(syscall(__NR_gettid));
++ return static_cast<pid_t>(pthread_getthreadid_np());
+ }
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA)
+ using PlatformThreadId = zx_koid_t;
diff --git a/graphics/filament/pkg-plist b/graphics/filament/pkg-plist
index 25b8b2373291..9351c86540cf 100644
--- a/graphics/filament/pkg-plist
+++ b/graphics/filament/pkg-plist
@@ -17,16 +17,6 @@ bin/normal-blending
bin/resgen
bin/roughness-prefilter
bin/specular-color
-bin/spirv-as
-bin/spirv-cfg
-bin/spirv-dis
-bin/spirv-lesspipe.sh
-bin/spirv-link
-bin/spirv-lint
-bin/spirv-objdump
-bin/spirv-opt
-bin/spirv-reduce
-bin/spirv-val
bin/uberz
include/backend/AcquiredImage.h
include/backend/BufferDescriptor.h
@@ -66,6 +56,7 @@ include/filamat/Enums.h
include/filamat/IncludeCallback.h
include/filamat/MaterialBuilder.h
include/filamat/Package.h
+include/filament-generatePrefilterMipmap/generatePrefilterMipmap.h
include/filament-iblprefilter/IBLPrefilterContext.h
include/filament/Box.h
include/filament/BufferObject.h
@@ -150,10 +141,6 @@ include/math/vec3.h
include/math/vec4.h
include/mathio/ostream.h
include/mikktspace/mikktspace.h
-include/spirv-tools/libspirv.h
-include/spirv-tools/libspirv.hpp
-include/spirv-tools/linker.hpp
-include/spirv-tools/optimizer.hpp
include/tsl/robin_growth_policy.h
include/tsl/robin_hash.h
include/tsl/robin_map.h
@@ -171,6 +158,7 @@ include/utils/EntityManager.h
include/utils/FixedCapacityVector.h
include/utils/Invocable.h
include/utils/Log.h
+include/utils/Logger.h
include/utils/Mutex.h
include/utils/NameComponentManager.h
include/utils/Panic.h
@@ -197,34 +185,6 @@ include/viewer/AutomationSpec.h
include/viewer/RemoteServer.h
include/viewer/Settings.h
include/viewer/ViewerGui.h
-lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffConfig.cmake
-lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets.cmake
-lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkConfig.cmake
-lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets.cmake
-lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintConfig.cmake
-lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets.cmake
-lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optConfig.cmake
-lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake
-lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceConfig.cmake
-lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget.cmake
-lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsConfig.cmake
-lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsTargets.cmake
-lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake
-lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake
-lib/libSPIRV-Tools-diff.a
-lib/libSPIRV-Tools-link.a
-lib/libSPIRV-Tools-lint.a
-lib/libSPIRV-Tools-opt.a
-lib/libSPIRV-Tools-reduce.a
-lib/libSPIRV-Tools-shared.so
-lib/libSPIRV-Tools.a
lib/libabseil.a
lib/libbackend.a
lib/libbasis_transcoder.a
@@ -236,6 +196,7 @@ lib/libdracodec.a
lib/libfilabridge.a
lib/libfilaflat.a
lib/libfilamat.a
+lib/libfilament-generatePrefilterMipmap.a
lib/libfilament-iblprefilter.a
lib/libfilament.a
lib/libfilameshio.a
@@ -249,6 +210,7 @@ lib/libktxreader.a
lib/libmatdbg.a
lib/libmeshoptimizer.a
lib/libmikktspace.a
+lib/libperfetto.a
lib/libshaders.a
lib/libsmol-v.a
lib/libstb.a
@@ -257,5 +219,3 @@ lib/libuberzlib.a
lib/libutils.a
lib/libviewer.a
lib/libvkshaders.a
-libdata/pkgconfig/SPIRV-Tools-shared.pc
-libdata/pkgconfig/SPIRV-Tools.pc
diff --git a/graphics/fortytwo/Makefile b/graphics/fortytwo/Makefile
index 1de06c6816ac..3c30d0882436 100644
--- a/graphics/fortytwo/Makefile
+++ b/graphics/fortytwo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fortytwo
PORTVERSION= 0.2.0
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= graphics gnustep
MASTER_SITES= SF/${PORTNAME}/FT%20%2842%29/${PORTVERSION}
DISTFILES= FT-${PORTVERSION}-src.tgz \
diff --git a/graphics/gdal/Makefile b/graphics/gdal/Makefile
index 7a20a59b31b5..62c09c9b8a78 100644
--- a/graphics/gdal/Makefile
+++ b/graphics/gdal/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gdal
PORTVERSION= 3.11.3
+PORTREVISION= 3
CATEGORIES= graphics geography
MASTER_SITES= https://download.osgeo.org/gdal/${PORTVERSION}/ \
LOCAL/sunpoet
@@ -26,6 +27,7 @@ LIB_DEPENDS= libgeotiff.so:graphics/libgeotiff \
USES= cmake compiler:c++17-lang cpe iconv jpeg localbase pkgconfig ssl tar:xz
+CMAKE_OFF_armv7= GDAL_ENABLE_ARM_NEON_OPTIMIZATIONS
CMAKE_OFF= BUILD_CSHARP_BINDINGS \
BUILD_DOCS \
BUILD_JAVA_BINDINGS \
@@ -56,7 +58,8 @@ CMAKE_OFF= BUILD_CSHARP_BINDINGS \
GDAL_USE_TIFF_INTERNAL \
GDAL_USE_ZLIB_INTERNAL \
HDFS_ENABLED \
- SWIG_REGENERATE_PYTHON
+ SWIG_REGENERATE_PYTHON \
+ ${CMAKE_OFF_${ARCH}}
CMAKE_ON= BUILD_APPS \
BUILD_SHARED_LIBS \
BUILD_STATIC_LIBS \
@@ -111,7 +114,7 @@ HEADER_FILES= alg/gvgcpfit.h \
port/cpl_vsil_curl_priv.h \
port/cpl_worker_thread_pool.h
-OPTIONS_DEFINE= AEC ARMADILLO BLOSC BRUNSLI CFITSIO CRYPTOPP CURL DEFLATE ECW EXPAT EXR FREEXL GEOS GTA HDF5 HEIF JXL KEA KML LERC LIBXML2 LZ4 MYSQL NETCDF ODBC OPENDRIVE OPENJPEG PCRE2 PGSQL QB3 RASTERLITE2 SFCGAL SPATIALITE SQLITE TILEDB WEBP XERCES ZSTD
+OPTIONS_DEFINE= AEC ARMADILLO BLOSC BRUNSLI CFITSIO CRYPTOPP CURL DEFLATE ECW EXPAT FREEXL GEOS GTA HDF5 HEIF JXL KEA KML LERC LIBXML2 LZ4 MYSQL NETCDF ODBC OPENDRIVE OPENEXR OPENJPEG PCRE2 PGSQL QB3 RASTERLITE2 SFCGAL SPATIALITE SQLITE TILEDB WEBP XERCES ZSTD
OPTIONS_RADIO= PDF
OPTIONS_RADIO_PDF= PODOFO POPPLER
OPTIONS_DEFAULT=AEC CURL DEFLATE EXPAT FREEXL GEOS LERC LIBXML2 LZ4 OPENJPEG PCRE2 PGSQL POPPLER WEBP ZSTD \
@@ -124,7 +127,6 @@ BLOSC_DESC= Blosc support in Zarr driver
BRUNSLI_DESC= Brunsli support via libbrunsli library
CRYPTOPP_DESC= Cryptopp support
DEFLATE_DESC= Faster deflate support via libdeflate library
-EXR_DESC= EXR support via OpenEXR library
KEA_DESC= KEA format support
LERC_DESC= LERC (Limited Error Raster Compression) support
OPENDRIVE_DESC= OpenDRIVE format support
@@ -153,10 +155,6 @@ ECW_CMAKE_BOOL= GDAL_USE_ECW
ECW_LIB_DEPENDS= libNCSEcw.so:graphics/libecwj2
EXPAT_CMAKE_BOOL= GDAL_USE_EXPAT
EXPAT_LIB_DEPENDS= libexpat.so:textproc/expat2
-EXR_CFLAGS= -DInt64=uint64_t
-EXR_CMAKE_BOOL= GDAL_USE_EXR
-EXR_LIB_DEPENDS= libImath.so:math/Imath \
- libOpenEXR.so:graphics/openexr
FREEXL_CMAKE_BOOL= GDAL_USE_FREEXL
FREEXL_LIB_DEPENDS= libfreexl.so:textproc/freexl
GEOS_CMAKE_BOOL= GDAL_USE_GEOS
@@ -187,11 +185,17 @@ NETCDF_CMAKE_BOOL= GDAL_USE_NETCDF
NETCDF_LIB_DEPENDS= libnetcdf.so:science/netcdf
ODBC_CMAKE_BOOL= GDAL_USE_ODBC
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
+OPENDRIVE_CMAKE_BOOL= GDAL_USE_OPENDRIVE
+OPENDRIVE_LDFLAGS= -lpugixml
+OPENDRIVE_LIB_DEPENDS= libOpenDrive.so:graphics/libopendrive \
+ libpugixml.so:textproc/pugixml
+OPENEXR_CFLAGS= -DInt64=uint64_t
+OPENEXR_CMAKE_BOOL= GDAL_USE_EXR
+OPENEXR_LIB_DEPENDS= libImath.so:math/Imath \
+ libOpenEXR.so:graphics/openexr
OPENJPEG_BUILD_DEPENDS= openjpeg>=2.1.0:graphics/openjpeg
OPENJPEG_CMAKE_BOOL= GDAL_USE_OPENJPEG
OPENJPEG_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg
-OPENDRIVE_CMAKE_BOOL= GDAL_USE_OPENDRIVE
-OPENDRIVE_LIB_DEPENDS= libOpenDrive.so:graphics/libopendrive
PCRE2_CMAKE_BOOL= GDAL_USE_PCRE2
PCRE2_LIB_DEPENDS= libpcre2-8.so:devel/pcre2
PGSQL_CMAKE_BOOL= GDAL_USE_POSTGRESQL
diff --git a/graphics/gdal/files/patch-ogr_ogrsf__frmts_xodr_ogr__xodr.h b/graphics/gdal/files/patch-ogr_ogrsf__frmts_xodr_ogr__xodr.h
new file mode 100644
index 000000000000..296d424dae67
--- /dev/null
+++ b/graphics/gdal/files/patch-ogr_ogrsf__frmts_xodr_ogr__xodr.h
@@ -0,0 +1,11 @@
+--- ogr/ogrsf_frmts/xodr/ogr_xodr.h.orig 2025-07-12 10:33:49 UTC
++++ ogr/ogrsf_frmts/xodr/ogr_xodr.h
+@@ -15,7 +15,7 @@
+ #include "ogr_api.h"
+ #include <iostream>
+ #include <OpenDriveMap.h>
+-#include <pugixml/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <vector>
+
+ struct RoadElements
diff --git a/graphics/gdk-pixbuf2/Makefile b/graphics/gdk-pixbuf2/Makefile
index e0f2ef659336..f27cb9d2fff5 100644
--- a/graphics/gdk-pixbuf2/Makefile
+++ b/graphics/gdk-pixbuf2/Makefile
@@ -1,11 +1,14 @@
PORTNAME= gdk-pixbuf
PORTVERSION= 2.42.12
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= GNOME
PKGNAMESUFFIX= 2
DIST_SUBDIR= gnome
+PATCH_SITES= https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/commit/
+PATCHFILES= 4af78023ce7d3b5e3cec422a59bb4f48fa4f5886.patch:-p1
+
MAINTAINER= desktop@FreeBSD.org
COMMENT= Graphic library for GTK
WWW= https://developer.gnome.org/gdk-pixbuf/
diff --git a/graphics/gdk-pixbuf2/distinfo b/graphics/gdk-pixbuf2/distinfo
index cce2b3b0ccbd..ec430fcc6771 100644
--- a/graphics/gdk-pixbuf2/distinfo
+++ b/graphics/gdk-pixbuf2/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1740710770
+TIMESTAMP = 1753371083
SHA256 (gnome/gdk-pixbuf-2.42.12.tar.xz) = b9505b3445b9a7e48ced34760c3bcb73e966df3ac94c95a148cb669ab748e3c7
SIZE (gnome/gdk-pixbuf-2.42.12.tar.xz) = 6525072
+SHA256 (gnome/4af78023ce7d3b5e3cec422a59bb4f48fa4f5886.patch) = e5cfbfed908833871e45562b72e70be4895844c08ed8edce7d24a8d36696aeba
+SIZE (gnome/4af78023ce7d3b5e3cec422a59bb4f48fa4f5886.patch) = 1643
diff --git a/graphics/gegl/Makefile b/graphics/gegl/Makefile
index 2ec905392421..cd7492e03f46 100644
--- a/graphics/gegl/Makefile
+++ b/graphics/gegl/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gegl
DISTVERSION= 0.4.62
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= GIMP
diff --git a/graphics/geoserver/Makefile b/graphics/geoserver/Makefile
index 4a91339aa4b8..fcbdfd515533 100644
--- a/graphics/geoserver/Makefile
+++ b/graphics/geoserver/Makefile
@@ -1,5 +1,5 @@
PORTNAME= geoserver
-DISTVERSION= 2.27.1
+DISTVERSION= 2.27.2
CATEGORIES= graphics geography java
MASTER_SITES= SF/${PORTNAME}/GeoServer/${PORTVERSION}
DISTNAME= ${PORTNAME}-${PORTVERSION}-bin
@@ -30,12 +30,12 @@ GEODIRS= data_dir etc lib logs modules resources webapps
PLIST_SUB= BATIK=1.18 \
ECLIPSE=2.15.0 \
G="${GEOSERVERDIR:S,^${PREFIX}/,,}" \
- GT=33.1 \
- GWC=1.27.1 \
+ GT=33.2 \
+ GWC=1.27.2 \
IMAGEIO=1.4.15 \
- JACKSON=2.18.2 \
+ JACKSON=2.19.0 \
JETTY=9.4.57.v20241219 \
- JNA=5.16.0 \
+ JNA=5.17.0 \
JT=1.1.31 \
JT1=1.6.0 \
MVER=${PORTVERSION} \
@@ -43,7 +43,7 @@ PLIST_SUB= BATIK=1.18 \
SPRING=5.3.39 \
SPRINGS=5.8.16 \
VER3=1.1.3 \
- WICKET=9.20.0
+ WICKET=9.21.0
post-patch:
@${REINPLACE_CMD} -e 's|$$GEOSERVER_HOME|${GEOSERVERDIR}|g' \
diff --git a/graphics/geoserver/distinfo b/graphics/geoserver/distinfo
index 21050a200db6..fba585023356 100644
--- a/graphics/geoserver/distinfo
+++ b/graphics/geoserver/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747658951
-SHA256 (geoserver-2.27.1-bin.zip) = ec8ae7ce759ae4d23fda0147553450d087ab3a4a1d4ad6ebd1a1a928fa5e2d09
-SIZE (geoserver-2.27.1-bin.zip) = 121675690
+TIMESTAMP = 1753304165
+SHA256 (geoserver-2.27.2-bin.zip) = cb37a3562fb41734c2b548ab0af9f73ecc4b2e6a08512c52dac0352965a8df45
+SIZE (geoserver-2.27.2-bin.zip) = 121877642
diff --git a/graphics/geoserver/pkg-plist b/graphics/geoserver/pkg-plist
index b8c71f098752..c0ac87084579 100644
--- a/graphics/geoserver/pkg-plist
+++ b/graphics/geoserver/pkg-plist
@@ -590,15 +590,15 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/batik-xml-%%BATIK%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/bcprov-jdk18on-1.79.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/bigint-0.7.1.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/checker-qual-3.43.0.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/commons-beanutils-1.10.1.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/checker-qual-3.49.3.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/commons-beanutils-1.11.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-codec-1.18.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-collections-3.2.2.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-collections4-4.4.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-compiler-3.1.12.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-dbcp-1.4.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/commons-fileupload-1.5.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/commons-io-2.18.0.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/commons-fileupload-1.6.0.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/commons-io-2.19.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-jxpath-1.3.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-lang-2.6.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-lang3-3.17.0.jar
@@ -612,7 +612,7 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/encoder-1.3.1.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/error_prone_annotations-2.36.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/ezmorph-1.0.6.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/failureaccess-1.0.2.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/failureaccess-1.0.3.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/freemarker-2.3.34.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gs-gwc-%%MVER%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gs-gwc-rest-%%MVER%%.jar
@@ -690,7 +690,7 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-xsd-wcs-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-xsd-wfs-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-xsd-wmts-%%GT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/guava-33.4.0-jre.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/guava-33.4.8-jre.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gwc-core-%%GWC%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gwc-diskquota-core-%%GWC%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gwc-diskquota-jdbc-%%GWC%%.jar
@@ -743,7 +743,8 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/joda-time-2.8.1.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/json-20231013.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/json-lib-2.4.2-%%G%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jsr305-2.0.3.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/jspecify-1.0.0.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/jsr305-3.0.2.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jt-affine-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jt-algebra-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jt-attributeop-%%JT1%%.jar
@@ -809,10 +810,10 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/org.eclipse.emf.ecore.xmi-2.15.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/org.eclipse.xsd-2.12.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/org.w3.xlink-%%GT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/oshi-core-6.6.6.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/oshi-core-6.8.2.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/picocontainer-1.2.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/pngj-2.0.1.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/postgresql-42.7.5.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/postgresql-42.7.7.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/re2j-1.8.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/si-quantity-2.1.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/si-units-2.1.jar
diff --git a/graphics/gifski/Makefile b/graphics/gifski/Makefile
index dff5a9740e87..dd2ca925d0d2 100644
--- a/graphics/gifski/Makefile
+++ b/graphics/gifski/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gifski
DISTVERSION= 1.10.3
-PORTREVISION= 20
+PORTREVISION= 21
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/gimp-app/Makefile b/graphics/gimp-app/Makefile
index 37468af4e8fe..933ca2ee2ddb 100644
--- a/graphics/gimp-app/Makefile
+++ b/graphics/gimp-app/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gimp
DISTVERSION= 2.10.38
-PORTREVISION= 5
+PORTREVISION= 6
PORTEPOCH= 1
CATEGORIES= graphics gnome
MASTER_SITES= GIMP/gimp/v${PORTVERSION:R}
diff --git a/graphics/gimp3-app/Makefile b/graphics/gimp3-app/Makefile
index e8f8239db386..1c4de063bbe6 100644
--- a/graphics/gimp3-app/Makefile
+++ b/graphics/gimp3-app/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gimp
DISTVERSION= 3.0.4
+PORTREVISION= 1
CATEGORIES?= graphics gnome
MASTER_SITES= GIMP/gimp/v${PORTVERSION:R}
PKGNAMESUFFIX= 3-app
@@ -125,6 +126,7 @@ LUA_RUN_DEPENDS= ${LUA_REFMODLIBDIR}/lgi/corelgilua${LUA_VER_STR}.so:devel/lua-l
LUAJIT_DESC?= Lua scripting language support via Luajit
LUAJIT_USES= luajit
+LUAJIT_BROKEN= LuaJIT cannot use devel/lua-lgi module yet
LUA_NONE_DESC?= Disable Lua scripting language support
LUA_NONE_MESON_FALSE= lua
diff --git a/graphics/gimp3-app/pkg-plist b/graphics/gimp3-app/pkg-plist
index 1725677a54b9..106dbf39c02d 100644
--- a/graphics/gimp3-app/pkg-plist
+++ b/graphics/gimp3-app/pkg-plist
@@ -377,7 +377,7 @@ lib/gimp/%%ABIVER%%/plug-ins/file-dicom/file-dicom
lib/gimp/%%ABIVER%%/plug-ins/file-exr/file-exr
lib/gimp/%%ABIVER%%/plug-ins/file-farbfeld/file-farbfeld
lib/gimp/%%ABIVER%%/plug-ins/file-faxg3/file-faxg3
-lib/gimp/%%ABIVER%%/plug-ins/file-fits/file-fits
+%%CFITSIO%%lib/gimp/%%ABIVER%%/plug-ins/file-fits/file-fits
lib/gimp/%%ABIVER%%/plug-ins/file-fli/file-fli
lib/gimp/%%ABIVER%%/plug-ins/file-gbr/file-gbr
lib/gimp/%%ABIVER%%/plug-ins/file-gegl/file-gegl
diff --git a/graphics/gmic-qt/Makefile b/graphics/gmic-qt/Makefile
index 114b25aa2a1d..7666ee5b307b 100644
--- a/graphics/gmic-qt/Makefile
+++ b/graphics/gmic-qt/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gmic-qt
DISTVERSIONPREFIX= v.
-DISTVERSION= 3.5.3
+DISTVERSION= 3.6.1
PORTEPOCH= 1
CATEGORIES= graphics kde
MASTER_SITES= https://github.com/GreycLab/gmic/releases/download/${DISTVERSIONFULL}/ \
@@ -21,9 +21,10 @@ LIB_DEPENDS= libcurl.so:ftp/curl \
libfftw3.so:math/fftw3 \
libpng16.so:graphics/png
-FLAVORS= none gimp # reflect the value of GMIC_QT_HOST for simplicity
+FLAVORS= none gimp gimp3 # reflect the value of GMIC_QT_HOST for simplicity
FLAVOR?= ${FLAVORS:[1]}
gimp_PKGNAMESUFFIX= -gimp
+gimp3_PKGNAMESUFFIX= -gimp3
USES= cmake compiler:c++17-lang gl pkgconfig qt:6 shebangfix xorg
USE_GL= opengl
@@ -43,7 +44,7 @@ PORTSCOUT= limit:[0-9]\..*
WRKSRC= ${WRKDIR}/${DISTNAME:S|_|-|}
WRKSRC_SUBDIR= ${PORTNAME}
-.if ${FLAVOR} == gimp
+.if ${FLAVOR} == "gimp"
LIB_DEPENDS+= libbabl-0.1.so:x11/babl \
libgegl-0.4.so:graphics/gegl \
libgimp-2.0.so:graphics/gimp-app \
@@ -51,10 +52,19 @@ LIB_DEPENDS+= libbabl-0.1.so:x11/babl \
USES+= gettext-runtime gnome
USE_GNOME= cairo gdkpixbuf glib20
PLUGINS_DIR= libexec/gimp/2.2/plug-ins/gmic_gimp_qt
+.elif ${FLAVOR} == "gimp3"
+LIB_DEPENDS+= libbabl-0.1.so:x11/babl \
+ libgegl-0.4.so:graphics/gegl \
+ libgexiv2.so:graphics/gexiv2 \
+ libgimp-3.0.so:graphics/gimp3-app \
+ libjson-glib-1.0.so:devel/json-glib
+USES+= gettext-runtime gnome
+USE_GNOME= cairo gdkpixbuf glib20 pango
+PLUGINS_DIR= lib/gimp/3.0/plug-ins/gmic_gimp_qt
.else
PLUGINS_DIR= bin
.endif
-PLIST_FILES= ${PLUGINS_DIR}/gmic_${FLAVOR:S|$|_|:S|none_||}qt
+PLIST_FILES= ${PLUGINS_DIR}/gmic_${FLAVOR:S|$|_|:S|none_||:C|gimp[3]|gimp|}qt
.include <bsd.port.mk>
diff --git a/graphics/gmic-qt/distinfo b/graphics/gmic-qt/distinfo
index e11dffbcd314..0d3e0f6c9226 100644
--- a/graphics/gmic-qt/distinfo
+++ b/graphics/gmic-qt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741758406
-SHA256 (KDE/gmic-qt/gmic_3.5.3.tar.gz) = e91a7cac4d0dc7c0ca2620f03bb14af82aa738c85a11b4f82fcc738654606442
-SIZE (KDE/gmic-qt/gmic_3.5.3.tar.gz) = 19409660
+TIMESTAMP = 1756404089
+SHA256 (KDE/gmic-qt/gmic_3.6.1.tar.gz) = 4cf36b7af48013651e40e2c17be646b748cffdd400a90562588a35af731f6c9e
+SIZE (KDE/gmic-qt/gmic_3.6.1.tar.gz) = 19486111
diff --git a/graphics/gmic/Makefile b/graphics/gmic/Makefile
index 8eba63a45a6d..c172e3934b06 100644
--- a/graphics/gmic/Makefile
+++ b/graphics/gmic/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gmic
DISTVERSION= 3.1.6
-PORTREVISION= 10
+PORTREVISION= 11
CATEGORIES= graphics
MASTER_SITES= https://gmic.eu/files/source/
DISTNAME= ${PORTNAME}_${DISTVERSION}
diff --git a/graphics/gource/Makefile b/graphics/gource/Makefile
index 64db6e919c06..14c7dcc04db2 100644
--- a/graphics/gource/Makefile
+++ b/graphics/gource/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gource
PORTVERSION= 0.51
-PORTREVISION= 11
+PORTREVISION= 12
CATEGORIES= graphics
MASTER_SITES= https://github.com/acaudwell/Gource/releases/download/${PORTNAME}-${PORTVERSION}/
diff --git a/graphics/gowall/Makefile b/graphics/gowall/Makefile
index 3258078e0c19..c8f1d1aa390a 100644
--- a/graphics/gowall/Makefile
+++ b/graphics/gowall/Makefile
@@ -1,6 +1,7 @@
PORTNAME= gowall
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.1
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= nxjoseph@protonmail.com
diff --git a/graphics/grafx2/Makefile b/graphics/grafx2/Makefile
index 404a429f8c29..7f976ee2e0b6 100644
--- a/graphics/grafx2/Makefile
+++ b/graphics/grafx2/Makefile
@@ -2,6 +2,7 @@ PORTNAME= grafx2
DISTVERSIONPREFIX= v
DISTVERSION= 2.9
DISTVERSIONSUFFIX= .3219
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= http://pulkomandy.tk/projects/GrafX2/downloads/ \
LOCAL/ehaupt
diff --git a/graphics/graphos/Makefile b/graphics/graphos/Makefile
index 96be3b221434..fc514bf7b8ef 100644
--- a/graphics/graphos/Makefile
+++ b/graphics/graphos/Makefile
@@ -1,6 +1,6 @@
PORTNAME= graphos
PORTVERSION= 0.7
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics gnustep
MASTER_SITES= SAVANNAH/gap
DISTNAME= Graphos-${PORTVERSION}
diff --git a/graphics/gstreamer1-plugins-openexr/Makefile b/graphics/gstreamer1-plugins-openexr/Makefile
index 3e63d57ad993..ce8254e3d972 100644
--- a/graphics/gstreamer1-plugins-openexr/Makefile
+++ b/graphics/gstreamer1-plugins-openexr/Makefile
@@ -3,8 +3,7 @@ CATEGORIES= graphics
COMMENT= GStreamer OpenExr codec plugin
-LIB_DEPENDS= libOpenEXR.so:graphics/openexr \
- libImath-3_1.so:math/Imath
+LIB_DEPENDS= libOpenEXR.so:graphics/openexr
USES+= compiler:c++11-lang
diff --git a/graphics/gthumb/Makefile b/graphics/gthumb/Makefile
index fa928039d2cb..8e92a2d148eb 100644
--- a/graphics/gthumb/Makefile
+++ b/graphics/gthumb/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gthumb
PORTVERSION= 3.12.7
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= GNOME
DIST_SUBDIR= gnome
diff --git a/graphics/gwenview/Makefile b/graphics/gwenview/Makefile
index 184b5a2107ee..e2a9dd30387b 100644
--- a/graphics/gwenview/Makefile
+++ b/graphics/gwenview/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gwenview
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
+PORTREVISION= 1
CATEGORIES= graphics kde kde-applications
MAINTAINER= kde@FreeBSD.org
diff --git a/graphics/gwenview/distinfo b/graphics/gwenview/distinfo
index 3496f59c7f19..2d90abbd041b 100644
--- a/graphics/gwenview/distinfo
+++ b/graphics/gwenview/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381450
-SHA256 (KDE/release-service/25.04.3/gwenview-25.04.3.tar.xz) = 59bf9fc4a4be87260781ccb5872212484b697caa53fa0ee7e128bdb08eaf5e87
-SIZE (KDE/release-service/25.04.3/gwenview-25.04.3.tar.xz) = 6533552
+TIMESTAMP = 1754646360
+SHA256 (KDE/release-service/25.08.0/gwenview-25.08.0.tar.xz) = 5bf1bfccedef659f4df913adddd64a2c964d39b84cf1427104bb15dbaa86f08e
+SIZE (KDE/release-service/25.08.0/gwenview-25.08.0.tar.xz) = 6533684
diff --git a/graphics/hugin/Makefile b/graphics/hugin/Makefile
index 8e14ba88e999..a4df19ab46fc 100644
--- a/graphics/hugin/Makefile
+++ b/graphics/hugin/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hugin
DISTVERSION= 2024.0.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION:R}
diff --git a/graphics/hyprgraphics/Makefile b/graphics/hyprgraphics/Makefile
index 8c806067e451..66b4fc1069ea 100644
--- a/graphics/hyprgraphics/Makefile
+++ b/graphics/hyprgraphics/Makefile
@@ -1,9 +1,10 @@
PORTNAME= hyprgraphics
DISTVERSIONPREFIX= v
DISTVERSION= 0.1.5
+PORTREVISION= 2
CATEGORIES= graphics
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= Hyprland graphics / resource utilities
WWW= https://github.com/hyprwm/hyprgraphics
diff --git a/graphics/hyprland-protocols/Makefile b/graphics/hyprland-protocols/Makefile
new file mode 100644
index 000000000000..e8c07429b712
--- /dev/null
+++ b/graphics/hyprland-protocols/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= hyprland-protocols
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.6.4
+CATEGORIES= graphics
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Wayland protocol extensions for Hyprland
+WWW= https://github.com/hyprwm/hyprland-protocols
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= meson
+
+USE_GITHUB= yes
+GH_ACCOUNT= hyprwm
+
+NO_ARCH= yes
+
+PORTDOCS= README.md
+
+OPTIONS_DEFINE= DOCS
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/graphics/hyprland-protocols/distinfo b/graphics/hyprland-protocols/distinfo
new file mode 100644
index 000000000000..e74a37925c7e
--- /dev/null
+++ b/graphics/hyprland-protocols/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1754038793
+SHA256 (hyprwm-hyprland-protocols-v0.6.4_GH0.tar.gz) = 0d4f99abc21b04fc126dd754e306bb84cd334131d542ff2e0c172190c6570384
+SIZE (hyprwm-hyprland-protocols-v0.6.4_GH0.tar.gz) = 10447
diff --git a/graphics/hyprland-protocols/pkg-descr b/graphics/hyprland-protocols/pkg-descr
new file mode 100644
index 000000000000..2919edd92193
--- /dev/null
+++ b/graphics/hyprland-protocols/pkg-descr
@@ -0,0 +1,10 @@
+This package exists in an effort to bridge the gap between Hyprland
+and KDE/Gnome's functionality, as well as allow apps for some extra
+neat functionality under Hyprland.
+
+Since wayland-protocols is slow to change (on top of Hyprland not
+being allowed to contribute), we have to maintain a set of protocols
+Hyprland uses to plumb some things / add some useful features.
+
+Some of the protocols here also do not belong in wayland-protocols, as
+they are specific to Hyprland.
diff --git a/graphics/hyprland-protocols/pkg-plist b/graphics/hyprland-protocols/pkg-plist
new file mode 100644
index 000000000000..238901696534
--- /dev/null
+++ b/graphics/hyprland-protocols/pkg-plist
@@ -0,0 +1,8 @@
+%%DATADIR%%/protocols/hyprland-ctm-control-v1.xml
+%%DATADIR%%/protocols/hyprland-focus-grab-v1.xml
+%%DATADIR%%/protocols/hyprland-global-shortcuts-v1.xml
+%%DATADIR%%/protocols/hyprland-lock-notify-v1.xml
+%%DATADIR%%/protocols/hyprland-surface-v1.xml
+%%DATADIR%%/protocols/hyprland-toplevel-export-v1.xml
+%%DATADIR%%/protocols/hyprland-toplevel-mapping-v1.xml
+share/pkgconfig/hyprland-protocols.pc
diff --git a/graphics/imageviewer/Makefile b/graphics/imageviewer/Makefile
index 6e4b4a53cd79..af51c756c7c0 100644
--- a/graphics/imageviewer/Makefile
+++ b/graphics/imageviewer/Makefile
@@ -1,6 +1,6 @@
PORTNAME= imageviewer
PORTVERSION= 0.6.3
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= graphics gnustep
MASTER_SITES= http://www.nice.ch/~phip/ \
LOCAL/dinoex
diff --git a/graphics/impressive/Makefile b/graphics/impressive/Makefile
index d17e609a4885..0834913768ef 100644
--- a/graphics/impressive/Makefile
+++ b/graphics/impressive/Makefile
@@ -1,6 +1,6 @@
PORTNAME= impressive
DISTVERSION= 0.13.2
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= SF/${PORTNAME}/Impressive/${DISTVERSION}/
DISTNAME= Impressive-${DISTVERSION}
diff --git a/graphics/inkscape/Makefile b/graphics/inkscape/Makefile
index 642c7c60f676..e3992c26c80b 100644
--- a/graphics/inkscape/Makefile
+++ b/graphics/inkscape/Makefile
@@ -1,5 +1,6 @@
PORTNAME= inkscape
DISTVERSION= 1.4.2
+PORTREVISION= 1
CATEGORIES= graphics gnome
MASTER_SITES= https://media.inkscape.org/dl/resources/file/
@@ -36,7 +37,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}cachecontrol>0:www/py-cachecontrol@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}cssselect>0:www/py-cssselect@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}filelock>=3.7.1:sysutils/py-filelock@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lxml5>0:devel/py-lxml5@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scour>0:textproc/py-scour@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tinycss2>0:textproc/py-tinycss2@${PY_FLAVOR} \
@@ -48,7 +49,7 @@ USES= compiler:c++20-lang cmake:testing cpe desktop-file-utils ghostscript:run
gnome jpeg pathfix pkgconfig python \
readline shebangfix tar:xz xorg
USE_GNOME= cairo gdkpixbuf glibmm gtkmm30 gtksourceview4 libxml2 libxslt
-USE_PYTHON= cython
+USE_PYTHON= cython3
USE_XORG= sm ice x11 xext
USE_LDCONFIG= yes
diff --git a/graphics/jp/Makefile b/graphics/jp/Makefile
index 0c6f3c74b258..a669a6a42f0a 100644
--- a/graphics/jp/Makefile
+++ b/graphics/jp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= jp
DISTVERSION= 1.1.12
-PORTREVISION= 30
+PORTREVISION= 31
CATEGORIES= graphics
MAINTAINER= 0mp@FreeBSD.org
diff --git a/graphics/kamera/distinfo b/graphics/kamera/distinfo
index 6bfbaf5bd4e6..f813b7a1efa6 100644
--- a/graphics/kamera/distinfo
+++ b/graphics/kamera/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381453
-SHA256 (KDE/release-service/25.04.3/kamera-25.04.3.tar.xz) = 46b9caa4a9ef218342f57eeb0fdad30635fc5090f22f89dd1ced5856f060dd49
-SIZE (KDE/release-service/25.04.3/kamera-25.04.3.tar.xz) = 132972
+TIMESTAMP = 1754646363
+SHA256 (KDE/release-service/25.08.0/kamera-25.08.0.tar.xz) = 249af06f136ce6d69146954518fb4cc702135c673c4f34485cc92243febd1ac5
+SIZE (KDE/release-service/25.08.0/kamera-25.08.0.tar.xz) = 133132
diff --git a/graphics/kcolorchooser/distinfo b/graphics/kcolorchooser/distinfo
index 80a24a48af0a..ff3812bfd25f 100644
--- a/graphics/kcolorchooser/distinfo
+++ b/graphics/kcolorchooser/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381455
-SHA256 (KDE/release-service/25.04.3/kcolorchooser-25.04.3.tar.xz) = 08db027a1deb9e0a429abde8c8702b47e1401ac0085812f78ac10a7c610270f5
-SIZE (KDE/release-service/25.04.3/kcolorchooser-25.04.3.tar.xz) = 36396
+TIMESTAMP = 1754646365
+SHA256 (KDE/release-service/25.08.0/kcolorchooser-25.08.0.tar.xz) = a568316aebea88e2af4125a570f40c4c4d208bcda5c9f3256146edf3a27f51bd
+SIZE (KDE/release-service/25.08.0/kcolorchooser-25.08.0.tar.xz) = 36404
diff --git a/graphics/kdegraphics-mobipocket/Makefile b/graphics/kdegraphics-mobipocket/Makefile
index 109ed5bc97c3..ebaa419e672b 100644
--- a/graphics/kdegraphics-mobipocket/Makefile
+++ b/graphics/kdegraphics-mobipocket/Makefile
@@ -5,7 +5,7 @@ PKGNAMESUFFIX= -${FLAVOR}
MAINTAINER= kde@FreeBSD.org
COMMENT= Mobipocket plugins for Strigi indexing and thumbnails
-WWW= https://www.kde.org
+WWW= https://invent.kde.org/graphics/kdegraphics-mobipocket
FLAVORS= qt6 qt5
FLAVOR?= qt6
diff --git a/graphics/kdegraphics-mobipocket/distinfo b/graphics/kdegraphics-mobipocket/distinfo
index 0333dc54d9d2..32811192bb05 100644
--- a/graphics/kdegraphics-mobipocket/distinfo
+++ b/graphics/kdegraphics-mobipocket/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381458
-SHA256 (KDE/release-service/25.04.3/kdegraphics-mobipocket-25.04.3.tar.xz) = 12f66c78d190867c1c994f650f1409c87bde0fd592911ad3a475b7502045f3d3
-SIZE (KDE/release-service/25.04.3/kdegraphics-mobipocket-25.04.3.tar.xz) = 13136
+TIMESTAMP = 1754646368
+SHA256 (KDE/release-service/25.08.0/kdegraphics-mobipocket-25.08.0.tar.xz) = d60c4eb4387d63036a8d734f77c5cbb75aea4c9dc8ecdfece46b227c007416fe
+SIZE (KDE/release-service/25.08.0/kdegraphics-mobipocket-25.08.0.tar.xz) = 19804
diff --git a/graphics/kdegraphics-mobipocket/pkg-plist b/graphics/kdegraphics-mobipocket/pkg-plist
deleted file mode 100644
index ddc051f14194..000000000000
--- a/graphics/kdegraphics-mobipocket/pkg-plist
+++ /dev/null
@@ -1,11 +0,0 @@
-include/QMobipocket/qmobipocket/mobipocket.h
-include/QMobipocket/qmobipocket/qfilestream.h
-include/QMobipocket/qmobipocket/qmobipocket_export.h
-include/QMobipocket/qmobipocket_version.h
-lib/cmake/QMobipocket/QMobipocketConfig.cmake
-lib/cmake/QMobipocket/QMobipocketConfigVersion.cmake
-lib/cmake/QMobipocket/QMobipocketTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/QMobipocket/QMobipocketTargets.cmake
-lib/libqmobipocket.so
-lib/libqmobipocket.so.2
-lib/libqmobipocket.so.2.1.0
diff --git a/graphics/kdegraphics-mobipocket/pkg-plist.qt5 b/graphics/kdegraphics-mobipocket/pkg-plist.qt5
index ddc051f14194..69700b5a90ac 100644
--- a/graphics/kdegraphics-mobipocket/pkg-plist.qt5
+++ b/graphics/kdegraphics-mobipocket/pkg-plist.qt5
@@ -1,5 +1,4 @@
include/QMobipocket/qmobipocket/mobipocket.h
-include/QMobipocket/qmobipocket/qfilestream.h
include/QMobipocket/qmobipocket/qmobipocket_export.h
include/QMobipocket/qmobipocket_version.h
lib/cmake/QMobipocket/QMobipocketConfig.cmake
@@ -7,5 +6,6 @@ lib/cmake/QMobipocket/QMobipocketConfigVersion.cmake
lib/cmake/QMobipocket/QMobipocketTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/QMobipocket/QMobipocketTargets.cmake
lib/libqmobipocket.so
-lib/libqmobipocket.so.2
-lib/libqmobipocket.so.2.1.0
+lib/libqmobipocket.so.3
+lib/libqmobipocket.so.3.0.0
+share/qlogging-categories5/qmobipocket.categories
diff --git a/graphics/kdegraphics-mobipocket/pkg-plist.qt6 b/graphics/kdegraphics-mobipocket/pkg-plist.qt6
index f0bf0302c573..dcb0fde86af0 100644
--- a/graphics/kdegraphics-mobipocket/pkg-plist.qt6
+++ b/graphics/kdegraphics-mobipocket/pkg-plist.qt6
@@ -1,5 +1,4 @@
include/QMobipocket6/qmobipocket/mobipocket.h
-include/QMobipocket6/qmobipocket/qfilestream.h
include/QMobipocket6/qmobipocket/qmobipocket_export.h
include/QMobipocket6/qmobipocket_version.h
lib/cmake/QMobipocket6/QMobipocket6Config.cmake
@@ -7,5 +6,6 @@ lib/cmake/QMobipocket6/QMobipocket6ConfigVersion.cmake
lib/cmake/QMobipocket6/QMobipocket6Targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/QMobipocket6/QMobipocket6Targets.cmake
lib/libQMobipocket6.so
-lib/libQMobipocket6.so.2
-lib/libQMobipocket6.so.2.1.0
+lib/libQMobipocket6.so.3
+lib/libQMobipocket6.so.3.0.0
+share/qlogging-categories6/qmobipocket.categories
diff --git a/graphics/kdegraphics-svgpart/distinfo b/graphics/kdegraphics-svgpart/distinfo
index 7d3ed5333176..c25ad0292e9d 100644
--- a/graphics/kdegraphics-svgpart/distinfo
+++ b/graphics/kdegraphics-svgpart/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381460
-SHA256 (KDE/release-service/25.04.3/svgpart-25.04.3.tar.xz) = 193f852d7d1fba4ec7ad25dd59d567d58bb6533e436a50d80f54fe1b94202b24
-SIZE (KDE/release-service/25.04.3/svgpart-25.04.3.tar.xz) = 30252
+TIMESTAMP = 1754646370
+SHA256 (KDE/release-service/25.08.0/svgpart-25.08.0.tar.xz) = c836529f5a4014c4f9adad7d54fd857e4cb39da95ced710e704d4f80d3af0f30
+SIZE (KDE/release-service/25.08.0/svgpart-25.08.0.tar.xz) = 30280
diff --git a/graphics/kdegraphics-thumbnailers/distinfo b/graphics/kdegraphics-thumbnailers/distinfo
index 8a67938b184f..490086c93049 100644
--- a/graphics/kdegraphics-thumbnailers/distinfo
+++ b/graphics/kdegraphics-thumbnailers/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381463
-SHA256 (KDE/release-service/25.04.3/kdegraphics-thumbnailers-25.04.3.tar.xz) = 221b584c92c1c1570720caba97706de36dbe3ef4f6ee324b774513e37f446318
-SIZE (KDE/release-service/25.04.3/kdegraphics-thumbnailers-25.04.3.tar.xz) = 49160
+TIMESTAMP = 1754646372
+SHA256 (KDE/release-service/25.08.0/kdegraphics-thumbnailers-25.08.0.tar.xz) = b9f2b6ce162a245e3713305d8ca13f2b8ffa20596705ab6f94b49c40972858b9
+SIZE (KDE/release-service/25.08.0/kdegraphics-thumbnailers-25.08.0.tar.xz) = 55920
diff --git a/graphics/kdegraphics/Makefile b/graphics/kdegraphics/Makefile
index f60cf01f5d91..42cdf2d48ea6 100644
--- a/graphics/kdegraphics/Makefile
+++ b/graphics/kdegraphics/Makefile
@@ -1,5 +1,6 @@
PORTNAME= kdegraphics
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
+PORTREVISION= 1
CATEGORIES= graphics kde
MAINTAINER= kde@FreeBSD.org
@@ -7,7 +8,6 @@ COMMENT= Graphics applications for KDE (meta port)
WWW= https://apps.kde.org/categories/graphics/
USES= kde:6 metaport qt:6
-USE_QT= #
OPTIONS_DEFINE= COLORD \
GPHOTO \
diff --git a/graphics/kf5-kimageformats/Makefile b/graphics/kf5-kimageformats/Makefile
index 482c2b3a8726..f869f975ae40 100644
--- a/graphics/kf5-kimageformats/Makefile
+++ b/graphics/kf5-kimageformats/Makefile
@@ -1,6 +1,6 @@
PORTNAME= kimageformats
DISTVERSION= ${KDE_FRAMEWORKS_VERSION}
-PORTREVISION= 2
+PORTREVISION= 4
CATEGORIES= graphics kde kde-frameworks
MAINTAINER= kde@FreeBSD.org
diff --git a/graphics/kf6-kimageformats/Makefile b/graphics/kf6-kimageformats/Makefile
index 486c61aae2d5..8dc08c060878 100644
--- a/graphics/kf6-kimageformats/Makefile
+++ b/graphics/kf6-kimageformats/Makefile
@@ -1,5 +1,6 @@
PORTNAME= kimageformats
DISTVERSION= ${KDE_FRAMEWORKS_VERSION}
+PORTREVISION= 1
CATEGORIES= graphics kde kde-frameworks
COMMENT= Plugins to allow QImage to support extra file formats
diff --git a/graphics/kf6-kimageformats/distinfo b/graphics/kf6-kimageformats/distinfo
index f2b4436dc63f..b261fe8d969e 100644
--- a/graphics/kf6-kimageformats/distinfo
+++ b/graphics/kf6-kimageformats/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749476624
-SHA256 (KDE/frameworks/6.15/kimageformats-6.15.0.tar.xz) = 2fab119c64f117026166f49840abe5c1efe3e8f9a10d966b3406ffb6a6084030
-SIZE (KDE/frameworks/6.15/kimageformats-6.15.0.tar.xz) = 28203696
+TIMESTAMP = 1754127970
+SHA256 (KDE/frameworks/6.17/kimageformats-6.17.0.tar.xz) = 180b670f766bae740340e5afd2044ea08242ea935459bb95bc80313d062066a8
+SIZE (KDE/frameworks/6.17/kimageformats-6.17.0.tar.xz) = 28654092
diff --git a/graphics/kf6-kimageformats/pkg-plist b/graphics/kf6-kimageformats/pkg-plist
index 8003f92ff524..c6220810c367 100644
--- a/graphics/kf6-kimageformats/pkg-plist
+++ b/graphics/kf6-kimageformats/pkg-plist
@@ -7,6 +7,7 @@ lib/cmake/KF6ImageFormats/KF6ImageFormatsConfigVersion.cmake
%%OPENEXR%%%%QT_PLUGINDIR%%/imageformats/kimg_exr.so
%%QT_PLUGINDIR%%/imageformats/kimg_hdr.so
%%HEIF%%%%QT_PLUGINDIR%%/imageformats/kimg_heif.so
+%%QT_PLUGINDIR%%/imageformats/kimg_iff.so
%%QT_PLUGINDIR%%/imageformats/kimg_jp2.so
%%JXL%%%%QT_PLUGINDIR%%/imageformats/kimg_jxl.so
%%QT_PLUGINDIR%%/imageformats/kimg_kra.so
diff --git a/graphics/kf6-kplotting/distinfo b/graphics/kf6-kplotting/distinfo
index a29d1766ec1e..73dc4ae29c44 100644
--- a/graphics/kf6-kplotting/distinfo
+++ b/graphics/kf6-kplotting/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749476624
-SHA256 (KDE/frameworks/6.15/kplotting-6.15.0.tar.xz) = 5f7105f015eee67acdeb8a96fb9448186a605b6273f0af89a055c2721cab59dc
-SIZE (KDE/frameworks/6.15/kplotting-6.15.0.tar.xz) = 34032
+TIMESTAMP = 1754127970
+SHA256 (KDE/frameworks/6.17/kplotting-6.17.0.tar.xz) = 6654965b63d0857c31c21817e56931684c32dddf035e83169ca6ea7d6b9a2643
+SIZE (KDE/frameworks/6.17/kplotting-6.17.0.tar.xz) = 34024
diff --git a/graphics/kf6-kquickcharts/distinfo b/graphics/kf6-kquickcharts/distinfo
index d50f42a0b6fd..471400d56f4f 100644
--- a/graphics/kf6-kquickcharts/distinfo
+++ b/graphics/kf6-kquickcharts/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749832090
-SHA256 (KDE/frameworks/6.15/kquickcharts-6.15.0.tar.xz) = f9f2f4bea577fed8a7f1ddea34617efe74517a492e9c0721f02f2cc08fb6786d
-SIZE (KDE/frameworks/6.15/kquickcharts-6.15.0.tar.xz) = 112060
+TIMESTAMP = 1754127970
+SHA256 (KDE/frameworks/6.17/kquickcharts-6.17.0.tar.xz) = 1e206a9684d882ce2c147e436392dc3ef6cda79e4bc2ddf5aa0398d2e2ddc5a4
+SIZE (KDE/frameworks/6.17/kquickcharts-6.17.0.tar.xz) = 112152
diff --git a/graphics/kf6-ksvg/distinfo b/graphics/kf6-ksvg/distinfo
index ab0052c6bab3..1c7d17bf9730 100644
--- a/graphics/kf6-ksvg/distinfo
+++ b/graphics/kf6-ksvg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749476625
-SHA256 (KDE/frameworks/6.15/ksvg-6.15.0.tar.xz) = 955c5ceb28879d10106cb807f4f259810c705bbbbddaf170af0d563fbd580197
-SIZE (KDE/frameworks/6.15/ksvg-6.15.0.tar.xz) = 83772
+TIMESTAMP = 1754127971
+SHA256 (KDE/frameworks/6.17/ksvg-6.17.0.tar.xz) = 3728da966932f20f190a545a7f42edea2f9bdbe6d727a5bc1b557ef5155b7f94
+SIZE (KDE/frameworks/6.17/ksvg-6.17.0.tar.xz) = 83720
diff --git a/graphics/kf6-prison/distinfo b/graphics/kf6-prison/distinfo
index 9ac77c36f2ce..d054e005c7e9 100644
--- a/graphics/kf6-prison/distinfo
+++ b/graphics/kf6-prison/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749476625
-SHA256 (KDE/frameworks/6.15/prison-6.15.0.tar.xz) = 343f1dbc82fe6fddaad08b93a60048ed11a00c5c97fb2b30430d7199d614dfbf
-SIZE (KDE/frameworks/6.15/prison-6.15.0.tar.xz) = 57380
+TIMESTAMP = 1754127971
+SHA256 (KDE/frameworks/6.17/prison-6.17.0.tar.xz) = 5542dd0733e06beae6f8cf8bf27ff981f34205fe98125d910be2c53fff47007c
+SIZE (KDE/frameworks/6.17/prison-6.17.0.tar.xz) = 57356
diff --git a/graphics/kgraphviewer/distinfo b/graphics/kgraphviewer/distinfo
index 9548a599cdf1..492efc844aa5 100644
--- a/graphics/kgraphviewer/distinfo
+++ b/graphics/kgraphviewer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381465
-SHA256 (KDE/release-service/25.04.3/kgraphviewer-25.04.3.tar.xz) = 7b79dbccc43e13c26d76b2606b7ec6c2d87e857a116ca2c7150d3188dfdf870f
-SIZE (KDE/release-service/25.04.3/kgraphviewer-25.04.3.tar.xz) = 1595568
+TIMESTAMP = 1754646375
+SHA256 (KDE/release-service/25.08.0/kgraphviewer-25.08.0.tar.xz) = f6222f3db0c66de88f5114e1ecd158ae5d33fd3fccce6e338085f5ff4b6500d5
+SIZE (KDE/release-service/25.08.0/kgraphviewer-25.08.0.tar.xz) = 1599596
diff --git a/graphics/kgraphviewer/pkg-plist b/graphics/kgraphviewer/pkg-plist
index 17f798888de1..3532ef6c3d54 100644
--- a/graphics/kgraphviewer/pkg-plist
+++ b/graphics/kgraphviewer/pkg-plist
@@ -113,6 +113,7 @@ share/locale/km/LC_MESSAGES/kgraphviewer.mo
share/locale/ko/LC_MESSAGES/kgraphviewer.mo
share/locale/ku/LC_MESSAGES/kgraphviewer.mo
share/locale/lt/LC_MESSAGES/kgraphviewer.mo
+share/locale/lv/LC_MESSAGES/kgraphviewer.mo
share/locale/mai/LC_MESSAGES/kgraphviewer.mo
share/locale/mr/LC_MESSAGES/kgraphviewer.mo
share/locale/nb/LC_MESSAGES/kgraphviewer.mo
diff --git a/graphics/kimagemapeditor/distinfo b/graphics/kimagemapeditor/distinfo
index e0e6233beacf..0da0e37b3a33 100644
--- a/graphics/kimagemapeditor/distinfo
+++ b/graphics/kimagemapeditor/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381467
-SHA256 (KDE/release-service/25.04.3/kimagemapeditor-25.04.3.tar.xz) = 18a0117e8d55530e6a83a57845b142cfa4951f1ce33c870122077eb229089640
-SIZE (KDE/release-service/25.04.3/kimagemapeditor-25.04.3.tar.xz) = 1077212
+TIMESTAMP = 1754646377
+SHA256 (KDE/release-service/25.08.0/kimagemapeditor-25.08.0.tar.xz) = 2fb04770dad70bafa6d3ed55635e5f5652fbec5b62558d59196f60170a26cd17
+SIZE (KDE/release-service/25.08.0/kimagemapeditor-25.08.0.tar.xz) = 1077444
diff --git a/graphics/kolourpaint/Makefile b/graphics/kolourpaint/Makefile
index 30f06b00a03e..5650ceaffbc8 100644
--- a/graphics/kolourpaint/Makefile
+++ b/graphics/kolourpaint/Makefile
@@ -1,22 +1,22 @@
PORTNAME= kolourpaint
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
+PORTREVISION= 1
CATEGORIES= graphics kde kde-applications
MAINTAINER= kde@FreeBSD.org
COMMENT= KDE paint program
WWW= http://www.kolourpaint.org
-USES= cmake compiler:c++11-lang desktop-file-utils gettext kde:6 \
- qt:6 tar:xz xorg
-USE_KDE= auth bookmarks codecs completion config configwidgets \
- coreaddons crash guiaddons i18n iconthemes itemmodels \
- itemviews jobwidgets kio libkexiv2 libksane notifications \
- parts service solid sonnet textwidgets unitconversion \
- widgetsaddons windowsystem xmlgui \
+USES= cmake compiler:c++17-lang desktop-file-utils gettext-tools gl \
+ kde:6 qt:6 tar:xz xorg
+USE_GL= opengl
+USE_KDE= bookmarks colorscheme completion config configwidgets \
+ coreaddons crash guiaddons i18n itemviews jobwidgets kio \
+ libksane service solid widgetsaddons xmlgui \
ecm:build
+USE_LDCONFIG= yes
USE_QT= base
USE_XORG= x11
-USE_LDCONFIG= yes
OPTIONS_DEFINE= DOCS
diff --git a/graphics/kolourpaint/distinfo b/graphics/kolourpaint/distinfo
index e04df4d2be8c..2d6cd1efc4b3 100644
--- a/graphics/kolourpaint/distinfo
+++ b/graphics/kolourpaint/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381470
-SHA256 (KDE/release-service/25.04.3/kolourpaint-25.04.3.tar.xz) = 819b9bad15d927b150b95ac71d398f04df392762b848bb6be619e3fda3357d1f
-SIZE (KDE/release-service/25.04.3/kolourpaint-25.04.3.tar.xz) = 5314956
+TIMESTAMP = 1754646380
+SHA256 (KDE/release-service/25.08.0/kolourpaint-25.08.0.tar.xz) = 6c89b27490f8d8e6cf69114d056f9d96bb7bd7a8177086c74055fa875c123df6
+SIZE (KDE/release-service/25.08.0/kolourpaint-25.08.0.tar.xz) = 5317604
diff --git a/graphics/kolourpaint/files/patch-CMakeLists.txt b/graphics/kolourpaint/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..2e6df0d40d0d
--- /dev/null
+++ b/graphics/kolourpaint/files/patch-CMakeLists.txt
@@ -0,0 +1,24 @@
+Remove unused TextWidgets.
+Don't globally install color palettes only used by this application.
+
+Ref: https://invent.kde.org/graphics/kolourpaint/-/merge_requests/79
+
+--- CMakeLists.txt.orig 2025-08-07 03:21:56 UTC
++++ CMakeLists.txt
+@@ -39,7 +39,6 @@ find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS
+ WidgetsAddons
+ KIO
+ XmlGui
+- TextWidgets
+ JobWidgets
+ Crash
+ )
+@@ -368,7 +367,7 @@ install(FILES org.kde.kolourpaint.appdata.xml DESTINAT
+
+ install(PROGRAMS org.kde.kolourpaint.desktop DESTINATION ${KDE_INSTALL_APPDIR})
+ install(FILES org.kde.kolourpaint.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
+-install(DIRECTORY colors DESTINATION ${KDE_INSTALL_CONFDIR})
++install(DIRECTORY colors DESTINATION ${KDE_INSTALL_DATADIR}/kolourpaint)
+
+ if(BUILD_DOC)
+ add_subdirectory(doc)
diff --git a/graphics/kolourpaint/files/patch-lgpl_generic_kpColorCollection.cpp b/graphics/kolourpaint/files/patch-lgpl_generic_kpColorCollection.cpp
new file mode 100644
index 000000000000..8c471bb27858
--- /dev/null
+++ b/graphics/kolourpaint/files/patch-lgpl_generic_kpColorCollection.cpp
@@ -0,0 +1,24 @@
+Don't globally install color palettes only used by this application.
+
+Ref: https://invent.kde.org/graphics/kolourpaint/-/merge_requests/79
+
+--- lgpl/generic/kpColorCollection.cpp.orig 2025-08-07 03:21:56 UTC
++++ lgpl/generic/kpColorCollection.cpp
+@@ -80,7 +80,7 @@ QStringList kpColorCollection::installedCollections()
+ {
+ QStringList paletteList;
+
+- QStringList paths = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("colors"), QStandardPaths::LocateDirectory);
++ QStringList paths = QStandardPaths::locateAll(QStandardPaths::AppDataLocation, QStringLiteral("colors"), QStandardPaths::LocateDirectory);
+ for (const auto &path : paths) {
+ paletteList.append(QDir(path).entryList(QStringList(), QDir::Files));
+ }
+@@ -206,7 +206,7 @@ bool kpColorCollection::openKDE(const QString &name, Q
+ return false;
+ }
+
+- QString filename = QStandardPaths::locate(QStandardPaths::GenericConfigLocation, QStringLiteral("colors/") + name);
++ QString filename = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("colors/") + name);
+ if (filename.isEmpty()) {
+ #if DEBUG_KP_COLOR_COLLECTION
+ qCDebug(kpLogColorCollection) << "could not find file";
diff --git a/graphics/kolourpaint/pkg-plist b/graphics/kolourpaint/pkg-plist
index ff897f76c5fd..c0aab3952d85 100644
--- a/graphics/kolourpaint/pkg-plist
+++ b/graphics/kolourpaint/pkg-plist
@@ -8,6 +8,11 @@ share/icons/hicolor/22x22/apps/kolourpaint.png
share/icons/hicolor/32x32/apps/kolourpaint.png
share/icons/hicolor/48x48/apps/kolourpaint.png
share/icons/hicolor/scalable/apps/kolourpaint.svgz
+%%DATADIR%%/colors/40.colors
+%%DATADIR%%/colors/Oxygen.colors
+%%DATADIR%%/colors/Rainbow.colors
+%%DATADIR%%/colors/Royal.colors
+%%DATADIR%%/colors/Web.colors
%%DATADIR%%/icons/hicolor/16x16/actions/tool_brush.png
%%DATADIR%%/icons/hicolor/16x16/actions/tool_color_eraser.png
%%DATADIR%%/icons/hicolor/16x16/actions/tool_color_picker.png
diff --git a/graphics/kontrast/Makefile b/graphics/kontrast/Makefile
index a9b069d7967d..fd4662cc1a03 100644
--- a/graphics/kontrast/Makefile
+++ b/graphics/kontrast/Makefile
@@ -6,7 +6,7 @@ MAINTAINER= kde@FreeBSD.org
COMMENT= Color contrast checker
WWW= https://apps.kde.org/en/kontrast
-LIB_DEPENDS= libQCoro6Core.so:devel/qcoro@qt6 \
+LIB_DEPENDS= libQCoro6Core.so:devel/qcoro \
libfuturesql6.so:databases/futuresql
USES= cmake compiler:c++11-lang gettext kde:6 pkgconfig qt:6 tar:xz
diff --git a/graphics/kontrast/distinfo b/graphics/kontrast/distinfo
index 12e4ccd689f5..5d2c427a5725 100644
--- a/graphics/kontrast/distinfo
+++ b/graphics/kontrast/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381472
-SHA256 (KDE/release-service/25.04.3/kontrast-25.04.3.tar.xz) = 5cc134f4af4c6dabbae7df83c8945c3986cb9ae0455d0d315517fa96905eecf8
-SIZE (KDE/release-service/25.04.3/kontrast-25.04.3.tar.xz) = 219564
+TIMESTAMP = 1754646382
+SHA256 (KDE/release-service/25.08.0/kontrast-25.08.0.tar.xz) = 08e2a68bd6fbdc041c01a523be23b36175e171a902bd83c333bac6ee873b9d18
+SIZE (KDE/release-service/25.08.0/kontrast-25.08.0.tar.xz) = 219664
diff --git a/graphics/kqtquickcharts/Makefile b/graphics/kqtquickcharts/Makefile
index 1271f59038bd..28993d92cb06 100644
--- a/graphics/kqtquickcharts/Makefile
+++ b/graphics/kqtquickcharts/Makefile
@@ -4,16 +4,13 @@ CATEGORIES= graphics kde kde-applications
MAINTAINER= kde@FreeBSD.org
COMMENT= QtQuick plugin to render interactive charts
-WWW= https://github.com/KDE/kqtquickcharts
+WWW= https://invent.kde.org/libraries/kqtquickcharts
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
-USES= cmake compiler:c++11-lang kde:5 qt:5 tar:xz
+USES= cmake compiler:c++17-lang kde:6 qt:6 tar:xz
USE_KDE= ecm:build
-USE_QT= core declarative gui network \
- buildtools:build qmake:build
-
-OPTIONS_DEFINE= DOCS
+USE_QT= base declarative
.include <bsd.port.mk>
diff --git a/graphics/kqtquickcharts/distinfo b/graphics/kqtquickcharts/distinfo
index d13c571db276..f4e06aa7a1d6 100644
--- a/graphics/kqtquickcharts/distinfo
+++ b/graphics/kqtquickcharts/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381475
-SHA256 (KDE/release-service/25.04.3/kqtquickcharts-25.04.3.tar.xz) = 6df9523d905944957d227aec009cdf45f202b279296269dde8f63a02b549c028
-SIZE (KDE/release-service/25.04.3/kqtquickcharts-25.04.3.tar.xz) = 30856
+TIMESTAMP = 1754646385
+SHA256 (KDE/release-service/25.08.0/kqtquickcharts-25.08.0.tar.xz) = ac19517bd806746b3ed4f9c63ed219bb083bcfc614426400d0959c6a4638672c
+SIZE (KDE/release-service/25.08.0/kqtquickcharts-25.08.0.tar.xz) = 30984
diff --git a/graphics/kqtquickcharts/pkg-plist b/graphics/kqtquickcharts/pkg-plist
index f0f31c707d12..ad4b9ac1cd8a 100644
--- a/graphics/kqtquickcharts/pkg-plist
+++ b/graphics/kqtquickcharts/pkg-plist
@@ -1,6 +1,6 @@
-include/KF5/kqtquickcharts_version.h
+include/KF6/kqtquickcharts_version.h
lib/cmake/KQtQuickCharts/KQtQuickChartsConfig.cmake
-lib/cmake/KQtQuickCharts/KQtQuickChartsVersion.cmake
+lib/cmake/KQtQuickCharts/KQtQuickChartsConfigVersion.cmake
%%QT_QMLDIR%%/org/kde/charts/BarChart.qml
%%QT_QMLDIR%%/org/kde/charts/Label.qml
%%QT_QMLDIR%%/org/kde/charts/LegendItem.qml
diff --git a/graphics/krita/Makefile b/graphics/krita/Makefile
index 8ae8ff4dd70b..24f610a46773 100644
--- a/graphics/krita/Makefile
+++ b/graphics/krita/Makefile
@@ -1,6 +1,6 @@
PORTNAME= krita
DISTVERSION= 5.2.9
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics kde
MASTER_SITES= KDE/stable/${PORTNAME}/${DISTVERSION}
DIST_SUBDIR= KDE/${PORTNAME}
diff --git a/graphics/ksanecore/Makefile b/graphics/ksanecore/Makefile
index c4be293c1ced..ba59b9a4eac5 100644
--- a/graphics/ksanecore/Makefile
+++ b/graphics/ksanecore/Makefile
@@ -9,10 +9,8 @@ WWW= https://invent.kde.org/libraries/ksanecore
LIB_DEPENDS= libsane.so:graphics/sane-backends
USES= cmake compiler:c++11-lang gettext kde:6 qt:6 tar:xz
-USE_KDE= ecm:build
+USE_KDE= i18n ecm:build
USE_QT= base
USE_LDCONFIG= yes
-OPTIONS_DEFINE= DOCS
-
.include <bsd.port.mk>
diff --git a/graphics/ksanecore/distinfo b/graphics/ksanecore/distinfo
index 7bedb5fb8837..b9f37d03bfe9 100644
--- a/graphics/ksanecore/distinfo
+++ b/graphics/ksanecore/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381477
-SHA256 (KDE/release-service/25.04.3/ksanecore-25.04.3.tar.xz) = e5a8fdda44d4a27f0c90c2b808e48a737999ec200fd0b70f75fabb33a9013302
-SIZE (KDE/release-service/25.04.3/ksanecore-25.04.3.tar.xz) = 53972
+TIMESTAMP = 1754646387
+SHA256 (KDE/release-service/25.08.0/ksanecore-25.08.0.tar.xz) = 92424bdaa2859ebe53722ea663d4a679484361dca0ab1489236a976efff2f1a9
+SIZE (KDE/release-service/25.08.0/ksanecore-25.08.0.tar.xz) = 56496
diff --git a/graphics/laternamagica/Makefile b/graphics/laternamagica/Makefile
index bf22e603a185..48472db6300c 100644
--- a/graphics/laternamagica/Makefile
+++ b/graphics/laternamagica/Makefile
@@ -1,6 +1,6 @@
PORTNAME= laternamagica
PORTVERSION= 0.5
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics gnustep
MASTER_SITES= SAVANNAH/gap
DISTNAME= LaternaMagica-${PORTVERSION}
diff --git a/graphics/lazpaint/Makefile b/graphics/lazpaint/Makefile
index d5b4763ea1ed..1d5f1a6658e6 100644
--- a/graphics/lazpaint/Makefile
+++ b/graphics/lazpaint/Makefile
@@ -1,7 +1,7 @@
PORTNAME= lazpaint
PORTVERSION= 7.3
DISTVERSIONPREFIX= v
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics
PKGNAMESUFFIX= ${LAZARUS_PKGNAMESUFFIX}
diff --git a/graphics/libavif/Makefile b/graphics/libavif/Makefile
index 7b8a8e1ad561..6c7729de2c8d 100644
--- a/graphics/libavif/Makefile
+++ b/graphics/libavif/Makefile
@@ -1,7 +1,7 @@
PORTNAME= libavif
PORTVERSION= 1.3.0
DISTVERSIONPREFIX= v
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/graphics/libetonyek01/Makefile b/graphics/libetonyek01/Makefile
index ec330333ec5a..12ba70dafce6 100644
--- a/graphics/libetonyek01/Makefile
+++ b/graphics/libetonyek01/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libetonyek
DISTVERSION= 0.1.12
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= graphics
MASTER_SITES= LODEV/${PORTNAME}
@@ -27,7 +27,7 @@ USE_LDCONFIG= yes
GNU_CONFIGURE= yes
-MDDS_VERSION= 2.1
+MDDS_VERSION= 3.1
INSTALL_TARGET= install-strip
diff --git a/graphics/libetonyek01/files/patch-configure b/graphics/libetonyek01/files/patch-configure
new file mode 100644
index 000000000000..9bf4bd1ac3a4
--- /dev/null
+++ b/graphics/libetonyek01/files/patch-configure
@@ -0,0 +1,22 @@
+--- configure.orig 2024-11-26 10:12:06 UTC
++++ configure
+@@ -1552,8 +1552,8 @@ Optional Packages:
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+- --with-mdds=2.1|2.0|1.5|1.4|1.2|1.0|0.x
+- Specify which version of mdds to use (2.1 is the
++ --with-mdds=3.1|3.0|2.1|2.0|1.5|1.4|1.2|1.0|0.x
++ Specify which version of mdds to use (3.1 is the
+ default)
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
+ both]
+@@ -3741,7 +3741,7 @@ else $as_nop
+ then :
+ withval=$with_mdds;
+ else $as_nop
+- with_mdds="2.1"
++ with_mdds="3.1"
+ fi
+
+
diff --git a/graphics/libetonyek01/files/patch-src_lib_IWAParser.cpp b/graphics/libetonyek01/files/patch-src_lib_IWAParser.cpp
new file mode 100644
index 000000000000..e15898be04ef
--- /dev/null
+++ b/graphics/libetonyek01/files/patch-src_lib_IWAParser.cpp
@@ -0,0 +1,29 @@
+From 7cfb47c7614b01ee4b4ccb881f0ab37e9e2e497d Mon Sep 17 00:00:00 2001
+From: jlorber <jlorber@linagora.com>
+Date: Tue, 04 Mar 2025 12:12:41 +0100
+Subject: [PATCH] tdf#151166 add missing Numbers function names
+
+Change-Id: I5f01e4f1412cf2d4a679fbf5d511475cf04c77ee
+Reviewed-on: https://gerrit.libreoffice.org/c/libetonyek/+/182473
+Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
+Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
+--- src/lib/IWAParser.cpp.orig 2024-11-05 21:56:01 UTC
++++ src/lib/IWAParser.cpp
+@@ -3593,7 +3593,16 @@ bool IWAParser::parseFormula(const IWAMessage &msg, IW
+ {285, "Union.Ranges"},
+ {286, "SeriesSum"}, {287, "Polynomial"}, {288, "WeiBull"},
+ {297, "PlainText"}, {298, "Stock"}, {299, "StockH"}, {300, "Currency"},
+- {301, "CurrencyH"}, {302, "CurrencyConvert"}, {303, "CurrencyCode"}
++ {301, "CurrencyH"}, {302, "CurrencyConvert"}, {303, "CurrencyCode"},
++ {304, "IsNumber"}, {305, "IsText"}, {306, "IsDate"},
++ {309, "MaxIfs"}, {310, "MinIfs"}, {311, "XIRR"}, {312, "XNPV"}, {313, "Ifs"},
++ {314, "XLookup"}, {315, "XMatch"}, {316, "Subtotal"}, {317, "CountMatches"},
++ {318, "TextBefore"}, {319, "TextBetween"}, {320, "TextAfter"},
++ {321, "Regex"}, {322, "Reference.Name"}, {323, "FormulaText"}, {324, "Regex.Extract"},
++ {325, "GetPivotData"}, {328, "TextJoin"}, {329, "Concat"},
++ {330, "BitAnd"}, {331, "BitOr"}, {332, "BitXor"}, {333, "BitLShift"}, {334, "BitRShift"},
++ {335, "ISOWeekNum"}, {336, "Switch"}
++
+ };
+ Formula child;
+ std::ostringstream s;
diff --git a/graphics/libetonyek01/files/patch-src_lib_IWORKTable.cpp b/graphics/libetonyek01/files/patch-src_lib_IWORKTable.cpp
new file mode 100644
index 000000000000..897139d22224
--- /dev/null
+++ b/graphics/libetonyek01/files/patch-src_lib_IWORKTable.cpp
@@ -0,0 +1,13 @@
+* ``is_tree_valid()`` method has been renamed to ``valid_tree()``in mdds-3.0
+
+--- src/lib/IWORKTable.cpp.orig 2024-11-05 21:56:01 UTC
++++ src/lib/IWORKTable.cpp
+@@ -168,7 +168,7 @@ void writeBorder(librevenge::RVNGPropertyList &props,
+
+ void writeBorder(librevenge::RVNGPropertyList &props, const char *name, IWORKGridLine_t &line, unsigned index)
+ {
+- if (!line.is_tree_valid())
++ if (!line.valid_tree())
+ line.build_tree();
+
+ IWORKStylePtr_t style;
diff --git a/graphics/libheif/Makefile b/graphics/libheif/Makefile
index b317dec2dacc..ddd51a17ce73 100644
--- a/graphics/libheif/Makefile
+++ b/graphics/libheif/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libheif
DISTVERSION= 1.19.8
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= https://github.com/strukturag/${PORTNAME}/releases/download/v${DISTVERSION}/
diff --git a/graphics/libimagequant/Makefile b/graphics/libimagequant/Makefile
index acff213ed8dc..f992c4f8166c 100644
--- a/graphics/libimagequant/Makefile
+++ b/graphics/libimagequant/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libimagequant
PORTVERSION= 4.3.4
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/libkdcraw/Makefile b/graphics/libkdcraw/Makefile
index 392db9f1bcdb..9cce77478587 100644
--- a/graphics/libkdcraw/Makefile
+++ b/graphics/libkdcraw/Makefile
@@ -5,7 +5,7 @@ PKGNAMESUFFIX?= -${FLAVOR}
MAINTAINER= kde@FreeBSD.org
COMMENT= LibRaw interface for KDE
-WWW= https://www.digikam.org/
+WWW= https://invent.kde.org/graphics/libkdcraw
LICENSE= GPLv2+
diff --git a/graphics/libkdcraw/distinfo b/graphics/libkdcraw/distinfo
index e93e20f65214..743ff369f367 100644
--- a/graphics/libkdcraw/distinfo
+++ b/graphics/libkdcraw/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381480
-SHA256 (KDE/release-service/25.04.3/libkdcraw-25.04.3.tar.xz) = 4ffd227cf0838c9a46be9f682d2431928e4663ad54de1f765bd8ae258eb110e8
-SIZE (KDE/release-service/25.04.3/libkdcraw-25.04.3.tar.xz) = 37344
+TIMESTAMP = 1754646389
+SHA256 (KDE/release-service/25.08.0/libkdcraw-25.08.0.tar.xz) = 4640d1740dbb85487e57a5f07a65aca90093ec107cdc32430fea88fbea0797be
+SIZE (KDE/release-service/25.08.0/libkdcraw-25.08.0.tar.xz) = 37328
diff --git a/graphics/libkexiv2/Makefile b/graphics/libkexiv2/Makefile
index 25aa8d185c2b..79294e16212a 100644
--- a/graphics/libkexiv2/Makefile
+++ b/graphics/libkexiv2/Makefile
@@ -1,26 +1,18 @@
PORTNAME= libkexiv2
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
CATEGORIES= graphics kde kde-applications
-PKGNAMESUFFIX= -${FLAVOR}
+PKGNAMESUFFIX= -qt6
MAINTAINER= kde@FreeBSD.org
COMMENT= Exiv2 library interface for KDE
-WWW= https://www.digikam.org/
-
-FLAVORS= qt6 qt5
-FLAVOR?= qt6
+WWW= https://invent.kde.org/graphics/libkexiv2
LIB_DEPENDS= libexiv2.so:graphics/exiv2
-USES= cmake compiler:c++11-lang kde:${FLAVOR:S/qt//} pkgconfig \
- qt:${FLAVOR:S/qt//} tar:xz
+USES= cmake compiler:c++11-lang kde:6 pkgconfig \
+ qt:6 tar:xz
USE_KDE= ecm:build
-_USE_QT_qt5= core gui buildtools:build qmake:build
-_USE_QT_qt6= base
-USE_QT= ${_USE_QT_${FLAVOR}}
-
+USE_QT= base
USE_LDCONFIG= yes
-PLIST= pkg-plist.${FLAVOR}
-
.include <bsd.port.mk>
diff --git a/graphics/libkexiv2/distinfo b/graphics/libkexiv2/distinfo
index e326d9a001db..ba2778e7f8f1 100644
--- a/graphics/libkexiv2/distinfo
+++ b/graphics/libkexiv2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381482
-SHA256 (KDE/release-service/25.04.3/libkexiv2-25.04.3.tar.xz) = d7b8d791e9db8facf16a95447daa597efaaa6b42d300fa7cbe9d1ff5b9e7b5a8
-SIZE (KDE/release-service/25.04.3/libkexiv2-25.04.3.tar.xz) = 60660
+TIMESTAMP = 1754646392
+SHA256 (KDE/release-service/25.08.0/libkexiv2-25.08.0.tar.xz) = 9bb4e5858f35d0dba813ade3c0ff6e7fe750b0930d60a7f4609b48c9563d45eb
+SIZE (KDE/release-service/25.08.0/libkexiv2-25.08.0.tar.xz) = 60612
diff --git a/graphics/libkexiv2/pkg-plist b/graphics/libkexiv2/pkg-plist
index 05ea91de27d0..ce7acb0b7b5d 100644
--- a/graphics/libkexiv2/pkg-plist
+++ b/graphics/libkexiv2/pkg-plist
@@ -1,18 +1,18 @@
-include/KF5/KExiv2/KExiv2/KExiv2
-include/KF5/KExiv2/KExiv2/KExiv2Data
-include/KF5/KExiv2/KExiv2/KExiv2Previews
-include/KF5/KExiv2/KExiv2/RotationMatrix
-include/KF5/KExiv2/kexiv2/kexiv2.h
-include/KF5/KExiv2/kexiv2/kexiv2data.h
-include/KF5/KExiv2/kexiv2/kexiv2previews.h
-include/KF5/KExiv2/kexiv2/libkexiv2_export.h
-include/KF5/KExiv2/kexiv2/rotationmatrix.h
-include/KF5/KExiv2/libkexiv2_version.h
-lib/cmake/KF5KExiv2/KF5KExiv2Config.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2ConfigVersion.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2Targets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2Targets.cmake
-lib/libKF5KExiv2.so
-lib/libKF5KExiv2.so.15.0.0
-lib/libKF5KExiv2.so.5.0.0
-share/qlogging-categories5/libkexiv2.categories
+include/KExiv2Qt6/KExiv2/KExiv2
+include/KExiv2Qt6/KExiv2/KExiv2Data
+include/KExiv2Qt6/KExiv2/KExiv2Previews
+include/KExiv2Qt6/KExiv2/RotationMatrix
+include/KExiv2Qt6/kexiv2/kexiv2.h
+include/KExiv2Qt6/kexiv2/kexiv2data.h
+include/KExiv2Qt6/kexiv2/kexiv2previews.h
+include/KExiv2Qt6/kexiv2/libkexiv2_export.h
+include/KExiv2Qt6/kexiv2/rotationmatrix.h
+include/KExiv2Qt6/libkexiv2_version.h
+lib/cmake/KExiv2Qt6/KExiv2Qt6Config.cmake
+lib/cmake/KExiv2Qt6/KExiv2Qt6ConfigVersion.cmake
+lib/cmake/KExiv2Qt6/KExiv2Qt6Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/KExiv2Qt6/KExiv2Qt6Targets.cmake
+lib/libKExiv2Qt6.so
+lib/libKExiv2Qt6.so.0
+lib/libKExiv2Qt6.so.5.1.0
+share/qlogging-categories6/libkexiv2.categories
diff --git a/graphics/libkexiv2/pkg-plist.qt5 b/graphics/libkexiv2/pkg-plist.qt5
deleted file mode 100644
index 3d9431d398ef..000000000000
--- a/graphics/libkexiv2/pkg-plist.qt5
+++ /dev/null
@@ -1,18 +0,0 @@
-include/KF5/KExiv2/KExiv2/KExiv2
-include/KF5/KExiv2/KExiv2/KExiv2Data
-include/KF5/KExiv2/KExiv2/KExiv2Previews
-include/KF5/KExiv2/KExiv2/RotationMatrix
-include/KF5/KExiv2/kexiv2/kexiv2.h
-include/KF5/KExiv2/kexiv2/kexiv2data.h
-include/KF5/KExiv2/kexiv2/kexiv2previews.h
-include/KF5/KExiv2/kexiv2/libkexiv2_export.h
-include/KF5/KExiv2/kexiv2/rotationmatrix.h
-include/KF5/KExiv2/libkexiv2_version.h
-lib/cmake/KF5KExiv2/KF5KExiv2Config.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2ConfigVersion.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2Targets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2Targets.cmake
-lib/libKF5KExiv2.so
-lib/libKF5KExiv2.so.15.0.0
-lib/libKF5KExiv2.so.5.1.0
-share/qlogging-categories5/libkexiv2.categories
diff --git a/graphics/libkexiv2/pkg-plist.qt6 b/graphics/libkexiv2/pkg-plist.qt6
deleted file mode 100644
index ce7acb0b7b5d..000000000000
--- a/graphics/libkexiv2/pkg-plist.qt6
+++ /dev/null
@@ -1,18 +0,0 @@
-include/KExiv2Qt6/KExiv2/KExiv2
-include/KExiv2Qt6/KExiv2/KExiv2Data
-include/KExiv2Qt6/KExiv2/KExiv2Previews
-include/KExiv2Qt6/KExiv2/RotationMatrix
-include/KExiv2Qt6/kexiv2/kexiv2.h
-include/KExiv2Qt6/kexiv2/kexiv2data.h
-include/KExiv2Qt6/kexiv2/kexiv2previews.h
-include/KExiv2Qt6/kexiv2/libkexiv2_export.h
-include/KExiv2Qt6/kexiv2/rotationmatrix.h
-include/KExiv2Qt6/libkexiv2_version.h
-lib/cmake/KExiv2Qt6/KExiv2Qt6Config.cmake
-lib/cmake/KExiv2Qt6/KExiv2Qt6ConfigVersion.cmake
-lib/cmake/KExiv2Qt6/KExiv2Qt6Targets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/KExiv2Qt6/KExiv2Qt6Targets.cmake
-lib/libKExiv2Qt6.so
-lib/libKExiv2Qt6.so.0
-lib/libKExiv2Qt6.so.5.1.0
-share/qlogging-categories6/libkexiv2.categories
diff --git a/graphics/libksane/distinfo b/graphics/libksane/distinfo
index 099188f8753f..240d831a1b69 100644
--- a/graphics/libksane/distinfo
+++ b/graphics/libksane/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381485
-SHA256 (KDE/release-service/25.04.3/libksane-25.04.3.tar.xz) = eab97e319cd8e020e63c49ca3c18188898d326d3568c939a5640b42cdc1c265f
-SIZE (KDE/release-service/25.04.3/libksane-25.04.3.tar.xz) = 155880
+TIMESTAMP = 1754646394
+SHA256 (KDE/release-service/25.08.0/libksane-25.08.0.tar.xz) = 99461b135bb55125ca987d4911a32a4c4bac33fdfbf710b6483551ac961fb63b
+SIZE (KDE/release-service/25.08.0/libksane-25.08.0.tar.xz) = 156152
diff --git a/graphics/libopenraw/Makefile b/graphics/libopenraw/Makefile
index 928c93b1ffaf..2e9c69a77a80 100644
--- a/graphics/libopenraw/Makefile
+++ b/graphics/libopenraw/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libopenraw
PORTVERSION= 0.3.7
-PORTREVISION= 17
+PORTREVISION= 18
CATEGORIES= graphics
MASTER_SITES= http://libopenraw.freedesktop.org/download/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
diff --git a/graphics/libpano13/Makefile b/graphics/libpano13/Makefile
index bd42b6ed125f..e994421d3cf7 100644
--- a/graphics/libpano13/Makefile
+++ b/graphics/libpano13/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libpano13
DISTVERSION= 2.9.22
-PORTREVISION= 10
+PORTREVISION= 11
CATEGORIES= graphics java
MASTER_SITES= SF/panotools/${PORTNAME}/${PORTNAME}-${DISTVERSION}
diff --git a/graphics/librsvg2-rust/Makefile b/graphics/librsvg2-rust/Makefile
index 93a33e2bb2ac..cf69e8ec9d40 100644
--- a/graphics/librsvg2-rust/Makefile
+++ b/graphics/librsvg2-rust/Makefile
@@ -1,6 +1,6 @@
PORTNAME= librsvg
DISTVERSION= 2.60.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics gnome
MASTER_SITES= GNOME
PKGNAMESUFFIX= 2-rust
@@ -23,7 +23,7 @@ LIB_DEPENDS= libdav1d.so:multimedia/dav1d \
TEST_DEPENDS= urw-base35-fonts>0:x11-fonts/urw-base35-fonts
USES= cargo compiler:c11 cpe gettext gnome meson pkgconfig \
- python:build shebangfix tar:xz vala:build
+ python:build shebangfix tar:xz
CPE_VENDOR= gnome
SHEBANG_FILES= meson/*.py \
benchmarks/*.py \
@@ -43,12 +43,17 @@ MAKE_ENV= ${CARGO_ENV}
MESON_ARGS= -Dtests=true
-OPTIONS_DEFINE= DOCS
+OPTIONS_DEFINE= DOCS VAPI
+OPTIONS_DEFAULT= VAPI
+OPTIONS_SUB= yes
DOCS_BUILD_DEPENDS= gi-docgen:textproc/py-gi-docgen
DOCS_MESON_ENABLED= docs
+VAPI_MESON_ENABLED= vala
+VAPI_USES= vala:build
+
post-install-DOCS-off:
- ${LOCALBASE}/bin/rst2man --no-datestamp ${WRKSRC}/rsvg-convert.rst --output=${STAGEDIR}${PREFIX}/share/man/man1/rsvg-convert.1
+ ${LOCALBASE}/bin/rst2man --no-datestamp ${WRKSRC}/rsvg-convert.rst > ${STAGEDIR}${PREFIX}/share/man/man1/rsvg-convert.1
.include <bsd.port.mk>
diff --git a/graphics/librsvg2-rust/pkg-plist b/graphics/librsvg2-rust/pkg-plist
index 56de103c9104..559abe64d1d5 100644
--- a/graphics/librsvg2-rust/pkg-plist
+++ b/graphics/librsvg2-rust/pkg-plist
@@ -140,5 +140,5 @@ share/man/man1/rsvg-convert.1.gz
%%PORTDOCS%%share/doc/Rsvg-2.0/urlmap.js
share/gir-1.0/Rsvg-2.0.gir
share/thumbnailers/librsvg.thumbnailer
-share/vala/vapi/librsvg-2.0.deps
-share/vala/vapi/librsvg-2.0.vapi
+%%VAPI%%share/vala/vapi/librsvg-2.0.deps
+%%VAPI%%share/vala/vapi/librsvg-2.0.vapi
diff --git a/graphics/libyuv/Makefile b/graphics/libyuv/Makefile
index e3120680cf7c..b36293681dbf 100644
--- a/graphics/libyuv/Makefile
+++ b/graphics/libyuv/Makefile
@@ -9,10 +9,10 @@
# -> #define LIBYUV_VERSION 1741
PORTNAME= libyuv
-DISTVERSION= 0.0.1789
-PORTREVISION= 2
+DISTVERSION= 0.0.1903
CATEGORIES= graphics
-MASTER_SITES= LOCAL/mikael/libyuv/:libyuv \
+MASTER_SITES= LOCAL/rene/libyuv/:libyuv \
+ LOCAL/mikael/libyuv/:libyuv \
LOCAL/tcberner/libyuv/:libyuv
DISTFILES= libyuv-${LIBYUV_HASH}.tar.gz:libyuv
@@ -27,7 +27,7 @@ USE_LDCONFIG= yes
SUB_FILES= libyuv.pc
SUB_LIST= DISTVERSION=${DISTVERSION}
-LIBYUV_HASH= 0896c34873e83ca3d1690286a94e278a81d0a760
+LIBYUV_HASH= 5a9a6ea936085310f3b9fbd4a774868e6a984ec4
OPTIONS_DEFINE= JPEG
OPTIONS_DEFAULT=JPEG
diff --git a/graphics/libyuv/distinfo b/graphics/libyuv/distinfo
index f7ae931a1852..465a6c68a412 100644
--- a/graphics/libyuv/distinfo
+++ b/graphics/libyuv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1634992380
-SHA256 (libyuv-0896c34873e83ca3d1690286a94e278a81d0a760.tar.gz) = cfcb8714ec229ea471a5f2964a2f16a1cfb6eaae5fdee41924576274e4caf554
-SIZE (libyuv-0896c34873e83ca3d1690286a94e278a81d0a760.tar.gz) = 490087
+TIMESTAMP = 1756635329
+SHA256 (libyuv-5a9a6ea936085310f3b9fbd4a774868e6a984ec4.tar.gz) = 2b681f011a07827c27cb40156f5724a0d4972a61d5b8ad389adba27d7f5c22fb
+SIZE (libyuv-5a9a6ea936085310f3b9fbd4a774868e6a984ec4.tar.gz) = 620901
diff --git a/graphics/libyuv/files/patch-CMakeLists.txt b/graphics/libyuv/files/patch-CMakeLists.txt
deleted file mode 100644
index f8bfd4ded342..000000000000
--- a/graphics/libyuv/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-https://chromium.googlesource.com/libyuv/libyuv.git/+/c365da9c6c3a%5E!/
-https://chromium.googlesource.com/libyuv/libyuv.git/+/f428a642e3d8%5E!/
-
---- CMakeLists.txt.orig 2021-10-26 08:34:37 UTC
-+++ CMakeLists.txt
-@@ -35,10 +35,10 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} )
- TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} )
-
-
--INCLUDE ( FindJPEG )
-+find_package ( JPEG )
- if (JPEG_FOUND)
- include_directories( ${JPEG_INCLUDE_DIR} )
-- target_link_libraries( yuvconvert ${JPEG_LIBRARY} )
-+ target_link_libraries( ${ly_lib_shared} ${JPEG_LIBRARY} )
- add_definitions( -DHAVE_JPEG )
- endif()
-
diff --git a/graphics/libyuv/pkg-plist b/graphics/libyuv/pkg-plist
index 964dd11c8eba..e2413194b6d7 100644
--- a/graphics/libyuv/pkg-plist
+++ b/graphics/libyuv/pkg-plist
@@ -8,6 +8,8 @@ include/libyuv/convert_argb.h
include/libyuv/convert_from.h
include/libyuv/convert_from_argb.h
include/libyuv/cpu_id.h
+include/libyuv/cpu_support.h
+include/libyuv/loongson_intrinsics.h
include/libyuv/macros_msa.h
include/libyuv/mjpeg_decoder.h
include/libyuv/planar_functions.h
@@ -15,8 +17,10 @@ include/libyuv/rotate.h
include/libyuv/rotate_argb.h
include/libyuv/rotate_row.h
include/libyuv/row.h
+include/libyuv/row_sve.h
include/libyuv/scale.h
include/libyuv/scale_argb.h
+include/libyuv/scale_rgb.h
include/libyuv/scale_row.h
include/libyuv/scale_uv.h
include/libyuv/version.h
diff --git a/graphics/linux-rl9-spirv-tools/Makefile b/graphics/linux-rl9-spirv-tools/Makefile
index 891ea07522e2..680d3ed2d331 100644
--- a/graphics/linux-rl9-spirv-tools/Makefile
+++ b/graphics/linux-rl9-spirv-tools/Makefile
@@ -1,6 +1,7 @@
PORTNAME= spirv-tools
PORTVERSION= 2024.4
DISTVERSIONSUFFIX= -1.el9
+PORTREVISION= 1
CATEGORIES= graphics linux
MAINTAINER= emulation@FreeBSD.org
diff --git a/graphics/linux-rl9-spirv-tools/pkg-plist.aarch64 b/graphics/linux-rl9-spirv-tools/pkg-plist.aarch64
index 00448ffa84b6..67225b6da632 100644
--- a/graphics/linux-rl9-spirv-tools/pkg-plist.aarch64
+++ b/graphics/linux-rl9-spirv-tools/pkg-plist.aarch64
@@ -18,3 +18,4 @@ usr/lib64/libSPIRV-Tools.so
%%PORTDOCS%%%%DOCSDIR%%/CHANGES
%%PORTDOCS%%%%DOCSDIR%%/README.md
usr/share/licenses/spirv-tools/LICENSE
+usr/share/licenses/spirv-tools-libs/LICENSE
diff --git a/graphics/linux-rl9-spirv-tools/pkg-plist.amd64 b/graphics/linux-rl9-spirv-tools/pkg-plist.amd64
index 2bcc796006cb..7cfbe5cc297f 100644
--- a/graphics/linux-rl9-spirv-tools/pkg-plist.amd64
+++ b/graphics/linux-rl9-spirv-tools/pkg-plist.amd64
@@ -25,3 +25,4 @@ usr/lib64/libSPIRV-Tools.so
%%PORTDOCS%%%%DOCSDIR%%/CHANGES
%%PORTDOCS%%%%DOCSDIR%%/README.md
usr/share/licenses/spirv-tools/LICENSE
+usr/share/licenses/spirv-tools-libs/LICENSE
diff --git a/graphics/luminance-qt5/Makefile b/graphics/luminance-qt5/Makefile
index 532c8fcee36d..0ce2ee284d26 100644
--- a/graphics/luminance-qt5/Makefile
+++ b/graphics/luminance-qt5/Makefile
@@ -1,6 +1,6 @@
PORTNAME= luminance-hdr
DISTVERSION= 2.6.1.1
-PORTREVISION= 30
+PORTREVISION= 31
CATEGORIES= graphics
MASTER_SITES= SF/qtpfsgui/luminance/${DISTVERSION}
diff --git a/graphics/lunasvg/Makefile b/graphics/lunasvg/Makefile
index cc1870a689b5..bc16a568936f 100644
--- a/graphics/lunasvg/Makefile
+++ b/graphics/lunasvg/Makefile
@@ -4,7 +4,7 @@ DISTVERSION= 3.2.1
PORTREVISION= 1
CATEGORIES= graphics
-MAINTAINER= alster@vinterdalen.se
+MAINTAINER= alven@FreeBSD.org
COMMENT= SVG rendering and manipulation library in C++
WWW= https://github.com/sammycage/lunasvg/
diff --git a/graphics/magnum-examples/Makefile b/graphics/magnum-examples/Makefile
index 861d03e36afb..9fed0bffefcb 100644
--- a/graphics/magnum-examples/Makefile
+++ b/graphics/magnum-examples/Makefile
@@ -2,7 +2,7 @@ PORTNAME= magnum-examples
DISTVERSIONPREFIX= v
DISTVERSION= 2020.06-265
DISTVERSIONSUFFIX= -gb843f07a
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/magnum-integration/Makefile b/graphics/magnum-integration/Makefile
index 05f290c77afd..243b9ad852cd 100644
--- a/graphics/magnum-integration/Makefile
+++ b/graphics/magnum-integration/Makefile
@@ -1,10 +1,12 @@
PORTNAME= magnum-integration
DISTVERSIONPREFIX= v
DISTVERSION= 2020.06-264
-PORTREVISION= 3
+PORTREVISION= 4
DISTVERSIONSUFFIX= -g50ac4db
CATEGORIES= graphics
+BROKEN= work/magnum-integration-2020.06-264-g50ac4db/src/Magnum/ImGuiIntegration/Context.cpp:322:23: error: no member named 'TextureId' in 'ImDrawCmd', "pcmd->TextureId"
+
MAINTAINER= yuri@FreeBSD.org
COMMENT= Magnum Graphics: Integration libraries
WWW= https://magnum.graphics/ \
diff --git a/graphics/matplotlib-cpp/Makefile b/graphics/matplotlib-cpp/Makefile
index 7e2e2f301e07..85ef8a8c81f8 100644
--- a/graphics/matplotlib-cpp/Makefile
+++ b/graphics/matplotlib-cpp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= matplotlib-cpp
PORTVERSION= g20210422
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics devel
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/menyoki/Makefile b/graphics/menyoki/Makefile
index f4fbd570362b..83226eac876a 100644
--- a/graphics/menyoki/Makefile
+++ b/graphics/menyoki/Makefile
@@ -1,7 +1,7 @@
PORTNAME= menyoki
DISTVERSIONPREFIX= v
DISTVERSION= 1.7.0
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/mesa-devel/Makefile b/graphics/mesa-devel/Makefile
index 0324cbd7b567..59b4833cb313 100644
--- a/graphics/mesa-devel/Makefile
+++ b/graphics/mesa-devel/Makefile
@@ -1,13 +1,14 @@
PORTNAME= mesa
-DISTVERSION= 25.1-branchpoint-4146
-DISTVERSIONSUFFIX= -ga3a53b7cee4
+DISTVERSION= 25.2-branchpoint-2486
+DISTVERSIONSUFFIX= -g443446aa82c
+PORTREVISION= 1
CATEGORIES= graphics
PKGNAMESUFFIX= -devel
PATCH_SITES= https://github.com/mesa3d/${GL_PROJECT}/commit/:github
PATCHFILES+= 700efacda59c.patch:-p1:github
PATCH_SITES+= ${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/
-PATCHFILES+= 2930dcbb3329.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22246
+PATCHFILES+= de5cf0a44b50.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22246
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Bleeding edge Mesa drivers (OpenCL, OpenGL, Vulkan)
@@ -46,8 +47,8 @@ MESON_ARGS= -Dgallium-mediafoundation=disabled \
LDFLAGS+= -Wl,--undefined-version # https://gitlab.freedesktop.org/mesa/mesa/-/issues/8003
PLIST_SUB= ARCH=${ARCH:S/amd/x86_/}
-OPTIONS_DEFINE= LLVM LTO OPENCL VAAPI VDPAU VKLAYERS WAYLAND X11 ZSTD
-OPTIONS_DEFAULT= LLVM LTO OPENCL VAAPI VDPAU VKLAYERS WAYLAND X11 ZSTD
+OPTIONS_DEFINE= DRM LLVM LTO OPENCL VAAPI VDPAU VKLAYERS WAYLAND X11 ZSTD
+OPTIONS_DEFAULT= DRM LLVM LTO OPENCL VAAPI VDPAU VKLAYERS WAYLAND X11 ZSTD
OPTIONS_GROUP= GALLIUM VULKAN
OPTIONS_GROUP_GALLIUM= crocus iris panfrost r600 radeonsi
OPTIONS_GROUP_VULKAN= anv hasvk radv
@@ -81,7 +82,7 @@ VULKAN_DESC= Vulkan drivers
anv_DESC= Skylake and newer (implies OPENCL)
anv_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \
glslangValidator:graphics/glslang
-anv_MESON_ON= ${"${ARCH:Mamd64}":?:-Dintel-rt=disabled} # https://gitlab.freedesktop.org/mesa/mesa/-/issues/10629
+anv_MESON_ON= ${"${ARCH:Naarch64:Namd64}":?-Dintel-rt=disabled:} # https://gitlab.freedesktop.org/mesa/mesa/-/issues/10629
anv_IMPLIES= OPENCL
hasvk_DESC= Ivy Bridge, Haswell, Broadwell
radv_DESC= Southern Islands and newer
@@ -95,6 +96,11 @@ COINST_SUB_FILES= libmap.conf
COINST_SUB_LIST= SUFFIX=${PKGNAMESUFFIX}
COINST_PLIST_SUB_OFF= SUFFIX=
+DRM_DESC= KMS console support for Vulkan (KHR_display)
+DRM_LIB_DEPENDS= libudev.so:devel/libudev-devd \
+ libdisplay-info.so:sysutils/libdisplay-info
+DRM_MESON_ENABLED= display-info
+
LLVM_DESC= Build with LLVM support (see implies)
LLVM_USES= llvm:min=18,lib,noexport
LLVM_CONFIGURE_ENV= LLVM_CONFIG=${LLVM_CONFIG}
@@ -128,7 +134,7 @@ VDPAU_IMPLIES= X11
VKLAYERS_DESC= Vulkan layers: ${VKLAYERS_MESON_ON:C/.*=//} (implies ${VKLAYERS_IMPLIES})
VKLAYERS_BUILD_DEPENDS= glslangValidator:graphics/glslang
VKLAYERS_LIB_DEPENDS= libpng.so:graphics/png
-VKLAYERS_MESON_ON= -Dvulkan-layers=device-select,overlay,screenshot,vram-report-limit
+VKLAYERS_MESON_ON= -Dvulkan-layers=anti-lag,device-select,overlay,screenshot,vram-report-limit
VKLAYERS_IMPLIES= ${"${PORT_OPTIONS:Manv}":?anv:radv} # any from OPTIONS_GROUP_VULKAN
WAYLAND_BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols
diff --git a/graphics/mesa-devel/distinfo b/graphics/mesa-devel/distinfo
index 29370da9910e..8a07361e0125 100644
--- a/graphics/mesa-devel/distinfo
+++ b/graphics/mesa-devel/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1752271520
-SHA256 (mesa-25.1-branchpoint-4146-ga3a53b7cee4.tar.bz2) = 3f198c05a6f7578d74419138723d7f07434ad041ffeee431a5006580e344bed3
-SIZE (mesa-25.1-branchpoint-4146-ga3a53b7cee4.tar.bz2) = 58297488
+TIMESTAMP = 1756506972
+SHA256 (mesa-25.2-branchpoint-2486-g443446aa82c.tar.bz2) = 99473b50954a52067bea039c05eeec02663d43013c42e58b6e0ba06504e3ab9e
+SIZE (mesa-25.2-branchpoint-2486-g443446aa82c.tar.bz2) = 58604647
SHA256 (700efacda59c.patch) = 0d567fe737ad1404e1f12d7cd018826d9095c23835f1ed5aaa1c81cb58d3d008
SIZE (700efacda59c.patch) = 983
-SHA256 (2930dcbb3329.patch) = f90ab77950ba1a56d165f0bc8a3cbd9c5f624bb5c67d1c7f337316027e8295e8
-SIZE (2930dcbb3329.patch) = 1638
+SHA256 (de5cf0a44b50.patch) = c9e02e5eb1fb4e3aa2bc7a7e0a70f28f3ee609835ff0b59e827893a821983851
+SIZE (de5cf0a44b50.patch) = 1108
diff --git a/graphics/mesa-devel/files/patch-suffix b/graphics/mesa-devel/files/patch-suffix
index eacfcc31f2fc..8783f8460a0a 100644
--- a/graphics/mesa-devel/files/patch-suffix
+++ b/graphics/mesa-devel/files/patch-suffix
@@ -132,8 +132,8 @@ Library selection is handled by libglvnd and/or libmap.conf.
[files('anv_gem.c'), anv_hasvk_entrypoints[0]],
include_directories : [
inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler,
---- src/mapi/es1api/meson.build.orig 2025-03-28 23:07:17 UTC
-+++ src/mapi/es1api/meson.build
+--- src/mesa/glapi/es1api/meson.build.orig 2025-08-06 21:21:09 UTC
++++ src/mesa/glapi/es1api/meson.build
@@ -23,7 +23,7 @@ libglesv1_cm = shared_library(
)
@@ -143,8 +143,8 @@ Library selection is handled by libglvnd and/or libmap.conf.
['libgles1_public.c', es1_glapi_mapi_tmp_h],
vs_module_defs : gles1_def,
c_args : [
---- src/mapi/es2api/meson.build.orig 2025-03-28 23:07:17 UTC
-+++ src/mapi/es2api/meson.build
+--- src/mesa/glapi/es2api/meson.build.orig 2025-08-06 21:21:09 UTC
++++ src/mesa/glapi/es2api/meson.build
@@ -23,7 +23,7 @@ libgles2 = shared_library(
)
@@ -154,8 +154,8 @@ Library selection is handled by libglvnd and/or libmap.conf.
['libgles2_public.c', es2_glapi_mapi_tmp_h],
vs_module_defs : gles2_def,
c_args : [
---- src/mapi/shared-glapi/meson.build.orig 2025-03-28 23:07:17 UTC
-+++ src/mapi/shared-glapi/meson.build
+--- src/mesa/glapi/shared-glapi/meson.build.orig 2025-08-06 21:21:09 UTC
++++ src/mesa/glapi/shared-glapi/meson.build
@@ -11,7 +11,7 @@ libglapi = static_library(
)
diff --git a/graphics/mesa-devel/pkg-plist b/graphics/mesa-devel/pkg-plist
index a825e5bd2183..71eaba960928 100644
--- a/graphics/mesa-devel/pkg-plist
+++ b/graphics/mesa-devel/pkg-plist
@@ -26,6 +26,7 @@ lib/libEGL_mesa%%SUFFIX%%.so.0.0.0
%%OPENCL%%lib/libRusticlOpenCL.so
%%OPENCL%%lib/libRusticlOpenCL.so.1
%%OPENCL%%lib/libRusticlOpenCL.so.1.0.0
+%%VKLAYERS%%lib/libVkLayer_MESA_anti_lag.so
%%VKLAYERS%%lib/libVkLayer_MESA_device_select.so
%%VKLAYERS%%lib/libVkLayer_MESA_overlay.so
%%VKLAYERS%%lib/libVkLayer_MESA_screenshot.so
@@ -56,4 +57,5 @@ share/drirc.d/00-mesa%%SUFFIX%%-defaults.conf
%%anv%%%%NO_COINST%%share/vulkan/icd.d/intel_icd.%%ARCH%%.json
%%hasvk%%share/vulkan/icd.d/intel_hasvk_icd.%%ARCH%%.json
%%radv%%%%NO_COINST%%share/vulkan/icd.d/radeon_icd.%%ARCH%%.json
+%%VKLAYERS%%share/vulkan/implicit_layer.d/VkLayer_MESA_anti_lag.json
%%VKLAYERS%%share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
diff --git a/graphics/mesa-dri/Makefile.common b/graphics/mesa-dri/Makefile.common
index c88815f3a177..6862ddeb24ac 100644
--- a/graphics/mesa-dri/Makefile.common
+++ b/graphics/mesa-dri/Makefile.common
@@ -28,7 +28,8 @@ LICENSE_FILE= ${WRKSRC}/docs/license.rst
COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//}
-BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}mako>0:textproc/py-mako@${PY_FLAVOR}
+BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}mako>0:textproc/py-mako@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR}
.if ${COMPONENT} != clover
.if ${PORT_OPTIONS:MX11}
USES+= xorg
diff --git a/graphics/milton/Makefile b/graphics/milton/Makefile
index 69ea12d94dde..b7046ea73029 100644
--- a/graphics/milton/Makefile
+++ b/graphics/milton/Makefile
@@ -1,7 +1,7 @@
PORTNAME= milton
PORTVERSION= 1.9.1
DISTVERSIONPREFIX= v
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= danfe@FreeBSD.org
diff --git a/graphics/mupdf/Makefile b/graphics/mupdf/Makefile
index 057881eb99c8..348a7b7e7b1d 100644
--- a/graphics/mupdf/Makefile
+++ b/graphics/mupdf/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mupdf
-DISTVERSION= 1.25.6
+DISTVERSION= 1.26.7
DISTVERSIONSUFFIX= -source
PORTEPOCH= 1
CATEGORIES= graphics
@@ -12,34 +12,41 @@ WWW= https://www.mupdf.com/
LICENSE= AGPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-LIB_DEPENDS= libcurl.so:ftp/curl \
+BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils
+LIB_DEPENDS= libbrotlidec.so:archivers/brotli \
+ libbrotlienc.so:archivers/brotli \
+ libcurl.so:ftp/curl \
libfreetype.so:print/freetype2 \
+ libgumbo.so:devel/gumbo \
libharfbuzz.so:print/harfbuzz \
libjbig2dec.so:graphics/jbig2dec \
libopenjp2.so:graphics/openjpeg
-USES= compiler:c++11-lang cpe gl gmake jpeg pkgconfig xorg
+USES= compiler:c++20-lang cpe gl gmake jpeg pkgconfig ssl xorg
CPE_VENDOR= artifex
USE_GL= gl glut
USE_LDCONFIG= yes
USE_XORG= x11 xcursor xext xinerama xrandr
-MAKE_ARGS= build=release \
+_VERSION_MINOR= ${DISTVERSION:E}
+_VERSION_MAJOR= ${DISTVERSION:R:E}
+MAKE_ARGS= AR=${LOCALBASE}/bin/ar \
+ build=release \
mandir=${PREFIX}/share/man \
prefix=${PREFIX} \
- SOVERSION=${DISTVERSION} \
+ shared=yes \
+ USE_SYSTEM_LIBS=yes \
verbose=yes \
- XCFLAGS+="-I${WRKSRC}/include/mupdf -fPIC" \
- XLIBS+="-L${LOCALBASE}/lib -L${WRKSRC}/build/release"
+ XCFLAGS="${CFLAGS} -I${WRKSRC}/include/mupdf -fPIC" \
+ XLIB_LDFLAGS="-Wl,-soname,libmupdf.so.${_VERSION_MAJOR}" \
+ XLIBS="-L${LOCALBASE}/lib -L${WRKSRC}/build/release ${LDFLAGS}"
ALL_TARGET= all extra-libs
-
-# pkg-config to avoid the conflict with openjpeg15
-CFLAGS+= `pkg-config --cflags libopenjp2`
-LDFLAGS+= `pkg-config --libs libjpeg libopenjp2` -ljbig2dec
+INSTALL_TARGET= install install-extra-apps
BINARY_ALIAS= bash=/bin/sh
-PLIST_SUB= SOVERSION=${PORTVERSION}
+PLIST_SUB= VERSION_MAJOR=${_VERSION_MAJOR} \
+ VERSION_MINOR=${_VERSION_MINOR}
OPTIONS_DEFINE= DOCS JS SCROLL
OPTIONS_DEFAULT= SCROLL
@@ -52,18 +59,8 @@ JS_MAKE_ARGS= V8_PRESENT=1 \
V8LIBS=-lv8
SCROLL_EXTRA_PATCHES= ${FILESDIR}/scroll_hack-platform__x11__pdfapp.c
-post-patch:
- @${REINPLACE_CMD} -e 's/-pipe -O2//' -e 's/-ldl//' ${WRKSRC}/Makerules
-
post-install:
${MV} ${STAGEDIR}${PREFIX}/bin/mupdf-x11 \
${STAGEDIR}${PREFIX}/bin/mupdf
- ${INSTALL_PROGRAM} \
- ${WRKSRC}/build/release/muraster \
- ${STAGEDIR}${PREFIX}/bin
- ${LN} -s libmupdf.so.${PORTVERSION} \
- ${STAGEDIR}${PREFIX}/lib/libmupdf.so
- ${LN} -s libmupdf-third.so.${PORTVERSION} \
- ${STAGEDIR}${PREFIX}/lib/libmupdf-third.so
.include <bsd.port.mk>
diff --git a/graphics/mupdf/distinfo b/graphics/mupdf/distinfo
index 44b8a35ce355..6de8172eb793 100644
--- a/graphics/mupdf/distinfo
+++ b/graphics/mupdf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745040655
-SHA256 (mupdf-1.25.6-source.tar.gz) = 5a51d8bd5ed690d3c8bf82b3c7c3f1cf5f9dde40887a36e3b5aa78a7e3ccd1bb
-SIZE (mupdf-1.25.6-source.tar.gz) = 54637444
+TIMESTAMP = 1756458715
+SHA256 (mupdf-1.26.7-source.tar.gz) = 52014fcecac48ae3ead947eb90572ff7da9acf9550711675872944e8ef8c4966
+SIZE (mupdf-1.26.7-source.tar.gz) = 64529748
diff --git a/graphics/mupdf/files/patch-Makefile b/graphics/mupdf/files/patch-Makefile
index f0e900bcb7d8..5e6e9433c122 100644
--- a/graphics/mupdf/files/patch-Makefile
+++ b/graphics/mupdf/files/patch-Makefile
@@ -1,26 +1,11 @@
-$OpenBSD: patch-Makefile,v 1.12 2016/12/12 10:54:39 sthen Exp $
---- Makefile.orig 2022-10-30 12:16:03 UTC
+--- Makefile.orig 2025-07-13 20:35:02 UTC
+++ Makefile
-@@ -257,17 +257,19 @@ $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ)
- $(THREAD_LIB) : $(THREAD_OBJ)
- $(PKCS7_LIB) : $(PKCS7_OBJ)
- else
--MUPDF_LIB = $(OUT)/libmupdf.a
-+MUPDF_LIB = $(OUT)/libmupdf.so.$(SOVERSION)
-+THIRD_LIB = $(OUT)/libmupdf-third.so.$(SOVERSION)
- LIBS_TO_INSTALL_IN_LIB = $(MUPDF_LIB) $(THIRD_LIB)
--THIRD_LIB = $(OUT)/libmupdf-third.a
- ifneq ($(USE_SYSTEM_GLUT),yes)
- THIRD_GLUT_LIB = $(OUT)/libmupdf-glut.a
- endif
- THREAD_LIB = $(OUT)/libmupdf-threads.a
- PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a
+@@ -116,7 +116,7 @@ $(OUT)/generated/%.o : generated/%.c
+ $(CC_CMD) $(LIB_CFLAGS) $(WARNING_CFLAGS) $(THIRD_CFLAGS) $(THREADING_CFLAGS)
--$(MUPDF_LIB) : $(MUPDF_OBJ)
-+$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB)
-+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf.so.$(SOVERSION)
- $(THIRD_LIB) : $(THIRD_OBJ)
-+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-third.so.$(SOVERSION)
- $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ)
- $(THREAD_LIB) : $(THREAD_OBJ)
- $(PKCS7_LIB) : $(PKCS7_OBJ)
+ $(OUT)/generated/%.o : generated/%.c
+- $(CC_CMD) $(WARNING_CFLAGS) $(LIB_CFLAGS) -O0
++ $(CC_CMD) $(WARNING_CFLAGS) $(LIB_CFLAGS)
+
+ $(OUT)/platform/x11/%.o : platform/x11/%.c
+ $(CC_CMD) $(WARNING_CFLAGS) $(X11_CFLAGS)
diff --git a/graphics/mupdf/files/patch-Makerules b/graphics/mupdf/files/patch-Makerules
index d03a83bbeb7d..00558a02e170 100644
--- a/graphics/mupdf/files/patch-Makerules
+++ b/graphics/mupdf/files/patch-Makerules
@@ -1,9 +1,57 @@
---- Makerules.orig 2023-11-24 18:10:54 UTC
+--- Makerules.orig 2025-05-19 15:38:05 UTC
+++ Makerules
-@@ -331,3 +331,43 @@ ifeq "$(OS)" "ios"
+@@ -131,28 +131,28 @@ else ifeq ($(build),release)
+ CFLAGS += -pipe -g
+ LDFLAGS += -g
+ else ifeq ($(build),release)
+- CFLAGS += -pipe -O2 -DNDEBUG
++ CFLAGS += -DNDEBUG
+ LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s
+ else ifeq ($(build),small)
+ CFLAGS += -pipe -Os -DNDEBUG
+ LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s
+ else ifeq ($(build),valgrind)
+- CFLAGS += -pipe -O2 -DNDEBUG -DPACIFY_VALGRIND
++ CFLAGS += -DNDEBUG -DPACIFY_VALGRIND
+ LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s
+ else ifeq ($(build),sanitize)
+ CFLAGS += -pipe -g $(SANITIZE_FLAGS)
+ LDFLAGS += -g $(SANITIZE_FLAGS)
+ else ifeq ($(build),sanitize-release)
+- CFLAGS += -pipe -O2 -DNDEBUG $(SANITIZE_FLAGS)
++ CFLAGS += -DNDEBUG $(SANITIZE_FLAGS)
+ LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s $(SANITIZE_FLAGS)
+ else ifeq ($(build),profile)
+- CFLAGS += -pipe -O2 -DNDEBUG -pg
++ CFLAGS += -DNDEBUG -pg
+ LDFLAGS += -pg
+ else ifeq ($(build),coverage)
+ CFLAGS += -pipe -g -pg -fprofile-arcs -ftest-coverage
+ LIBS += -lgcov
+ else ifeq ($(build),native)
+- CFLAGS += -pipe -O2 -DNDEBUG -march=native
++ CFLAGS += -DNDEBUG -march=native
+ LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s
+ else ifeq ($(build),memento)
+ CFLAGS += -pipe -g -DMEMENTO -DMEMENTO_MUPDF_HACKS
+@@ -162,11 +162,11 @@ else ifeq ($(build),memento)
+ ifeq ($(OS),OpenBSD)
+ LIBS += -L /usr/local/lib -l execinfo
+ else
+- LIBS += -ldl
++ LIBS +=
+ endif
+ endif
+ else ifeq ($(build),gperf)
+- CFLAGS += -pipe -O2 -DNDEBUG -DGPERF
++ CFLAGS += -DNDEBUG -DGPERF
+ LIBS += -lprofiler
+ else
+ $(error unknown build setting: '$(build)')
+@@ -201,6 +201,46 @@ ifeq ($(OS),Darwin)
LD = xcrun ld
RANLIB = xcrun ranlib
- endif
+
+
+
+# added from FreeBSD ports
@@ -44,3 +92,15 @@
+USE_SYSTEM_ZLIB := yes
+SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
+SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
+ ifneq ($(ARCHFLAGS),)
+ $(warning "MacOS with ARCHFLAGS set. Assuming we are building for arm64, and setting HAVE_LIBCRYPTO to no.")
+ HAVE_LIBCRYPTO := no
+@@ -220,7 +260,7 @@ else
+ HAVE_OBJCOPY := yes
+ endif
+
+- ifeq ($(OS),OpenBSD)
++ ifeq ($(OS),FreeBSD)
+ LDFLAGS += -pthread
+ endif
+
diff --git a/graphics/mupdf/pkg-plist b/graphics/mupdf/pkg-plist
index 59aea52d60a8..5418efd0aad6 100644
--- a/graphics/mupdf/pkg-plist
+++ b/graphics/mupdf/pkg-plist
@@ -1,10 +1,12 @@
bin/mupdf
bin/mupdf-gl
+bin/mupdf-x11-curl
bin/muraster
bin/mutool
include/mupdf/fitz.h
include/mupdf/fitz/archive.h
include/mupdf/fitz/band-writer.h
+include/mupdf/fitz/barcode.h
include/mupdf/fitz/bidi.h
include/mupdf/fitz/bitmap.h
include/mupdf/fitz/buffer.h
@@ -29,6 +31,7 @@ include/mupdf/fitz/hash.h
include/mupdf/fitz/heap-imp.h
include/mupdf/fitz/heap.h
include/mupdf/fitz/image.h
+include/mupdf/fitz/json.h
include/mupdf/fitz/link.h
include/mupdf/fitz/log.h
include/mupdf/fitz/outline.h
@@ -79,10 +82,9 @@ include/mupdf/pdf/resource.h
include/mupdf/pdf/xref.h
include/mupdf/pdf/zugferd.h
include/mupdf/ucdn.h
-lib/libmupdf-third.so
-lib/libmupdf-third.so.%%SOVERSION%%
lib/libmupdf.so
-lib/libmupdf.so.%%SOVERSION%%
+lib/libmupdf.so.%%VERSION_MAJOR%%
+lib/libmupdf.so.%%VERSION_MAJOR%%.%%VERSION_MINOR%%
share/man/man1/mupdf.1.gz
share/man/man1/mutool.1.gz
%%PORTDOCS%%%%DOCSDIR%%/CHANGES
diff --git a/graphics/noaa-apt/Makefile b/graphics/noaa-apt/Makefile
index c688f52664cd..36f06d22e552 100644
--- a/graphics/noaa-apt/Makefile
+++ b/graphics/noaa-apt/Makefile
@@ -1,7 +1,7 @@
PORTNAME= noaa-apt
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.1
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/nvidia-drm-510-kmod-devel/Makefile b/graphics/nvidia-drm-510-kmod-devel/Makefile
index d4ce531391ae..f92968300b96 100644
--- a/graphics/nvidia-drm-510-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-510-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64.03
+NVIDIA_DISTVERSION?= 580.76.05
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-510-kmod
diff --git a/graphics/nvidia-drm-510-kmod-devel/distinfo b/graphics/nvidia-drm-510-kmod-devel/distinfo
index 9e09837b4dca..00cf581225a3 100644
--- a/graphics/nvidia-drm-510-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-510-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1751449876
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
+TIMESTAMP = 1755364011
+SHA256 (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 11731d9ca505cf86a70afc448f9a2d283a8baab78b446507c405a5f75d46ad4d
+SIZE (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 288781800
SHA256 (freebsd-drm-kmod-drm_v5.10.163_8_GH0.tar.gz) = ea6b04c4bbd859248aabb81bc2abc19f33d68f57decf2e41dd8f5341124227d4
SIZE (freebsd-drm-kmod-drm_v5.10.163_8_GH0.tar.gz) = 20095720
diff --git a/graphics/nvidia-drm-510-kmod/distinfo b/graphics/nvidia-drm-510-kmod/distinfo
index 5a0a0be07601..00cf581225a3 100644
--- a/graphics/nvidia-drm-510-kmod/distinfo
+++ b/graphics/nvidia-drm-510-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750206403
-SHA256 (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 1d132020452851b3122dd38ae96eb578a510755c73c417db788611ede51e76ce
-SIZE (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 261338796
+TIMESTAMP = 1755364011
+SHA256 (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 11731d9ca505cf86a70afc448f9a2d283a8baab78b446507c405a5f75d46ad4d
+SIZE (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 288781800
SHA256 (freebsd-drm-kmod-drm_v5.10.163_8_GH0.tar.gz) = ea6b04c4bbd859248aabb81bc2abc19f33d68f57decf2e41dd8f5341124227d4
SIZE (freebsd-drm-kmod-drm_v5.10.163_8_GH0.tar.gz) = 20095720
diff --git a/graphics/nvidia-drm-515-kmod-devel/Makefile b/graphics/nvidia-drm-515-kmod-devel/Makefile
index a7b333ad8441..9a7779674a24 100644
--- a/graphics/nvidia-drm-515-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-515-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64.03
+NVIDIA_DISTVERSION?= 580.76.05
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-515-kmod
diff --git a/graphics/nvidia-drm-515-kmod-devel/distinfo b/graphics/nvidia-drm-515-kmod-devel/distinfo
index 3f48f97f6c2f..97d609d39c68 100644
--- a/graphics/nvidia-drm-515-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-515-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1751449949
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
+TIMESTAMP = 1755364521
+SHA256 (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 11731d9ca505cf86a70afc448f9a2d283a8baab78b446507c405a5f75d46ad4d
+SIZE (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 288781800
SHA256 (freebsd-drm-kmod-drm_v5.15.160_5_GH0.tar.gz) = 93fc30211374d028ec8e24872cc5ac03dab13309b637cf3bdad27f2dcb808fc0
SIZE (freebsd-drm-kmod-drm_v5.15.160_5_GH0.tar.gz) = 26098570
diff --git a/graphics/nvidia-drm-515-kmod/distinfo b/graphics/nvidia-drm-515-kmod/distinfo
index 502c10c13483..97d609d39c68 100644
--- a/graphics/nvidia-drm-515-kmod/distinfo
+++ b/graphics/nvidia-drm-515-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750410360
-SHA256 (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 1d132020452851b3122dd38ae96eb578a510755c73c417db788611ede51e76ce
-SIZE (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 261338796
+TIMESTAMP = 1755364521
+SHA256 (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 11731d9ca505cf86a70afc448f9a2d283a8baab78b446507c405a5f75d46ad4d
+SIZE (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 288781800
SHA256 (freebsd-drm-kmod-drm_v5.15.160_5_GH0.tar.gz) = 93fc30211374d028ec8e24872cc5ac03dab13309b637cf3bdad27f2dcb808fc0
SIZE (freebsd-drm-kmod-drm_v5.15.160_5_GH0.tar.gz) = 26098570
diff --git a/graphics/nvidia-drm-61-kmod-devel/Makefile b/graphics/nvidia-drm-61-kmod-devel/Makefile
index c36ca3f0be6e..e8fbbb6feaa2 100644
--- a/graphics/nvidia-drm-61-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-61-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64.03
+NVIDIA_DISTVERSION?= 580.76.05
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-61-kmod
diff --git a/graphics/nvidia-drm-61-kmod-devel/distinfo b/graphics/nvidia-drm-61-kmod-devel/distinfo
index 03da35fa84ce..a9fd4c3a6835 100644
--- a/graphics/nvidia-drm-61-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-61-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1751450006
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
+TIMESTAMP = 1755364649
+SHA256 (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 11731d9ca505cf86a70afc448f9a2d283a8baab78b446507c405a5f75d46ad4d
+SIZE (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 288781800
SHA256 (freebsd-drm-kmod-drm_v6.1.128_4_GH0.tar.gz) = ef5ee435493351a4d123f53b503c018a5195604ad4954a052d40f103643de39d
SIZE (freebsd-drm-kmod-drm_v6.1.128_4_GH0.tar.gz) = 37105937
diff --git a/graphics/nvidia-drm-61-kmod/distinfo b/graphics/nvidia-drm-61-kmod/distinfo
index d16f4303ff76..a9fd4c3a6835 100644
--- a/graphics/nvidia-drm-61-kmod/distinfo
+++ b/graphics/nvidia-drm-61-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750400626
-SHA256 (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 1d132020452851b3122dd38ae96eb578a510755c73c417db788611ede51e76ce
-SIZE (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 261338796
+TIMESTAMP = 1755364649
+SHA256 (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 11731d9ca505cf86a70afc448f9a2d283a8baab78b446507c405a5f75d46ad4d
+SIZE (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 288781800
SHA256 (freebsd-drm-kmod-drm_v6.1.128_4_GH0.tar.gz) = ef5ee435493351a4d123f53b503c018a5195604ad4954a052d40f103643de39d
SIZE (freebsd-drm-kmod-drm_v6.1.128_4_GH0.tar.gz) = 37105937
diff --git a/graphics/nvidia-drm-66-kmod-devel/Makefile b/graphics/nvidia-drm-66-kmod-devel/Makefile
index b7153ab3390f..a77b91bb3c97 100644
--- a/graphics/nvidia-drm-66-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-66-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64.03
+NVIDIA_DISTVERSION?= 580.76.05
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-66-kmod
diff --git a/graphics/nvidia-drm-66-kmod-devel/distinfo b/graphics/nvidia-drm-66-kmod-devel/distinfo
index a419269fc0d5..424605b61ea9 100644
--- a/graphics/nvidia-drm-66-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-66-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1751450069
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
+TIMESTAMP = 1755364756
+SHA256 (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 11731d9ca505cf86a70afc448f9a2d283a8baab78b446507c405a5f75d46ad4d
+SIZE (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 288781800
SHA256 (freebsd-drm-kmod-drm_v6.6.25_5_GH0.tar.gz) = 412fe7b8db00ce7ed6339fa3099f9b17fe78b115ccb05a8714228ce70c9d0882
SIZE (freebsd-drm-kmod-drm_v6.6.25_5_GH0.tar.gz) = 38486809
diff --git a/graphics/nvidia-drm-66-kmod/distinfo b/graphics/nvidia-drm-66-kmod/distinfo
index a232ff36b2cf..424605b61ea9 100644
--- a/graphics/nvidia-drm-66-kmod/distinfo
+++ b/graphics/nvidia-drm-66-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750400699
-SHA256 (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 1d132020452851b3122dd38ae96eb578a510755c73c417db788611ede51e76ce
-SIZE (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 261338796
+TIMESTAMP = 1755364756
+SHA256 (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 11731d9ca505cf86a70afc448f9a2d283a8baab78b446507c405a5f75d46ad4d
+SIZE (NVIDIA-FreeBSD-x86_64-580.76.05.tar.xz) = 288781800
SHA256 (freebsd-drm-kmod-drm_v6.6.25_5_GH0.tar.gz) = 412fe7b8db00ce7ed6339fa3099f9b17fe78b115ccb05a8714228ce70c9d0882
SIZE (freebsd-drm-kmod-drm_v6.6.25_5_GH0.tar.gz) = 38486809
diff --git a/graphics/nvidia-drm-kmod-devel/Makefile b/graphics/nvidia-drm-kmod-devel/Makefile
index 25785ec2b87e..16c565478534 100644
--- a/graphics/nvidia-drm-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-DISTVERSION= 575.64.03
+DISTVERSION?= 580.76.05
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
diff --git a/graphics/ocrs/Makefile b/graphics/ocrs/Makefile
index ed7cbd319a70..7a9b966b1938 100644
--- a/graphics/ocrs/Makefile
+++ b/graphics/ocrs/Makefile
@@ -1,7 +1,7 @@
PORTNAME= ocrs
DISTVERSIONPREFIX= ocrs-cli-v
-DISTVERSION= 0.10.3
-PORTREVISION= 2
+DISTVERSION= 0.10.4
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -50,7 +50,7 @@ CARGO_CRATES= adler2-2.0.0 \
image-0.25.5 \
image-webp-0.2.0 \
itoa-1.0.10 \
- lexopt-0.3.0 \
+ lexopt-0.3.1 \
libc-0.2.151 \
log-0.4.25 \
memchr-2.7.4 \
@@ -66,11 +66,13 @@ CARGO_CRATES= adler2-2.0.0 \
rayon-1.10.0 \
rayon-core-1.12.1 \
ring-0.17.7 \
- rten-0.18.0 \
- rten-imageproc-0.18.0 \
- rten-simd-0.18.0 \
- rten-tensor-0.18.0 \
- rten-vecmath-0.18.0 \
+ rten-0.21.0 \
+ rten-base-0.21.0 \
+ rten-gemm-0.21.0 \
+ rten-imageproc-0.21.0 \
+ rten-simd-0.21.0 \
+ rten-tensor-0.21.0 \
+ rten-vecmath-0.21.0 \
rustc-hash-2.0.0 \
rustc_version-0.4.0 \
rustls-0.23.22 \
@@ -90,6 +92,7 @@ CARGO_CRATES= adler2-2.0.0 \
syn-2.0.87 \
thiserror-2.0.12 \
thiserror-impl-2.0.12 \
+ typeid-1.0.3 \
unicode-ident-1.0.12 \
untrusted-0.9.0 \
ureq-3.0.5 \
diff --git a/graphics/ocrs/distinfo b/graphics/ocrs/distinfo
index 5595491639f3..d2f6bbf6832b 100644
--- a/graphics/ocrs/distinfo
+++ b/graphics/ocrs/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1746805158
+TIMESTAMP = 1754470303
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
SIZE (rust/crates/adler2-2.0.0.crate) = 13529
SHA256 (rust/crates/anyhow-1.0.98.crate) = e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487
@@ -63,8 +63,8 @@ SHA256 (rust/crates/image-webp-0.2.0.crate) = e031e8e3d94711a9ccb5d6ea357439ef3d
SIZE (rust/crates/image-webp-0.2.0.crate) = 52958
SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
SIZE (rust/crates/itoa-1.0.10.crate) = 10534
-SHA256 (rust/crates/lexopt-0.3.0.crate) = baff4b617f7df3d896f97fe922b64817f6cd9a756bb81d40f8883f2f66dcb401
-SIZE (rust/crates/lexopt-0.3.0.crate) = 24767
+SHA256 (rust/crates/lexopt-0.3.1.crate) = 9fa0e2a1fcbe2f6be6c42e342259976206b383122fc152e872795338b5a3f3a7
+SIZE (rust/crates/lexopt-0.3.1.crate) = 26158
SHA256 (rust/crates/libc-0.2.151.crate) = 302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4
SIZE (rust/crates/libc-0.2.151.crate) = 736640
SHA256 (rust/crates/log-0.4.25.crate) = 04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f
@@ -95,16 +95,20 @@ SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caa
SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
SHA256 (rust/crates/ring-0.17.7.crate) = 688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74
SIZE (rust/crates/ring-0.17.7.crate) = 4146482
-SHA256 (rust/crates/rten-0.18.0.crate) = f6c402363efacb25de9132576ab35515c814a0aa35eb5887ce2ae0e8fc39e3c6
-SIZE (rust/crates/rten-0.18.0.crate) = 332956
-SHA256 (rust/crates/rten-imageproc-0.18.0.crate) = 2a6e50914c0817f8250aa74496dda1d1b63c2c32f61ef8ad9493501d8f361f55
-SIZE (rust/crates/rten-imageproc-0.18.0.crate) = 29170
-SHA256 (rust/crates/rten-simd-0.18.0.crate) = 54435da0587bd026f1440f219c27688a5902aa9024a42d5a0857505038c85704
-SIZE (rust/crates/rten-simd-0.18.0.crate) = 37150
-SHA256 (rust/crates/rten-tensor-0.18.0.crate) = 8be4ee5d8e63ebb8db62e09d34e3d51ac024abcbdaec872b9f7695d438a1fe28
-SIZE (rust/crates/rten-tensor-0.18.0.crate) = 72947
-SHA256 (rust/crates/rten-vecmath-0.18.0.crate) = 8fdde8bb76eb0d8f160a8491d55365140a9ffe3f90ae26e8f26409262c447fcd
-SIZE (rust/crates/rten-vecmath-0.18.0.crate) = 17933
+SHA256 (rust/crates/rten-0.21.0.crate) = 799b4e781c9fe47504154fcdcee3c5924544b3cc7821cb87506d95167d2b149d
+SIZE (rust/crates/rten-0.21.0.crate) = 305664
+SHA256 (rust/crates/rten-base-0.21.0.crate) = eccdf3e12af564c111bcf435a07d197ad42cb75315f96896b3b3d4572f099f22
+SIZE (rust/crates/rten-base-0.21.0.crate) = 8777
+SHA256 (rust/crates/rten-gemm-0.21.0.crate) = 99b07a25cfa3935b3d432fb26d15a1a80bbd5cb3e542d8427f8f2321e89b6aa6
+SIZE (rust/crates/rten-gemm-0.21.0.crate) = 60089
+SHA256 (rust/crates/rten-imageproc-0.21.0.crate) = 3f8e6427425d55b0b0dc2d30144bc09251ecfcbfd75542b9dae4f5ce5894a867
+SIZE (rust/crates/rten-imageproc-0.21.0.crate) = 29854
+SHA256 (rust/crates/rten-simd-0.21.0.crate) = 4c267d235b86221b41d14a02dc3b66434ed88690034906d7c78ac626a721b960
+SIZE (rust/crates/rten-simd-0.21.0.crate) = 38086
+SHA256 (rust/crates/rten-tensor-0.21.0.crate) = 949a2c0815334c6bc335ac3ed609dca4419f12bf058aa13e8c7cd2cbe2fa6e0a
+SIZE (rust/crates/rten-tensor-0.21.0.crate) = 80240
+SHA256 (rust/crates/rten-vecmath-0.21.0.crate) = 7ced1b25ab0ea935f24d6b8582324bfeadc403729badf3589cc59582a5a967a0
+SIZE (rust/crates/rten-vecmath-0.21.0.crate) = 18224
SHA256 (rust/crates/rustc-hash-2.0.0.crate) = 583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152
SIZE (rust/crates/rustc-hash-2.0.0.crate) = 12691
SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
@@ -143,6 +147,8 @@ SHA256 (rust/crates/thiserror-2.0.12.crate) = 567b8a2dae586314f7be2a752ec7474332
SIZE (rust/crates/thiserror-2.0.12.crate) = 28693
SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d
SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141
+SHA256 (rust/crates/typeid-1.0.3.crate) = bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c
+SIZE (rust/crates/typeid-1.0.3.crate) = 9006
SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
@@ -215,5 +221,5 @@ SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7
SIZE (rust/crates/zune-core-0.4.12.crate) = 17355
SHA256 (rust/crates/zune-jpeg-0.4.13.crate) = 16099418600b4d8f028622f73ff6e3deaabdff330fb9a2a131dea781ee8b0768
SIZE (rust/crates/zune-jpeg-0.4.13.crate) = 62999
-SHA256 (robertknight-ocrs-ocrs-cli-v0.10.3_GH0.tar.gz) = 0a7bb8f2c7bf5ec07e91566d779e841dae28705f29d7c007a20025d86b5df52d
-SIZE (robertknight-ocrs-ocrs-cli-v0.10.3_GH0.tar.gz) = 602967
+SHA256 (robertknight-ocrs-ocrs-cli-v0.10.4_GH0.tar.gz) = ae965f18a4fec1a65ef6f583e88670e7927d14a46b915dc7c95c4a38d24fb48a
+SIZE (robertknight-ocrs-ocrs-cli-v0.10.4_GH0.tar.gz) = 603220
diff --git a/graphics/oculante/Makefile b/graphics/oculante/Makefile
index bd4426eaf6bc..c90c77886043 100644
--- a/graphics/oculante/Makefile
+++ b/graphics/oculante/Makefile
@@ -1,6 +1,6 @@
PORTNAME= oculante
DISTVERSION= 0.9.2
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/ogre3d/Makefile b/graphics/ogre3d/Makefile
index 1a1b807c6a5e..8415a104e4e2 100644
--- a/graphics/ogre3d/Makefile
+++ b/graphics/ogre3d/Makefile
@@ -1,6 +1,7 @@
PORTNAME= ogre3d
DISTVERSIONPREFIX= v
-DISTVERSION= 14.3.4
+DISTVERSION= 14.4.0
+PORTREVISION= 1
CATEGORIES= graphics devel
MAINTAINER= fluffy@FreeBSD.org
diff --git a/graphics/ogre3d/distinfo b/graphics/ogre3d/distinfo
index bcf8fc423cc4..15208737ae82 100644
--- a/graphics/ogre3d/distinfo
+++ b/graphics/ogre3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746126799
-SHA256 (OGRECave-ogre-v14.3.4_GH0.tar.gz) = 0c74e6ca7bb920ff59c5da8a359e6d96215c7804261301feec4f2e54f206b27d
-SIZE (OGRECave-ogre-v14.3.4_GH0.tar.gz) = 94000790
+TIMESTAMP = 1753776498
+SHA256 (OGRECave-ogre-v14.4.0_GH0.tar.gz) = dce4bacf90976020bebafb7d15404af74f674bf9f9f3c6377429cb4493db528b
+SIZE (OGRECave-ogre-v14.4.0_GH0.tar.gz) = 94148698
diff --git a/graphics/ogre3d/files/patch-OgreMain_include_OgrePlatformInformation.h b/graphics/ogre3d/files/patch-OgreMain_include_OgrePlatformInformation.h
new file mode 100644
index 000000000000..be3a704ff2e6
--- /dev/null
+++ b/graphics/ogre3d/files/patch-OgreMain_include_OgrePlatformInformation.h
@@ -0,0 +1,10 @@
+--- OgreMain/include/OgrePlatformInformation.h.orig 2025-07-24 17:32:02 UTC
++++ OgreMain/include/OgrePlatformInformation.h
+@@ -36,7 +36,7 @@ namespace Ogre {
+ #if OGRE_DOUBLE_PRECISION == 0 && OGRE_CPU == OGRE_CPU_X86 && OGRE_COMPILER == OGRE_COMPILER_MSVC
+ # define __OGRE_HAVE_SSE 1
+ #elif OGRE_DOUBLE_PRECISION == 0 && OGRE_CPU == OGRE_CPU_X86 && (OGRE_COMPILER == OGRE_COMPILER_GNUC || OGRE_COMPILER == OGRE_COMPILER_CLANG) && \
+- OGRE_PLATFORM != OGRE_PLATFORM_APPLE_IOS
++ OGRE_PLATFORM != OGRE_PLATFORM_APPLE_IOS && defined(__amd64__)
+ # define __OGRE_HAVE_SSE 1
+ #endif
diff --git a/graphics/ogre3d/pkg-plist b/graphics/ogre3d/pkg-plist
index bbf4a7d03727..879cbb214ed1 100644
--- a/graphics/ogre3d/pkg-plist
+++ b/graphics/ogre3d/pkg-plist
@@ -986,6 +986,7 @@ share/OGRE-%%LIBVERSION%%/Media/materials/scripts/Laplace.material
share/OGRE-%%LIBVERSION%%/Media/materials/scripts/LigthShafts.material
share/OGRE-%%LIBVERSION%%/Media/materials/scripts/MotionBlur.material
share/OGRE-%%LIBVERSION%%/Media/materials/scripts/NightVision.material
+share/OGRE-%%LIBVERSION%%/Media/materials/scripts/Ocean.controls
share/OGRE-%%LIBVERSION%%/Media/materials/scripts/Ocean.material
share/OGRE-%%LIBVERSION%%/Media/materials/scripts/OffsetMapping.material
share/OGRE-%%LIBVERSION%%/Media/materials/scripts/Ogre.material
diff --git a/graphics/okular/distinfo b/graphics/okular/distinfo
index 0d6feb22be2f..05163ec792c6 100644
--- a/graphics/okular/distinfo
+++ b/graphics/okular/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381487
-SHA256 (KDE/release-service/25.04.3/okular-25.04.3.tar.xz) = d0b5bb0b0eeab46aa2367c8d81096185bd2261710701c84f1c6e2398e5058bfb
-SIZE (KDE/release-service/25.04.3/okular-25.04.3.tar.xz) = 8190916
+TIMESTAMP = 1754646397
+SHA256 (KDE/release-service/25.08.0/okular-25.08.0.tar.xz) = 8c70c448e8aa8c55c3623024ee1d70930888672a503c40c60af2de702ffe64fc
+SIZE (KDE/release-service/25.08.0/okular-25.08.0.tar.xz) = 8202348
diff --git a/graphics/okular/pkg-plist b/graphics/okular/pkg-plist
index 0bfd7a68a79e..5c6b3ccced37 100644
--- a/graphics/okular/pkg-plist
+++ b/graphics/okular/pkg-plist
@@ -34,8 +34,8 @@ lib/cmake/Okular6/Okular6ConfigVersion.cmake
lib/cmake/Okular6/Okular6Targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Okular6/Okular6Targets.cmake
lib/libOkular6Core.so
-lib/libOkular6Core.so.3
-lib/libOkular6Core.so.3.0.0
+lib/libOkular6Core.so.4
+lib/libOkular6Core.so.4.0.0
%%QT_PLUGINDIR%%/kf6/parts/okularpart.so
%%QT_PLUGINDIR%%/okular_generators/okularGenerator_comicbook.so
%%QT_PLUGINDIR%%/okular_generators/okularGenerator_djvu.so
diff --git a/graphics/opencolorio-tools/Makefile b/graphics/opencolorio-tools/Makefile
index f5c64be693dd..2bfd9bee31bf 100644
--- a/graphics/opencolorio-tools/Makefile
+++ b/graphics/opencolorio-tools/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 0
+PORTREVISION= 1
PKGNAMESUFFIX= -tools
COMMENT= Tools to work with OpenColorIO profiles
diff --git a/graphics/opencolorio/Makefile b/graphics/opencolorio/Makefile
index 360d88a89993..dae631ec6dc7 100644
--- a/graphics/opencolorio/Makefile
+++ b/graphics/opencolorio/Makefile
@@ -5,7 +5,7 @@ DISTVERSION= 2.4.2
# py-opencolorio's PORTREVISION.
# Also, just to be on the safe side, when resetting,
# best keep PORTREVISION?= 0.
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES= graphics multimedia
MAINTAINER?= FreeBSD@Shaneware.biz
diff --git a/graphics/opencv/Makefile b/graphics/opencv/Makefile
index 06523cbb8145..855ea787d443 100644
--- a/graphics/opencv/Makefile
+++ b/graphics/opencv/Makefile
@@ -3,6 +3,9 @@ DISTVERSION= 4.11.0
PORTREVISION= 2
CATEGORIES= graphics
+PATCH_SITES= https://github.com/opencv/opencv/commit/
+PATCHFILES= 97f3f390661f2fd1168336820b89eb4383ce8528.patch:-p1
+
MAINTAINER= desktop@FreeBSD.org
COMMENT= Open Source Computer Vision library
WWW= https://www.opencv.org/
@@ -36,7 +39,7 @@ OPTIONS_DEFAULT= DC1394 EIGEN GDAL GDCM GPHOTO2 GSTREAMER JPEG OPENBLAS \
OPTIONS_GROUP= GUI IMAGE VIDEO
OPTIONS_GROUP_GUI= GTK3 VTK
-OPTIONS_GROUP_IMAGE= GPHOTO2 JPEG OGRE3D OPENEXR PNG TIFF
+OPTIONS_GROUP_IMAGE= AVIF GPHOTO2 JPEG OGRE3D OPENEXR PNG TIFF
OPTIONS_GROUP_VIDEO= DC1394 FFMPEG GSTREAMER OBSENSOR V4L VULKAN WEBP XINE
OPTIONS_RADIO= JPEG2K
@@ -114,7 +117,10 @@ VTK_USES= qt:5
VTK_USE= QT=buildtools:build,qmake:build
###
-# IMAGE group options (GPHOTO2 JPEG OPENEXR PNG TIFF)
+# IMAGE group options (AVIF GPHOTO2 JPEG OPENEXR PNG TIFF)
+AVIF_LIB_DEPENDS= libavif.so:graphics/libavif
+AVIF_CMAKE_BOOL= WITH_AVIF
+
GPHOTO2_DESC= Add Gphoto2 Support
GPHOTO2_CMAKE_BOOL= WITH_GPHOTO2
GPHOTO2_LIB_DEPENDS= libgphoto2.so:graphics/libgphoto2
diff --git a/graphics/opencv/distinfo b/graphics/opencv/distinfo
index 06f3f1e26fc4..56458465f4e9 100644
--- a/graphics/opencv/distinfo
+++ b/graphics/opencv/distinfo
@@ -1,9 +1,11 @@
-TIMESTAMP = 1745669344
+TIMESTAMP = 1753904251
SHA256 (opencv-opencv-4.11.0_GH0.tar.gz) = 9a7c11f924eff5f8d8070e297b322ee68b9227e003fd600d4b8122198091665f
SIZE (opencv-opencv-4.11.0_GH0.tar.gz) = 95051012
-SHA256 (opencv-opencv_contrib-4.11.0_GH0.tar.gz) = 2dfc5957201de2aa785064711125af6abb2e80a64e2dc246aca4119b19687041
-SIZE (opencv-opencv_contrib-4.11.0_GH0.tar.gz) = 55450097
SHA256 (opencv-ade-v0.1.2e_GH0.tar.gz) = 107711887d413127955d64a0e42974ec379c1ebb81832c79a21a9e3a2110e4bf
SIZE (opencv-ade-v0.1.2e_GH0.tar.gz) = 117054
SHA256 (opencv-opencv_3rdparty-7f55c0c26be418d494615afca15218566775c725_GH0.tar.gz) = 0b19085992da68a6b6b751ce7c37fd22b27e43ff28455a68280484e436c438e8
SIZE (opencv-opencv_3rdparty-7f55c0c26be418d494615afca15218566775c725_GH0.tar.gz) = 102507737
+SHA256 (opencv-opencv_contrib-4.11.0_GH0.tar.gz) = 2dfc5957201de2aa785064711125af6abb2e80a64e2dc246aca4119b19687041
+SIZE (opencv-opencv_contrib-4.11.0_GH0.tar.gz) = 55450097
+SHA256 (97f3f390661f2fd1168336820b89eb4383ce8528.patch) = 9275b59080fb0380241b2aa6410cfd9dabd412a0746fc8bf94b25a3fb1594af5
+SIZE (97f3f390661f2fd1168336820b89eb4383ce8528.patch) = 3285
diff --git a/graphics/openexr-website-docs/Makefile b/graphics/openexr-website-docs/Makefile
index beceac14bc4c..5a1c782b622a 100644
--- a/graphics/openexr-website-docs/Makefile
+++ b/graphics/openexr-website-docs/Makefile
@@ -1,5 +1,5 @@
PORTNAME= openexr-website-docs
-PORTVERSION= 3.3.4
+PORTVERSION= 3.3.5
PORTREVISION= 0
MASTER_SITES= https://github.com/AcademySoftwareFoundation/openexr/releases/download/v${PORTVERSION}/:DEFAULT \
https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr-images/main/:website \
diff --git a/graphics/openexr-website-docs/distinfo b/graphics/openexr-website-docs/distinfo
index 2238c21fb6c6..47b7309067ac 100644
--- a/graphics/openexr-website-docs/distinfo
+++ b/graphics/openexr-website-docs/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1749666587
-SHA256 (openexr/openexr-3.3.4.tar.gz) = 73a6d83edcc68333afb95e133f6e12012073815a854bc41abc1a01c1db5f124c
-SIZE (openexr/openexr-3.3.4.tar.gz) = 21206562
+TIMESTAMP = 1753650858
+SHA256 (openexr/openexr-3.3.5.tar.gz) = 8f9241f0e9d6b7aec7e9509cf2a9224416b9cd9d41740deab3827b1f2d01c662
+SIZE (openexr/openexr-3.3.5.tar.gz) = 21207074
SHA256 (openexr/TestImages/README.rst) = 3cbb0a9ab20868940de1b9bf582bdc5ff4244cc585c682d6e40b9befb8fd593c
SIZE (openexr/TestImages/README.rst) = 2588
SHA256 (openexr/TestImages/AllHalfValues.exr) = eede573a0b59b79f21de15ee9d3b7649d58d8f2a8e7787ea34f192db3b3c84a4
diff --git a/graphics/openexr/Makefile b/graphics/openexr/Makefile
index 40ce6dea9c33..777c0f371f75 100644
--- a/graphics/openexr/Makefile
+++ b/graphics/openexr/Makefile
@@ -1,6 +1,6 @@
PORTNAME?= openexr
-PORTVERSION?= 3.3.4 # ALSO update openexr-website-docs! -- verify sigstore: make makesum verify-sigstore
-PORTREVISION?= 0
+PORTVERSION?= 3.3.5 # ALSO update openexr-website-docs! -- verify sigstore: make makesum verify-sigstore
+PORTREVISION?= 1
CATEGORIES= graphics devel
.if !defined(MASTERDIR)
MASTER_SITES= https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr-images/v1.0/:testimages \
@@ -36,7 +36,10 @@ LICENSE= BSD3CLAUSE
BUILD_DEPENDS?= help2man:misc/help2man
# exact libImath version required to avoid hard-to-debug issues
-LIB_DEPENDS?= libImath-3_1.so.29:math/Imath \
+# but this is due to Imath and OpenEXR being close in terms of their
+# release engineering, no other port should version pin Imath
+# or OpenEXR without extremely good reason
+LIB_DEPENDS?= libImath-3_2.so.30:math/Imath \
libdeflate.so:archivers/libdeflate
USES?= cmake:testing compiler:c++14-lang cpe pathfix pkgconfig
diff --git a/graphics/openexr/distinfo b/graphics/openexr/distinfo
index 81cbff8e8eb3..b09b1ed3a98b 100644
--- a/graphics/openexr/distinfo
+++ b/graphics/openexr/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1749601389
-SHA256 (openexr/openexr-3.3.4.tar.gz) = 73a6d83edcc68333afb95e133f6e12012073815a854bc41abc1a01c1db5f124c
-SIZE (openexr/openexr-3.3.4.tar.gz) = 21206562
+TIMESTAMP = 1753648872
+SHA256 (openexr/openexr-3.3.5.tar.gz) = 8f9241f0e9d6b7aec7e9509cf2a9224416b9cd9d41740deab3827b1f2d01c662
+SIZE (openexr/openexr-3.3.5.tar.gz) = 21207074
SHA256 (openexr/Beachball/multipart.0001.exr) = 0cd032069fbaa14a2766861fef9893ea66a6494ff64650725d3b26a500df774b
SIZE (openexr/Beachball/multipart.0001.exr) = 2894260
SHA256 (openexr/Beachball/singlepart.0001.exr) = 29719942ed3c095a8f8f111fc139fc4c28f446007f5bfce00177cae585b1a87a
diff --git a/graphics/openimageio/Makefile b/graphics/openimageio/Makefile
index 9a402f4840a0..1128474920ac 100644
--- a/graphics/openimageio/Makefile
+++ b/graphics/openimageio/Makefile
@@ -5,7 +5,7 @@ DISTVERSION= 2.5.13.1
# py-openimageio's PORTREVISION.
# Also, just to be on the safe side, when resetting,
# best keep PORTREVISION?= 0.
-PORTREVISION?= 9
+PORTREVISION?= 11
CATEGORIES?= graphics multimedia
MAINTAINER?= FreeBSD@Shaneware.biz
diff --git a/graphics/openshadinglanguage/Makefile b/graphics/openshadinglanguage/Makefile
index fec180779148..238f34baaaa0 100644
--- a/graphics/openshadinglanguage/Makefile
+++ b/graphics/openshadinglanguage/Makefile
@@ -5,7 +5,7 @@ DISTVERSION= 1.13.12.0
# py-openimageio's PORTREVISION.
# Also, just to be on the safe side, when resetting,
# best keep PORTREVISION?= 0.
-PORTREVISION?= 2
+PORTREVISION?= 3
CATEGORIES?= graphics devel
MAINTAINER= FreeBSD@Shaneware.biz
diff --git a/graphics/openvkl/Makefile b/graphics/openvkl/Makefile
index 543f78e06b88..0936bdc1453a 100644
--- a/graphics/openvkl/Makefile
+++ b/graphics/openvkl/Makefile
@@ -1,7 +1,6 @@
PORTNAME= openvkl
DISTVERSIONPREFIX= v
-DISTVERSION= 1.3.0
-PORTREVISION= 18
+DISTVERSION= 2.0.1
CATEGORIES= graphics devel
MAINTAINER= yuri@FreeBSD.org
@@ -14,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BROKEN_i386= https://github.com/openvkl/openvkl/issues/14
BUILD_DEPENDS= ispc:devel/ispc
-LIB_DEPENDS= libembree3.so:graphics/embree3 \
+LIB_DEPENDS= libembree4.so:graphics/embree \
libglfw.so:graphics/glfw \
librkcommon.so:devel/rkcommon \
libtbbmalloc.so:devel/onetbb
diff --git a/graphics/openvkl/distinfo b/graphics/openvkl/distinfo
index 0a61ac9c5992..f3c6ad7c5e7a 100644
--- a/graphics/openvkl/distinfo
+++ b/graphics/openvkl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652378300
-SHA256 (openvkl-openvkl-v1.3.0_GH0.tar.gz) = c6d4d40e6d232839c278b53dee1e7bd3bd239c3ccac33f49b465fc65a0692be9
-SIZE (openvkl-openvkl-v1.3.0_GH0.tar.gz) = 2948682
+TIMESTAMP = 1755978795
+SHA256 (openvkl-openvkl-v2.0.1_GH0.tar.gz) = 0c7faa9582a93e93767afdb15a6c9c9ba154af7ee83a6b553705797be5f8af62
+SIZE (openvkl-openvkl-v2.0.1_GH0.tar.gz) = 3078089
diff --git a/graphics/openvkl/pkg-plist b/graphics/openvkl/pkg-plist
index c92da23a8aa2..f66d69637477 100644
--- a/graphics/openvkl/pkg-plist
+++ b/graphics/openvkl/pkg-plist
@@ -9,12 +9,12 @@ include/openvkl/common.h
include/openvkl/common.isph
include/openvkl/data.h
include/openvkl/device.h
-include/openvkl/device.isph
+include/openvkl/devices/cpu/openvkl/device/max_iterator_size.h
+include/openvkl/devices/cpu/openvkl/device/openvkl.h
+include/openvkl/devices/cpu/openvkl/device/openvkl.isph
include/openvkl/ispc_cpp_interop.h
include/openvkl/iterator.h
include/openvkl/iterator.isph
-include/openvkl/max_iterator_size.h
-include/openvkl/module.h
include/openvkl/observer.h
include/openvkl/openvkl.h
include/openvkl/openvkl.isph
@@ -35,22 +35,22 @@ include/openvkl/vdb/topology_3.h
include/openvkl/version.h
include/openvkl/volume.h
include/openvkl/volume.isph
-lib/cmake/openvkl-1.3.0/openvklConfig.cmake
-lib/cmake/openvkl-1.3.0/openvklConfigVersion.cmake
-lib/cmake/openvkl-1.3.0/openvkl_Exports-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/openvkl-1.3.0/openvkl_Exports.cmake
+lib/cmake/openvkl-2.0.1/openvklConfig.cmake
+lib/cmake/openvkl-2.0.1/openvklConfigVersion.cmake
+lib/cmake/openvkl-2.0.1/openvkl_Exports-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/openvkl-2.0.1/openvkl_Exports.cmake
lib/libopenvkl.so
-lib/libopenvkl.so.1
-lib/libopenvkl.so.1.3.0
+lib/libopenvkl.so.2
+lib/libopenvkl.so.2.0.1
lib/libopenvkl_module_cpu_device.so
-lib/libopenvkl_module_cpu_device.so.1
-lib/libopenvkl_module_cpu_device.so.1.3.0
+lib/libopenvkl_module_cpu_device.so.2
+lib/libopenvkl_module_cpu_device.so.2.0.1
lib/libopenvkl_module_cpu_device_16.so
-lib/libopenvkl_module_cpu_device_16.so.1
-lib/libopenvkl_module_cpu_device_16.so.1.3.0
+lib/libopenvkl_module_cpu_device_16.so.2
+lib/libopenvkl_module_cpu_device_16.so.2.0.1
lib/libopenvkl_module_cpu_device_4.so
-lib/libopenvkl_module_cpu_device_4.so.1
-lib/libopenvkl_module_cpu_device_4.so.1.3.0
+lib/libopenvkl_module_cpu_device_4.so.2
+lib/libopenvkl_module_cpu_device_4.so.2.0.1
lib/libopenvkl_module_cpu_device_8.so
-lib/libopenvkl_module_cpu_device_8.so.1
-lib/libopenvkl_module_cpu_device_8.so.1.3.0
+lib/libopenvkl_module_cpu_device_8.so.2
+lib/libopenvkl_module_cpu_device_8.so.2.0.1
diff --git a/graphics/openxr/Makefile b/graphics/openxr/Makefile
index 4a608115d3af..778c1cf8863c 100644
--- a/graphics/openxr/Makefile
+++ b/graphics/openxr/Makefile
@@ -1,7 +1,6 @@
PORTNAME= openxr
DISTVERSIONPREFIX= release-
-DISTVERSION= 1.1.49
-PORTREVISION= 1
+DISTVERSION= 1.1.51
CATEGORIES= graphics
MAINTAINER= vvd@FreeBSD.org
diff --git a/graphics/openxr/distinfo b/graphics/openxr/distinfo
index 7ca8036e5fc5..eb38f7f9f53f 100644
--- a/graphics/openxr/distinfo
+++ b/graphics/openxr/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749800000
-SHA256 (KhronosGroup-OpenXR-SDK-release-1.1.49_GH0.tar.gz) = 74e9260a1876b0540171571a09bad853302ec68a911200321be8b0591ca94111
-SIZE (KhronosGroup-OpenXR-SDK-release-1.1.49_GH0.tar.gz) = 692160
+TIMESTAMP = 1756555555
+SHA256 (KhronosGroup-OpenXR-SDK-release-1.1.51_GH0.tar.gz) = 17679f119b75a12e21475c317b67e7c0b5cd2fef57c60e48f6765b28c81d2e6a
+SIZE (KhronosGroup-OpenXR-SDK-release-1.1.51_GH0.tar.gz) = 710472
diff --git a/graphics/osg/Makefile b/graphics/osg/Makefile
index 5698ef582276..c1f023c74a69 100644
--- a/graphics/osg/Makefile
+++ b/graphics/osg/Makefile
@@ -1,10 +1,10 @@
PORTNAME= osg
PORTVERSION= 3.6.5
DISTVERSIONPREFIX= OpenSceneGraph-
-PORTREVISION= 78
+PORTREVISION= 80
CATEGORIES= graphics
-MAINTAINER= amdmi3@FreeBSD.org
+MAINTAINER= fluffy@FreeBSD.org
COMMENT= C++ OpenGL scene graph library for real-time rendering
WWW= https://www.openscenegraph.org/
@@ -16,20 +16,20 @@ LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
LIB_DEPENDS= libpng.so:graphics/png \
libtiff.so:graphics/tiff
-USE_GITHUB= yes
-GH_ACCOUNT= openscenegraph
-GH_PROJECT= OpenSceneGraph
-
-CONFLICTS_INSTALL=osg34
-
USES= alias cmake compiler:c11 jpeg gl pkgconfig xorg
USE_GL= gl
USE_XORG= x11
USE_LDCONFIG= yes
USE_CXXSTD= c++11
+USE_GITHUB= yes
+GH_ACCOUNT= openscenegraph
+GH_PROJECT= OpenSceneGraph
+
CFLAGS+= -I${LOCALBASE}/include/Imath -DInt64=uint64_t
+CONFLICTS_INSTALL=osg34
+
PLIST_SUB= OSG_VERSION=${PORTVERSION} \
OSG_SHLIBVER=161 \
OPENTHREADS_VERSION=3.3.1 \
@@ -38,7 +38,7 @@ PLIST_SUB= OSG_VERSION=${PORTVERSION} \
OPTIONS_DEFINE= CURL FFMPEG FREETYPE GDAL GIF GSTREAMER GTA \
JASPER LIBLAS LUA NVTT OPENEXR PDF SDL ASIO \
SVG VNC XRANDR XINERAMA FONTCONFIG DCMTK COLLADA
-OPTIONS_DEFAULT=FFMPEG FREETYPE GIF XRANDR XINERAMA FONTCONFIG
+OPTIONS_DEFAULT=COLLADA FFMPEG FREETYPE GIF XRANDR XINERAMA FONTCONFIG
OPTIONS_SUB= yes
ASIO_DESC= ASIO support (resthttp plugin)
@@ -55,7 +55,7 @@ COLLADA_DESC= COLLADA (dae) format support
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
CURL_VARS= FORCE_REQUIRE+=CURL
CURL_VARS_OFF= FORCE_IGNORE+=CURL
-FFMPEG_LIB_DEPENDS= libavcodec.so.58:multimedia/ffmpeg4
+FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
FFMPEG_VARS= FORCE_REQUIRE+=FFmpeg
FFMPEG_VARS_OFF= FORCE_IGNORE+=FFmpeg
FREETYPE_LIB_DEPENDS= libfreetype.so:print/freetype2
diff --git a/graphics/osg/files/patch-CMakeModules_FindFFmpeg.cmake b/graphics/osg/files/patch-CMakeModules_FindFFmpeg.cmake
deleted file mode 100644
index 21ea506f30a7..000000000000
--- a/graphics/osg/files/patch-CMakeModules_FindFFmpeg.cmake
+++ /dev/null
@@ -1,10 +0,0 @@
---- CMakeModules/FindFFmpeg.cmake.orig 2023-04-24 09:16:25 UTC
-+++ CMakeModules/FindFFmpeg.cmake
-@@ -21,6 +21,7 @@
- # (in new version case, use by ffmpeg header)
- #and ${FFMPEG_libname_INCLUDE_DIRS/libname} (in new version case, use by osg plugin code)
-
-+set(CMAKE_PREFIX_PATH "%%LOCALBASE%%/ffmpeg4;%%LOCALBASE%%/ffmpeg4/libexec")
-
- # Macro to find header and lib directories
- # example: FFMPEG_FIND(AVFORMAT avformat avformat.h)
diff --git a/graphics/osg/files/patch-CMakeModules_FindGStreamer.cmake b/graphics/osg/files/patch-CMakeModules_FindGStreamer.cmake
index 7b3259726d4b..a21b9d2bf56f 100644
--- a/graphics/osg/files/patch-CMakeModules_FindGStreamer.cmake
+++ b/graphics/osg/files/patch-CMakeModules_FindGStreamer.cmake
@@ -1,6 +1,6 @@
---- CMakeModules/FindGStreamer.cmake 2015-07-17 21:31:19.000000000 +0300
-+++ CMakeModules/FindGStreamer.cmake 2015-02-25 22:25:34.000000000 +0300
-@@ -83,18 +83,18 @@
+--- CMakeModules/FindGStreamer.cmake.orig 2022-12-01 18:17:31 UTC
++++ CMakeModules/FindGStreamer.cmake
+@@ -83,18 +83,18 @@ else ()
find_package(PkgConfig)
macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _header _library)
@@ -12,17 +12,16 @@
-# HINTS ${PC_${_component_prefix}_INCLUDE_DIRS} ${PC_${_component_prefix}_INCLUDEDIR}
-# PATH_SUFFIXES gstreamer-1.0
-# )
--
--# find_library(${_component_prefix}_LIBRARIES
--# NAMES ${_library}
--# HINTS ${PC_${_component_prefix}_LIBRARY_DIRS} ${PC_${_component_prefix}_LIBDIR}
--# )
+ find_path(${_component_prefix}_INCLUDE_DIRS
+ NAMES ${_header}
+ HINTS ${PC_${_component_prefix}_INCLUDE_DIRS} ${PC_${_component_prefix}_INCLUDEDIR}
+ PATH_SUFFIXES gstreamer-1.0
+ )
-+
+
+-# find_library(${_component_prefix}_LIBRARIES
+-# NAMES ${_library}
+-# HINTS ${PC_${_component_prefix}_LIBRARY_DIRS} ${PC_${_component_prefix}_LIBDIR}
+-# )
+ find_library(${_component_prefix}_LIBRARIES
+ NAMES ${_library}
+ HINTS ${PC_${_component_prefix}_LIBRARY_DIRS} ${PC_${_component_prefix}_LIBDIR}
diff --git a/graphics/osg/files/patch-src_osgPlugins_OpenCASCADE_ReaderWriterOpenCASCADE.cpp b/graphics/osg/files/patch-src_osgPlugins_OpenCASCADE_ReaderWriterOpenCASCADE.cpp
new file mode 100644
index 000000000000..0cb83cdf56a9
--- /dev/null
+++ b/graphics/osg/files/patch-src_osgPlugins_OpenCASCADE_ReaderWriterOpenCASCADE.cpp
@@ -0,0 +1,11 @@
+--- src/osgPlugins/OpenCASCADE/ReaderWriterOpenCASCADE.cpp.orig 2022-12-01 18:17:31 UTC
++++ src/osgPlugins/OpenCASCADE/ReaderWriterOpenCASCADE.cpp
+@@ -211,7 +211,7 @@ osg::ref_ptr<osg::Geometry> ReaderWritterOpenCASCADE::
+ {
+ // populate vertex list
+ // Ref: http://www.opencascade.org/org/forum/thread_16694/?forum=3
+- gp_Pnt pt = (triangulation->Nodes())(j).Transformed(transformation * location.Transformation());
++ gp_Pnt pt = (triangulation->Node(j)).Transformed(transformation * location.Transformation());
+ vertexList->push_back(osg::Vec3(pt.X(), pt.Y(), pt.Z()));
+
+ // populate color list
diff --git a/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoder.cpp b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoder.cpp
new file mode 100644
index 000000000000..ecf35527a878
--- /dev/null
+++ b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoder.cpp
@@ -0,0 +1,207 @@
+--- src/osgPlugins/ffmpeg/FFmpegDecoder.cpp.orig 2022-12-01 18:17:31 UTC
++++ src/osgPlugins/ffmpeg/FFmpegDecoder.cpp
+@@ -1,4 +1,3 @@
+-
+ #include "FFmpegDecoder.hpp"
+ #include "FFmpegParameters.hpp"
+
+@@ -36,8 +35,10 @@ FFmpegDecoder::FFmpegDecoder() :
+ }
+
+ FFmpegDecoder::FFmpegDecoder() :
+- m_audio_stream(0),
+- m_video_stream(0),
++ m_audio_stream(nullptr),
++ m_video_stream(nullptr),
++ m_audio_index(-1),
++ m_video_index(-1),
+ m_audio_queue(100),
+ m_video_queue(100),
+ m_audio_decoder(m_audio_queue, m_clocks),
+@@ -61,10 +62,10 @@ bool FFmpegDecoder::open(const std::string & filename,
+ try
+ {
+ // Open video file
+- AVFormatContext * p_format_context = 0;
+- AVInputFormat *iformat = 0;
++ AVFormatContext * p_format_context = nullptr;
++ AVInputFormat *iformat = nullptr;
+
+- if (filename.compare(0, 5, "/dev/")==0)
++ if (filename.compare(0, 5, "/dev/") == 0)
+ {
+ #ifdef ANDROID
+ throw std::runtime_error("Device not supported on Android");
+@@ -78,24 +79,24 @@ bool FFmpegDecoder::open(const std::string & filename,
+ }
+
+ std::string format = "video4linux2";
+- iformat = av_find_input_format(format.c_str());
++ iformat = const_cast<AVInputFormat*>(av_find_input_format(format.c_str()));
+
+ if (iformat)
+ {
+- OSG_INFO<<"Found input format: "<<format<<std::endl;
++ OSG_INFO << "Found input format: " << format << std::endl;
+ }
+ else
+ {
+- OSG_INFO<<"Failed to find input format: "<<format<<std::endl;
++ OSG_INFO << "Failed to find input format: " << format << std::endl;
+ }
+
+ #endif
+ }
+ else
+ {
+- iformat = parameters ? parameters->getFormat() : 0;
+- AVIOContext* context = parameters ? parameters->getContext() : 0;
+- if (context != NULL)
++ iformat = parameters ? const_cast<AVInputFormat*>(parameters->getFormat()) : nullptr;
++ AVIOContext* context = parameters ? parameters->getContext() : nullptr;
++ if (context != nullptr)
+ {
+ p_format_context = avformat_alloc_context();
+ p_format_context->pb = context;
+@@ -105,22 +106,7 @@ bool FFmpegDecoder::open(const std::string & filename,
+ int error = avformat_open_input(&p_format_context, filename.c_str(), iformat, parameters->getOptions());
+ if (error != 0)
+ {
+- std::string error_str;
+- switch (error)
+- {
+- //case AVERROR_UNKNOWN: error_str = "AVERROR_UNKNOWN"; break; // same value as AVERROR_INVALIDDATA
+- case AVERROR_IO: error_str = "AVERROR_IO"; break;
+- case AVERROR_NUMEXPECTED: error_str = "AVERROR_NUMEXPECTED"; break;
+- case AVERROR_INVALIDDATA: error_str = "AVERROR_INVALIDDATA"; break;
+- case AVERROR_NOMEM: error_str = "AVERROR_NOMEM"; break;
+- case AVERROR_NOFMT: error_str = "AVERROR_NOFMT"; break;
+- case AVERROR_NOTSUPP: error_str = "AVERROR_NOTSUPP"; break;
+- case AVERROR_NOENT: error_str = "AVERROR_NOENT"; break;
+- case AVERROR_PATCHWELCOME: error_str = "AVERROR_PATCHWELCOME"; break;
+- default: error_str = "Unknown error"; break;
+- }
+-
+- throw std::runtime_error("av_open_input_file() failed : " + error_str);
++ throw std::runtime_error("avformat_open_input() failed: " + AvStrError(error));
+ }
+
+ m_format_context.reset(p_format_context);
+@@ -128,15 +114,15 @@ bool FFmpegDecoder::open(const std::string & filename,
+ // Retrieve stream info
+ // Only buffer up to one and a half seconds by default
+ float max_analyze_duration = 1.5;
+- AVDictionaryEntry *mad = av_dict_get( *parameters->getOptions(), "mad", NULL, 0 );
+- if ( mad ) {
++ AVDictionaryEntry *mad = av_dict_get(*parameters->getOptions(), "mad", NULL, 0);
++ if (mad) {
+ max_analyze_duration = atof(mad->value);
+ }
+ p_format_context->max_analyze_duration = AV_TIME_BASE * max_analyze_duration;
+ // p_format_context->probesize = 100000;
+
+ if (avformat_find_stream_info(p_format_context, NULL) < 0)
+- throw std::runtime_error("av_find_stream_info() failed");
++ throw std::runtime_error("avformat_find_stream_info() failed");
+
+ m_duration = double(m_format_context->duration) / AV_TIME_BASE;
+ if (m_format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE))
+@@ -159,7 +145,7 @@ bool FFmpegDecoder::open(const std::string & filename,
+ m_audio_stream = m_format_context->streams[m_audio_index];
+ else
+ {
+- m_audio_stream = 0;
++ m_audio_stream = nullptr;
+ m_audio_index = std::numeric_limits<unsigned int>::max();
+ }
+
+@@ -271,7 +257,7 @@ bool FFmpegDecoder::readNextPacketNormal()
+ {
+ AVPacket packet;
+
+- if (! m_pending_packet)
++ if (!m_pending_packet)
+ {
+ bool end_of_stream = false;
+
+@@ -279,10 +265,10 @@ bool FFmpegDecoder::readNextPacketNormal()
+ int error = av_read_frame(m_format_context.get(), &packet);
+ if (error < 0)
+ {
+- if (error == static_cast<int>(AVERROR_EOF) ||
+- m_format_context.get()->pb->eof_reached)
++ if (error == static_cast<int>(AVERROR_EOF) || m_format_context.get()->pb->eof_reached)
+ end_of_stream = true;
+- else {
++ else
++ {
+ OSG_FATAL << "av_read_frame() returned " << AvStrError(error) << std::endl;
+ throw std::runtime_error("av_read_frame() failed");
+ }
+@@ -303,12 +289,6 @@ bool FFmpegDecoder::readNextPacketNormal()
+ }
+ else
+ {
+- // Make the packet data available beyond av_read_frame() logical scope.
+- if ((error = av_dup_packet(&packet)) < 0) {
+- OSG_FATAL << "av_dup_packet() returned " << AvStrError(error) << std::endl;
+- throw std::runtime_error("av_dup_packet() failed");
+- }
+-
+ m_pending_packet = FFmpegPacket(packet);
+ }
+ }
+@@ -340,8 +320,6 @@ bool FFmpegDecoder::readNextPacketNormal()
+ return false;
+ }
+
+-
+-
+ bool FFmpegDecoder::readNextPacketEndOfStream()
+ {
+ const FFmpegPacket packet(FFmpegPacket::PACKET_END_OF_STREAM);
+@@ -352,8 +330,6 @@ bool FFmpegDecoder::readNextPacketEndOfStream()
+ return false;
+ }
+
+-
+-
+ bool FFmpegDecoder::readNextPacketRewinding()
+ {
+ const FFmpegPacket packet(FFmpegPacket::PACKET_FLUSH);
+@@ -364,8 +340,6 @@ bool FFmpegDecoder::readNextPacketRewinding()
+ return false;
+ }
+
+-
+-
+ void FFmpegDecoder::rewindButDontFlushQueues()
+ {
+ const AVRational AvTimeBaseQ = { 1, AV_TIME_BASE }; // = AV_TIME_BASE_Q
+@@ -374,7 +348,8 @@ void FFmpegDecoder::rewindButDontFlushQueues()
+ const int64_t seek_target = av_rescale_q(pos, AvTimeBaseQ, m_video_stream->time_base);
+
+ int error = 0;
+- if ((error = av_seek_frame(m_format_context.get(), m_video_index, seek_target, 0/*AVSEEK_FLAG_BYTE |*/ /*AVSEEK_FLAG_BACKWARD*/)) < 0) {
++ if ((error = av_seek_frame(m_format_context.get(), m_video_index, seek_target, 0)) < 0)
++ {
+ OSG_FATAL << "av_seek_frame returned " << AvStrError(error) << std::endl;
+ throw std::runtime_error("av_seek_frame failed()");
+ }
+@@ -397,13 +372,14 @@ void FFmpegDecoder::seekButDontFlushQueues(double time
+ {
+ const AVRational AvTimeBaseQ = { 1, AV_TIME_BASE }; // = AV_TIME_BASE_Q
+
+- const int64_t pos = int64_t(m_clocks.getStartTime()+time * double(AV_TIME_BASE));
++ const int64_t pos = int64_t(m_clocks.getStartTime() + time * double(AV_TIME_BASE));
+ const int64_t seek_target = av_rescale_q(pos, AvTimeBaseQ, m_video_stream->time_base);
+
+ m_clocks.setSeekTime(time);
+
+ int error = 0;
+- if ((error = av_seek_frame(m_format_context.get(), m_video_index, seek_target, 0/*AVSEEK_FLAG_BYTE |*/ /*AVSEEK_FLAG_BACKWARD*/)) < 0) {
++ if ((error = av_seek_frame(m_format_context.get(), m_video_index, seek_target, 0)) < 0)
++ {
+ OSG_FATAL << "av_seek_frame() returned " << AvStrError(error) << std::endl;
+ throw std::runtime_error("av_seek_frame failed()");
+ }
diff --git a/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoder.hpp b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoder.hpp
new file mode 100644
index 000000000000..090eed7d6e32
--- /dev/null
+++ b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoder.hpp
@@ -0,0 +1,255 @@
+--- src/osgPlugins/ffmpeg/FFmpegDecoder.hpp.orig 2022-12-01 18:17:31 UTC
++++ src/osgPlugins/ffmpeg/FFmpegDecoder.hpp
+@@ -1,4 +1,3 @@
+-
+ #ifndef HEADER_GUARD_OSGFFMPEG_FFMPEG_DECODER_H
+ #define HEADER_GUARD_OSGFFMPEG_FFMPEG_DECODER_H
+
+@@ -7,73 +6,76 @@
+
+ #include <osg/Notify>
+
+-
+ namespace osgFFmpeg {
+
+ class FFmpegParameters;
+
+ class FormatContextPtr
+ {
+- public:
+-
+- typedef AVFormatContext T;
+-
+- explicit FormatContextPtr() : _ptr(0) {}
+- explicit FormatContextPtr(T* ptr) : _ptr(ptr) {}
+-
+- ~FormatContextPtr()
+- {
+- cleanup();
+- }
+-
+- T* get() { return _ptr; }
++public:
++ typedef AVFormatContext T;
+
+- operator bool() const { return _ptr != 0; }
++ explicit FormatContextPtr() : _ptr(nullptr) {}
++ explicit FormatContextPtr(T* ptr) : _ptr(ptr) {}
+
+- T * operator-> () const // never throws
+- {
+- return _ptr;
+- }
++ ~FormatContextPtr()
++ {
++ cleanup();
++ }
+
+- void reset(T* ptr)
+- {
+- if (ptr==_ptr) return;
+- cleanup();
+- _ptr = ptr;
+- }
++ T* get() const { return _ptr; }
++ T** getPtr() { return &_ptr; }
+
+- void cleanup()
++ operator T*() const { return _ptr; }
++
++ FormatContextPtr& operator=(T* ptr)
++ {
++ reset(ptr);
++ return *this;
++ }
++
++ bool operator==(std::nullptr_t) const { return _ptr == nullptr; }
++ bool operator!=(std::nullptr_t) const { return _ptr != nullptr; }
++
++ T* operator->() const // never throws
++ {
++ return _ptr;
++ }
++
++ void reset(T* ptr)
++ {
++ if (ptr == _ptr) return;
++ cleanup();
++ _ptr = ptr;
++ }
++
++ void cleanup()
++ {
++ if (_ptr)
+ {
+- if (_ptr)
+- {
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 17, 0)
+- OSG_NOTICE<<"Calling avformat_close_input("<<&_ptr<<")"<<std::endl;
+- avformat_close_input(&_ptr);
++ OSG_NOTICE << "Calling avformat_close_input(" << &_ptr << ")" << std::endl;
++ avformat_close_input(&_ptr);
+ #else
+- OSG_NOTICE<<"Calling av_close_input_file("<<_ptr<<")"<<std::endl;
+- av_close_input_file(_ptr);
++ OSG_NOTICE << "Calling av_close_input_file(" << _ptr << ")" << std::endl;
++ av_close_input_file(_ptr);
+ #endif
+- }
+- _ptr = 0;
+ }
+-
+-
++ _ptr = nullptr;
++ }
+
+- protected:
+-
+- T* _ptr;
++protected:
++ T* _ptr;
+ };
+
+-
+ class FFmpegDecoder : public osg::Referenced
+ {
+ public:
+-
+ FFmpegDecoder();
+ ~FFmpegDecoder();
+
+- bool open(const std::string & filename, FFmpegParameters* parameters);
+- void close(bool waitForThreadToExit);
++ bool open(const std::string& filename, FFmpegParameters* parameters);
++ void close(bool waitForThreadToExit = true);
+
+ bool readNextPacket();
+ void rewind();
+@@ -87,13 +89,12 @@ class FFmpegDecoder : public osg::Referenced (public)
+ double duration() const;
+ double reference();
+
+- FFmpegDecoderAudio & audio_decoder();
+- FFmpegDecoderVideo & video_decoder();
+- FFmpegDecoderAudio const & audio_decoder() const;
+- FFmpegDecoderVideo const & video_decoder() const;
++ FFmpegDecoderAudio& audio_decoder();
++ FFmpegDecoderVideo& video_decoder();
++ FFmpegDecoderAudio const& audio_decoder() const;
++ FFmpegDecoderVideo const& video_decoder() const;
+
+ protected:
+-
+ enum State
+ {
+ NORMAL,
+@@ -115,38 +116,33 @@ class FFmpegDecoder : public osg::Referenced (public)
+ void rewindButDontFlushQueues();
+ void seekButDontFlushQueues(double time);
+
+- FormatContextPtr m_format_context;
+- AVStream * m_audio_stream;
+- AVStream * m_video_stream;
++ FormatContextPtr m_format_context;
++ AVStream* m_audio_stream;
++ AVStream* m_video_stream;
+
+- int m_audio_index;
+- int m_video_index;
++ int m_audio_index;
++ int m_video_index;
+
+- FFmpegClocks m_clocks;
+- FFmpegPacket m_pending_packet;
+- PacketQueue m_audio_queue;
+- PacketQueue m_video_queue;
+-
+- FFmpegDecoderAudio m_audio_decoder;
+- FFmpegDecoderVideo m_video_decoder;
++ FFmpegClocks m_clocks;
++ FFmpegPacket m_pending_packet;
++ PacketQueue m_audio_queue;
++ PacketQueue m_video_queue;
+
+- double m_duration;
+- double m_start;
++ FFmpegDecoderAudio m_audio_decoder;
++ FFmpegDecoderVideo m_video_decoder;
+
+- State m_state;
+- bool m_loop;
++ double m_duration;
++ double m_start;
++
++ State m_state;
++ bool m_loop;
+ };
+
+-
+-
+-
+-
+ inline void FFmpegDecoder::loop(const bool loop)
+ {
+ m_loop = loop;
+ }
+
+-
+ inline bool FFmpegDecoder::loop() const
+ {
+ return m_loop;
+@@ -154,8 +150,8 @@ inline double FFmpegDecoder::creation_time() const
+
+ inline double FFmpegDecoder::creation_time() const
+ {
+- if(m_format_context) return m_format_context->start_time;
+- else return HUGE_VAL;
++ if (m_format_context) return m_format_context->start_time;
++ else return HUGE_VAL;
+ }
+
+ inline double FFmpegDecoder::duration() const
+@@ -165,37 +161,30 @@ inline double FFmpegDecoder::reference()
+
+ inline double FFmpegDecoder::reference()
+ {
+- return m_clocks.getCurrentTime();
++ return m_clocks.getCurrentTime();
+ }
+
+-
+-inline FFmpegDecoderAudio & FFmpegDecoder::audio_decoder()
++inline FFmpegDecoderAudio& FFmpegDecoder::audio_decoder()
+ {
+ return m_audio_decoder;
+ }
+
+-
+-inline FFmpegDecoderVideo & FFmpegDecoder::video_decoder()
++inline FFmpegDecoderVideo& FFmpegDecoder::video_decoder()
+ {
+ return m_video_decoder;
+ }
+
+-
+-inline FFmpegDecoderAudio const & FFmpegDecoder::audio_decoder() const
++inline FFmpegDecoderAudio const& FFmpegDecoder::audio_decoder() const
+ {
+ return m_audio_decoder;
+ }
+
+-
+-inline FFmpegDecoderVideo const & FFmpegDecoder::video_decoder() const
++inline FFmpegDecoderVideo const& FFmpegDecoder::video_decoder() const
+ {
+ return m_video_decoder;
+ }
+
+-
+-
+ } // namespace osgFFmpeg
+
+-
+-
+ #endif // HEADER_GUARD_OSGFFMPEG_FFMPEG_DECODER_H
++
diff --git a/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderAudio.cpp b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderAudio.cpp
new file mode 100644
index 000000000000..fcee15f62682
--- /dev/null
+++ b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderAudio.cpp
@@ -0,0 +1,478 @@
+--- src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp.orig 2022-12-01 18:17:31 UTC
++++ src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp
+@@ -1,39 +1,24 @@
+ #include "FFmpegDecoderAudio.hpp"
+-
+ #include <osg/Notify>
+-
+ #include <stdexcept>
+-#include <string.h>
++#include <cstring>
++#include <libavutil/channel_layout.h>
++#include <libavutil/opt.h>
+
+-//DEBUG
+-//#include <iostream>
+-
+-
+ #ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
+ #define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
+ #endif
+
+-#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,28,1)
+-#define av_frame_alloc avcodec_alloc_frame
+-#define av_frame_free avcodec_free_frame
+-#endif
+-
+-#if LIBAVCODEC_VERSION_MAJOR < 56
+- #define AV_CODEC_ID_NONE CODEC_ID_NONE
+-#endif
+-
+ namespace osgFFmpeg {
+
+ static int decode_audio(AVCodecContext *avctx, int16_t *samples,
+- int *frame_size_ptr,
+- const uint8_t *buf, int buf_size,
+- SwrContext *swr_context,
+- int out_sample_rate,
+- int out_nb_channels,
+- AVSampleFormat out_sample_format)
++ int *frame_size_ptr,
++ const uint8_t *buf, int buf_size,
++ SwrContext *swr_context,
++ int out_sample_rate,
++ int out_nb_channels,
++ AVSampleFormat out_sample_format)
+ {
+-#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR==52 && LIBAVCODEC_VERSION_MINOR>=32)
+-
+ AVPacket avpkt;
+ av_init_packet(&avpkt);
+ avpkt.data = const_cast<uint8_t *>(buf);
+@@ -45,30 +30,39 @@ static int decode_audio(AVCodecContext *avctx, int16_t
+ if (!frame)
+ return AVERROR(ENOMEM);
+
+- ret = avcodec_decode_audio4(avctx, frame, &got_frame, &avpkt);
++ // Send the packet to the decoder
++ ret = avcodec_send_packet(avctx, &avpkt);
++ if (ret < 0) {
++ av_frame_free(&frame);
++ return ret;
++ }
+
+-#ifdef USE_AVRESAMPLE // libav's AVFrame structure does not contain a 'channels' field
+- if (ret >= 0 && got_frame) {
+-#else
+- if (ret >= 0 && got_frame && av_frame_get_channels(frame)>0) {
+-#endif
++ // Receive the frame from the decoder
++ ret = avcodec_receive_frame(avctx, frame);
++ if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) {
++ av_frame_free(&frame);
++ return 0;
++ } else if (ret < 0) {
++ av_frame_free(&frame);
++ return ret;
++ } else {
++ got_frame = 1;
++ }
++
++ if (ret >= 0 && got_frame && frame->ch_layout.nb_channels > 0) {
+ int ch, plane_size;
+ int planar = av_sample_fmt_is_planar(avctx->sample_fmt);
+
+ int out_samples;
+ // if sample rate changes, number of samples is different
+- if ( out_sample_rate != avctx->sample_rate ) {
+-// out_samples = av_rescale_rnd(swr_get_delay(swr_context, avctx->sample_rate) +
+-// frame->nb_samples, out_sample_rate, avctx->sample_rate, AV_ROUND_UP);
++ if (out_sample_rate != avctx->sample_rate) {
+ out_samples = av_rescale_rnd(frame->nb_samples, out_sample_rate, avctx->sample_rate, AV_ROUND_UP);
+- }
+- else {
++ } else {
+ out_samples = frame->nb_samples;
+ }
+
+ int output_data_size = av_samples_get_buffer_size(&plane_size, out_nb_channels,
+- out_samples,
+- out_sample_format, 1);
++ out_samples, out_sample_format, 1);
+
+ if (*frame_size_ptr < output_data_size) {
+ av_log(avctx, AV_LOG_ERROR, "output buffer size is too small for "
+@@ -78,23 +72,19 @@ static int decode_audio(AVCodecContext *avctx, int16_t
+ }
+
+ // if resampling is needed, call swr_convert
+- if ( swr_context != NULL ) {
+-
++ if (swr_context != nullptr) {
+ out_samples = swr_convert(swr_context, (uint8_t **)&samples, out_samples,
+- (const uint8_t **)frame->extended_data, frame->nb_samples);
++ (const uint8_t **)frame->extended_data, frame->nb_samples);
+
+ // recompute output_data_size following swr_convert result (number of samples actually converted)
+ output_data_size = av_samples_get_buffer_size(&plane_size, out_nb_channels,
+- out_samples,
+- out_sample_format, 1);
+- }
+- else {
+-
++ out_samples, out_sample_format, 1);
++ } else {
+ memcpy(samples, frame->extended_data[0], plane_size);
+
+- if (planar && avctx->channels > 1) {
++ if (planar && frame->ch_layout.nb_channels > 1) {
+ uint8_t *out = ((uint8_t *)samples) + plane_size;
+- for (ch = 1; ch < avctx->channels; ch++) {
++ for (ch = 1; ch < frame->ch_layout.nb_channels; ch++) {
+ memcpy(out, frame->extended_data[ch], plane_size);
+ out += plane_size;
+ }
+@@ -102,26 +92,21 @@ static int decode_audio(AVCodecContext *avctx, int16_t
+ }
+
+ *frame_size_ptr = output_data_size;
+-
+ } else {
+ *frame_size_ptr = 0;
+ }
++
+ av_frame_free(&frame);
+ return ret;
+-
+-#else
+- // fallback for older versions of ffmpeg that don't have avcodec_decode_audio3.
+- return avcodec_decode_audio2(avctx, samples, frame_size_ptr, buf, buf_size);
+-#endif
+ }
+
+
+-FFmpegDecoderAudio::FFmpegDecoderAudio(PacketQueue & packets, FFmpegClocks & clocks) :
++FFmpegDecoderAudio::FFmpegDecoderAudio(PacketQueue &packets, FFmpegClocks &clocks) :
+ m_packets(packets),
+ m_clocks(clocks),
+- m_stream(0),
+- m_context(0),
+- m_packet_data(0),
++ m_stream(nullptr),
++ m_context(nullptr),
++ m_packet_data(nullptr),
+ m_bytes_remaining(0),
+ m_audio_buffer((AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2),
+ m_audio_buf_size(0),
+@@ -129,7 +114,7 @@ FFmpegDecoderAudio::FFmpegDecoderAudio(PacketQueue & p
+ m_end_of_stream(false),
+ m_paused(true),
+ m_exit(false),
+- m_swr_context(NULL)
++ m_swr_context(nullptr)
+ {
+ }
+
+@@ -137,103 +122,95 @@ FFmpegDecoderAudio::~FFmpegDecoderAudio()
+
+ FFmpegDecoderAudio::~FFmpegDecoderAudio()
+ {
+- this->close(true);
++ close(true);
+ }
+
+
+
+-void FFmpegDecoderAudio::open(AVStream * const stream, FFmpegParameters* parameters)
++void FFmpegDecoderAudio::open(AVStream *stream, FFmpegParameters* parameters)
+ {
+ try
+ {
+ // Sound can be optional (i.e. no audio stream is present)
+- if (stream == 0)
++ if (stream == nullptr)
+ return;
+
+ m_stream = stream;
+- m_context = stream->codec;
++ m_context = avcodec_alloc_context3(nullptr);
++ avcodec_parameters_to_context(m_context, stream->codecpar);
+
+ m_in_sample_rate = m_context->sample_rate;
+- m_in_nb_channels = m_context->channels;
++ m_in_nb_channels = m_context->ch_layout.nb_channels;
+ m_in_sample_format = m_context->sample_fmt;
+
+- AVDictionaryEntry *opt_out_sample_rate = av_dict_get( *parameters->getOptions(), "out_sample_rate", NULL, 0 );
+- if ( opt_out_sample_rate )
++ AVDictionaryEntry *opt_out_sample_rate = av_dict_get(*parameters->getOptions(), "out_sample_rate", nullptr, 0);
++ if (opt_out_sample_rate)
+ m_out_sample_rate = atoi(opt_out_sample_rate->value);
+ else
+ m_out_sample_rate = m_in_sample_rate;
+
+- AVDictionaryEntry *opt_out_sample_format = av_dict_get( *parameters->getOptions(), "out_sample_format", NULL, 0 );
+- if ( opt_out_sample_format )
++ AVDictionaryEntry *opt_out_sample_format = av_dict_get(*parameters->getOptions(), "out_sample_format", nullptr, 0);
++ if (opt_out_sample_format)
+ m_out_sample_format = (AVSampleFormat) atoi(opt_out_sample_format->value);
+ else
+ // always packed, planar formats are evil!
+- m_out_sample_format = av_get_packed_sample_fmt( m_in_sample_format );
++ m_out_sample_format = av_get_packed_sample_fmt(m_in_sample_format);
+
+- AVDictionaryEntry *opt_out_nb_channels = av_dict_get( *parameters->getOptions(), "out_nb_channels", NULL, 0 );
+- if ( opt_out_nb_channels )
++ AVDictionaryEntry *opt_out_nb_channels = av_dict_get(*parameters->getOptions(), "out_nb_channels", nullptr, 0);
++ if (opt_out_nb_channels)
+ m_out_nb_channels = atoi(opt_out_nb_channels->value);
+ else
+ m_out_nb_channels = m_in_nb_channels;
+
+- if ( m_in_sample_rate != m_out_sample_rate
++ if (m_in_sample_rate != m_out_sample_rate
+ || m_in_nb_channels != m_out_nb_channels
+- || m_in_sample_format != m_out_sample_format )
++ || m_in_sample_format != m_out_sample_format)
+ {
+-#if 0
+-printf("### CONVERTING from sample format %s TO %s\n\t\tFROM %d TO %d channels\n\t\tFROM %d Hz to %d Hz\n",
+- av_get_sample_fmt_name(m_in_sample_format),
+- av_get_sample_fmt_name(m_out_sample_format),
+- m_in_nb_channels,
+- m_out_nb_channels,
+- m_in_sample_rate,
+- m_out_sample_rate);
+-#endif
+- m_swr_context = swr_alloc_set_opts(NULL,
+- av_get_default_channel_layout(m_out_nb_channels),
+- m_out_sample_format,
+- m_out_sample_rate,
+- av_get_default_channel_layout(m_in_nb_channels),
+- m_in_sample_format,
+- m_in_sample_rate,
+- 0, NULL );
++ AVChannelLayout in_ch_layout;
++ AVChannelLayout out_ch_layout;
++ av_channel_layout_default(&in_ch_layout, m_in_nb_channels);
++ av_channel_layout_default(&out_ch_layout, m_out_nb_channels);
+
+- int err = swr_init(m_swr_context);
++ m_swr_context = swr_alloc();
++ if (!m_swr_context) {
++ throw std::runtime_error("Could not allocate resampler context");
++ }
+
+- if ( err ) {
++ av_opt_set_int(m_swr_context, "in_channel_count", in_ch_layout.nb_channels, 0);
++ av_opt_set_int(m_swr_context, "in_sample_rate", m_in_sample_rate, 0);
++ av_opt_set_sample_fmt(m_swr_context, "in_sample_fmt", m_in_sample_format, 0);
++ av_opt_set_chlayout(m_swr_context, "in_chlayout", &in_ch_layout, 0);
++
++ av_opt_set_int(m_swr_context, "out_channel_count", out_ch_layout.nb_channels, 0);
++ av_opt_set_int(m_swr_context, "out_sample_rate", m_out_sample_rate, 0);
++ av_opt_set_sample_fmt(m_swr_context, "out_sample_fmt", m_out_sample_format, 0);
++ av_opt_set_chlayout(m_swr_context, "out_chlayout", &out_ch_layout, 0);
++
++ int err = swr_init(m_swr_context);
++ if (err < 0) {
+ char error_string[512];
+- av_strerror(err, error_string, 512);
++ av_strerror(err, error_string, sizeof(error_string));
+ OSG_WARN << "FFmpegDecoderAudio - WARNING: Error initializing resampling context : " << error_string << std::endl;
+ swr_free(&m_swr_context);
+- throw std::runtime_error("swr_init() failed");;
++ throw std::runtime_error("swr_init() failed");
+ }
+ }
+
+- // Check stream sanity
+ if (m_context->codec_id == AV_CODEC_ID_NONE)
+- throw std::runtime_error("invalid audio codec");;
++ throw std::runtime_error("invalid audio codec");
+
+- // Find the decoder for the audio stream
+- AVCodec * const p_codec = avcodec_find_decoder(m_context->codec_id);
++ const AVCodec *p_codec = avcodec_find_decoder(m_context->codec_id);
+
+- if (p_codec == 0)
++ if (p_codec == nullptr)
+ throw std::runtime_error("avcodec_find_decoder() failed");
+
+- // Inform the codec that we can handle truncated bitstreams
+- //if (p_codec->capabilities & CODEC_CAP_TRUNCATED)
+- // m_context->flags |= CODEC_FLAG_TRUNCATED;
+-
+- // Open codec
+- if (avcodec_open2(m_context, p_codec, NULL) < 0)
++ if (avcodec_open2(m_context, p_codec, nullptr) < 0)
+ throw std::runtime_error("avcodec_open() failed");
+
+- m_context->get_buffer2 = avcodec_default_get_buffer2;
+-
+ }
+-
+ catch (...)
+ {
+- m_context = 0;
++ avcodec_free_context(&m_context);
+ throw;
+ }
+ }
+@@ -260,6 +237,10 @@ void FFmpegDecoderAudio::close(bool waitForThreadToExi
+ join();
+ }
+ swr_free(&m_swr_context);
++ if (m_context)
++ {
++ avcodec_free_context(&m_context);
++ }
+ }
+
+ void FFmpegDecoderAudio::setVolume(float volume)
+@@ -286,7 +267,7 @@ void FFmpegDecoderAudio::run()
+ decodeLoop();
+ }
+
+- catch (const std::exception & error)
++ catch (const std::exception &error)
+ {
+ OSG_WARN << "FFmpegDecoderAudio::run : " << error.what() << std::endl;
+ }
+@@ -301,15 +282,15 @@ void FFmpegDecoderAudio::setAudioSink(osg::ref_ptr<osg
+ void FFmpegDecoderAudio::setAudioSink(osg::ref_ptr<osg::AudioSink> audio_sink)
+ {
+ // The FFmpegDecoderAudio object takes the responsibility of destroying the audio_sink.
+- OSG_NOTICE<<"Assigning "<<audio_sink<<std::endl;
++ OSG_NOTICE << "Assigning " << audio_sink << std::endl;
+ m_audio_sink = audio_sink;
+ }
+
+
+
+-void FFmpegDecoderAudio::fillBuffer(void * const buffer, size_t size)
++void FFmpegDecoderAudio::fillBuffer(void *buffer, size_t size)
+ {
+- uint8_t * dst_buffer = reinterpret_cast<uint8_t*>(buffer);
++ uint8_t *dst_buffer = reinterpret_cast<uint8_t *>(buffer);
+
+ while (size != 0)
+ {
+@@ -349,9 +330,9 @@ void FFmpegDecoderAudio::decodeLoop()
+
+ void FFmpegDecoderAudio::decodeLoop()
+ {
+- const bool skip_audio = ! validContext() || ! m_audio_sink.valid();
++ const bool skip_audio = !validContext() || !m_audio_sink.valid();
+
+- if (! skip_audio && ! m_audio_sink->playing())
++ if (!skip_audio && !m_audio_sink->playing())
+ {
+ m_clocks.audioSetDelay(m_audio_sink->getDelay());
+ m_audio_sink->play();
+@@ -361,17 +342,17 @@ void FFmpegDecoderAudio::decodeLoop()
+ m_clocks.audioDisable();
+ }
+
+- while (! m_exit)
++ while (!m_exit)
+ {
+
+- if(m_paused)
++ if (m_paused)
+ {
+ m_clocks.pause(true);
+ m_pause_timer.setStartTick();
+
+- while(m_paused && !m_exit)
++ while (m_paused && !m_exit)
+ {
+- microSleep(10000);
++ OpenThreads::Thread::microSleep(10000);
+ }
+
+ m_clocks.setPauseTime(m_pause_timer.time_s());
+@@ -387,12 +368,30 @@ void FFmpegDecoderAudio::decodeLoop()
+ if (packet.valid())
+ packet.clear();
+ }
+- // Else, just idle in this thread.
+- // Note: If m_audio_sink has an audio callback, this thread will still be awaken
+- // from time to time to refill the audio buffer.
+ else
+ {
+- OpenThreads::Thread::microSleep(10000);
++ uint8_t audio_buffer[AVCODEC_MAX_AUDIO_FRAME_SIZE * 3 / 2];
++ size_t audio_data_size = decodeFrame(audio_buffer, sizeof(audio_buffer));
++
++ if (audio_data_size > 0)
++ {
++ // Handle the decoded audio data here.
++ // Since the AudioSink class does not have a specific method for handling raw buffers,
++ // we'll assume you have another method or need to implement this part accordingly.
++
++ // This part needs to match the actual implementation or subclass method
++ // If you have an actual derived class with specific methods, you should call them here.
++ // For example, if there's a method to write raw audio data, use it.
++
++ // Placeholder for actual implementation
++ // Assuming m_audio_sink->writeAudioData(audio_buffer, audio_data_size);
++
++ // OpenThreads::Thread::microSleep(10000); // Uncomment if you want to add a delay
++ }
++ else
++ {
++ OpenThreads::Thread::microSleep(10000);
++ }
+ }
+ }
+ }
+@@ -433,7 +432,7 @@ void FFmpegDecoderAudio::adjustBufferEndPts(const size
+
+
+
+-size_t FFmpegDecoderAudio::decodeFrame(void * const buffer, const size_t size)
++size_t FFmpegDecoderAudio::decodeFrame(void *buffer, const size_t size)
+ {
+ for (;;)
+ {
+@@ -443,7 +442,7 @@ size_t FFmpegDecoderAudio::decodeFrame(void * const bu
+ {
+ int data_size = size;
+
+- const int bytes_decoded = decode_audio(m_context, reinterpret_cast<int16_t*>(buffer), &data_size, m_packet_data, m_bytes_remaining, m_swr_context, m_out_sample_rate, m_out_nb_channels, m_out_sample_format);
++ const int bytes_decoded = decode_audio(m_context, reinterpret_cast<int16_t *>(buffer), &data_size, m_packet_data, m_bytes_remaining, m_swr_context, m_out_sample_rate, m_out_nb_channels, m_out_sample_format);
+
+ if (bytes_decoded < 0)
+ {
+@@ -503,10 +502,6 @@ size_t FFmpegDecoderAudio::decodeFrame(void * const bu
+ }
+ }
+
+-
+-/**
+- *
+- */
+ osg::AudioStream::SampleFormat FFmpegDecoderAudio::sampleFormat() const
+ {
+ switch (m_out_sample_format)
+@@ -515,19 +510,14 @@ osg::AudioStream::SampleFormat FFmpegDecoderAudio::sam
+ throw std::runtime_error("invalid audio format AV_SAMPLE_FMT_NONE");
+ case AV_SAMPLE_FMT_U8:
+ return osg::AudioStream::SAMPLE_FORMAT_U8;
+- break;
+ case AV_SAMPLE_FMT_S16:
+ return osg::AudioStream::SAMPLE_FORMAT_S16;
+- break;
+ case AV_SAMPLE_FMT_S32:
+ return osg::AudioStream::SAMPLE_FORMAT_S32;
+- break;
+ case AV_SAMPLE_FMT_FLT:
+ return osg::AudioStream::SAMPLE_FORMAT_F32;
+- break;
+ case AV_SAMPLE_FMT_DBL:
+ throw std::runtime_error("unhandled audio format AV_SAMPLE_FMT_DBL");
+-
+ default:
+ throw std::runtime_error("unknown audio format");
+ }
diff --git a/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderAudio.hpp b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderAudio.hpp
new file mode 100644
index 000000000000..5679e5baaad7
--- /dev/null
+++ b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderAudio.hpp
@@ -0,0 +1,131 @@
+--- src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp.orig 2022-12-01 18:17:31 UTC
++++ src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp
+@@ -1,20 +1,19 @@
+-
+ #ifndef HEADER_GUARD_OSGFFMPEG_FFMPEG_DECODER_AUDIO_H
+ #define HEADER_GUARD_OSGFFMPEG_FFMPEG_DECODER_AUDIO_H
+
+-#include <OpenThreads/Thread>
++extern "C" {
++#include <libavcodec/avcodec.h>
++#include <libswresample/swresample.h>
++}
+
++#include <OpenThreads/Thread>
+ #include <osg/Timer>
+-
++#include <osg/AudioStream>
+ #include "FFmpegClocks.hpp"
+ #include "FFmpegPacket.hpp"
+ #include "FFmpegParameters.hpp"
+-
+-#include <osg/AudioStream>
+-
+ #include "BoundedMessageQueue.hpp"
+
+-
+ namespace osgFFmpeg {
+
+
+@@ -24,12 +23,12 @@ class FFmpegDecoderAudio : public OpenThreads::Thread
+ public:
+
+ typedef BoundedMessageQueue<FFmpegPacket> PacketQueue;
+- typedef void (* PublishFunc) (const FFmpegDecoderAudio & decoder, void * user_data);
++ typedef void (*PublishFunc)(const FFmpegDecoderAudio &decoder, void *user_data);
+
+- FFmpegDecoderAudio(PacketQueue & packets, FFmpegClocks & clocks);
++ FFmpegDecoderAudio(PacketQueue &packets, FFmpegClocks &clocks);
+ ~FFmpegDecoderAudio();
+
+- void open(AVStream * stream, FFmpegParameters* parameters);
++ void open(AVStream *stream, FFmpegParameters *parameters);
+ void pause(bool pause);
+ void close(bool waitForThreadToExit);
+
+@@ -39,7 +38,7 @@ class FFmpegDecoderAudio : public OpenThreads::Thread
+ virtual void run();
+
+ void setAudioSink(osg::ref_ptr<osg::AudioSink> audio_sink);
+- void fillBuffer(void * buffer, size_t size);
++ void fillBuffer(void *buffer, size_t size);
+
+ bool validContext() const;
+ int frequency() const;
+@@ -53,37 +52,37 @@ class FFmpegDecoderAudio : public OpenThreads::Thread
+
+ void decodeLoop();
+ void adjustBufferEndPts(size_t buffer_size);
+- size_t decodeFrame(void * buffer, size_t size);
++ size_t decodeFrame(void *buffer, size_t size);
+
+
+- PacketQueue & m_packets;
+- FFmpegClocks & m_clocks;
+- AVStream * m_stream;
+- AVCodecContext * m_context;
+- FFmpegPacket m_packet;
+- const uint8_t * m_packet_data;
+- int m_bytes_remaining;
++ PacketQueue &m_packets;
++ FFmpegClocks &m_clocks;
++ AVStream *m_stream;
++ AVCodecContext *m_context;
++ FFmpegPacket m_packet;
++ const uint8_t *m_packet_data;
++ int m_bytes_remaining;
+
+- Buffer m_audio_buffer;
+- size_t m_audio_buf_size;
+- size_t m_audio_buf_index;
++ Buffer m_audio_buffer;
++ size_t m_audio_buf_size;
++ size_t m_audio_buf_index;
+
+- int m_in_sample_rate;
+- int m_in_nb_channels;
+- AVSampleFormat m_in_sample_format;
+- int m_out_sample_rate;
+- int m_out_nb_channels;
+- AVSampleFormat m_out_sample_format;
++ int m_in_sample_rate;
++ int m_in_nb_channels;
++ AVSampleFormat m_in_sample_format;
++ int m_out_sample_rate;
++ int m_out_nb_channels;
++ AVSampleFormat m_out_sample_format;
+
+- SinkPtr m_audio_sink;
++ SinkPtr m_audio_sink;
+
+- osg::Timer m_pause_timer;
++ osg::Timer m_pause_timer;
+
+- bool m_end_of_stream;
+- bool m_paused;
+- volatile bool m_exit;
++ bool m_end_of_stream;
++ bool m_paused;
++ volatile bool m_exit;
+
+- SwrContext * m_swr_context; // Sw resampling context
++ SwrContext *m_swr_context; // Sw resampling context
+ };
+
+
+@@ -92,7 +91,7 @@ inline bool FFmpegDecoderAudio::validContext() const
+
+ inline bool FFmpegDecoderAudio::validContext() const
+ {
+- return m_context != 0;
++ return m_context != nullptr;
+ }
+
+
+@@ -110,5 +109,5 @@ inline int FFmpegDecoderAudio::nbChannels() const
+ } // namespace osgFFmpeg
+
+
+-
+ #endif // HEADER_GUARD_OSGFFMPEG_FFMPEG_DECODER_AUDIO_H
++
diff --git a/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderVideo.cpp b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderVideo.cpp
new file mode 100644
index 000000000000..363ffe1028f4
--- /dev/null
+++ b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderVideo.cpp
@@ -0,0 +1,440 @@
+--- src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp.orig 2022-12-01 18:17:31 UTC
++++ src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp
+@@ -6,38 +6,35 @@
+ #include <stdexcept>
+ #include <string.h>
+
++extern "C" {
++#include <libavutil/imgutils.h>
++}
++
+ namespace osgFFmpeg {
+
+-// TODO - add support for using RGB or RGBA pixel format.
+-// Note from Jason Daly in a osg-submissions thread, "The pix_fmt field of AVCodecContext will indicate the pixel format of the decoded video"
+-
+-
+ FFmpegDecoderVideo::FFmpegDecoderVideo(PacketQueue & packets, FFmpegClocks & clocks) :
+ m_packets(packets),
+ m_clocks(clocks),
+- m_stream(0),
+- m_context(0),
+- m_codec(0),
+- m_packet_data(0),
++ m_stream(nullptr),
++ m_context(nullptr),
++ m_codec(nullptr),
++ m_packet_data(nullptr),
+ m_bytes_remaining(0),
+ m_packet_pts(AV_NOPTS_VALUE),
+ m_writeBuffer(0),
+- m_user_data(0),
+- m_publish_func(0),
++ m_user_data(nullptr),
++ m_publish_func(nullptr),
+ m_paused(true),
+ m_exit(false)
+ #ifdef USE_SWSCALE
+- ,m_swscale_ctx(0)
++ ,m_swscale_ctx(nullptr)
+ #endif
+ {
+-
+ }
+
+-
+-
+ FFmpegDecoderVideo::~FFmpegDecoderVideo()
+ {
+- OSG_INFO<<"Destructing FFmpegDecoderVideo..."<<std::endl;
++ OSG_INFO << "Destructing FFmpegDecoderVideo..." << std::endl;
+
+ this->close(true);
+
+@@ -45,24 +42,23 @@ FFmpegDecoderVideo::~FFmpegDecoderVideo()
+ if (m_swscale_ctx)
+ {
+ sws_freeContext(m_swscale_ctx);
+- m_swscale_ctx = 0;
++ m_swscale_ctx = nullptr;
+ }
+ #endif
+
+ if (m_context)
+ {
+- avcodec_close(m_context);
++ avcodec_free_context(&m_context);
+ }
+
+- OSG_INFO<<"Destructed FFmpegDecoderVideo"<<std::endl;
++ OSG_INFO << "Destructed FFmpegDecoderVideo" << std::endl;
+ }
+
+-
+-
+ void FFmpegDecoderVideo::open(AVStream * const stream)
+ {
+ m_stream = stream;
+- m_context = stream->codec;
++ m_context = avcodec_alloc_context3(nullptr);
++ avcodec_parameters_to_context(m_context, stream->codecpar);
+
+ // Trust the video size given at this point
+ // (avcodec_open seems to sometimes return a 0x0 size)
+@@ -74,43 +70,34 @@ void FFmpegDecoderVideo::open(AVStream * const stream)
+ m_alpha_channel = (m_context->pix_fmt == AV_PIX_FMT_YUVA420P);
+
+ // Find out the framerate
+- #if LIBAVCODEC_VERSION_MAJOR >= 56
+ m_frame_rate = av_q2d(stream->avg_frame_rate);
+- #else
+- m_frame_rate = av_q2d(stream->r_frame_rate);
+- #endif
+
+ // Find the decoder for the video stream
+ m_codec = avcodec_find_decoder(m_context->codec_id);
+
+- if (m_codec == 0)
++ if (m_codec == nullptr)
+ throw std::runtime_error("avcodec_find_decoder() failed");
+
+- // Inform the codec that we can handle truncated bitstreams
+- //if (p_codec->capabilities & CODEC_CAP_TRUNCATED)
+- // m_context->flags |= CODEC_FLAG_TRUNCATED;
+-
+ // Open codec
+- if (avcodec_open2(m_context, m_codec, NULL) < 0)
+- throw std::runtime_error("avcodec_open() failed");
++ if (avcodec_open2(m_context, m_codec, nullptr) < 0)
++ throw std::runtime_error("avcodec_open2() failed");
+
+ // Allocate video frame
+ m_frame.reset(av_frame_alloc());
+
+ // Allocate converted RGB frame
+ m_frame_rgba.reset(av_frame_alloc());
+- m_buffer_rgba[0].resize(avpicture_get_size(AV_PIX_FMT_RGB24, width(), height()));
++ m_buffer_rgba[0].resize(av_image_get_buffer_size(AV_PIX_FMT_RGB24, width(), height(), 1));
+ m_buffer_rgba[1].resize(m_buffer_rgba[0].size());
+
+ // Assign appropriate parts of the buffer to image planes in m_frame_rgba
+- avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], AV_PIX_FMT_RGB24, width(), height());
++ av_image_fill_arrays(m_frame_rgba->data, m_frame_rgba->linesize, &(m_buffer_rgba[0])[0], AV_PIX_FMT_RGB24, width(), height(), 1);
+
+- // Override get_buffer()/release_buffer() from codec context in order to retrieve the PTS of each frame.
++ // Override get_buffer2() from codec context in order to retrieve the PTS of each frame.
+ m_context->opaque = this;
+ m_context->get_buffer2 = getBuffer;
+ }
+
+-
+ void FFmpegDecoderVideo::close(bool waitForThreadToExit)
+ {
+ if (isRunning())
+@@ -123,10 +110,7 @@ void FFmpegDecoderVideo::pause(bool pause)
+
+ void FFmpegDecoderVideo::pause(bool pause)
+ {
+- if(pause)
+- m_paused = true;
+- else
+- m_paused = false;
++ m_paused = pause;
+ }
+
+ void FFmpegDecoderVideo::run()
+@@ -135,102 +119,60 @@ void FFmpegDecoderVideo::run()
+ {
+ decodeLoop();
+ }
+-
+- catch (const std::exception & error)
++ catch (const std::exception &error)
+ {
+ OSG_WARN << "FFmpegDecoderVideo::run : " << error.what() << std::endl;
+ }
+-
+ catch (...)
+ {
+ OSG_WARN << "FFmpegDecoderVideo::run : unhandled exception" << std::endl;
+ }
+ }
+
+-
+-
+ void FFmpegDecoderVideo::decodeLoop()
+ {
+ FFmpegPacket packet;
+ double pts;
+
+- while (! m_exit)
++ while (!m_exit)
+ {
+ // Work on the current packet until we have decoded all of it
+-
+ while (m_bytes_remaining > 0)
+ {
+ // Save global PTS to be stored in m_frame via getBuffer()
+-
+ m_packet_pts = packet.packet.pts;
+
+ // Decode video frame
+-
+ int frame_finished = 0;
++ const int bytes_decoded = avcodec_receive_frame(m_context, m_frame.get());
+
+- // We want to use the entire packet since some codecs will require extra information for decoding
+- const int bytes_decoded = avcodec_decode_video2(m_context, m_frame.get(), &frame_finished, &(packet.packet));
++ if (bytes_decoded == 0)
++ {
++ frame_finished = 1;
++ m_bytes_remaining -= bytes_decoded;
++ m_packet_data += bytes_decoded;
++ }
++ else if (bytes_decoded == AVERROR(EAGAIN))
++ {
++ break;
++ }
++ else if (bytes_decoded < 0)
++ {
++ throw std::runtime_error("avcodec_receive_frame() failed");
++ }
+
+- if (bytes_decoded < 0)
+- throw std::runtime_error("avcodec_decode_video failed()");
+-
+- m_bytes_remaining -= bytes_decoded;
+- m_packet_data += bytes_decoded;
+-
+ // Publish the frame if we have decoded a complete frame
+ if (frame_finished)
+ {
+-#if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(57,24,102)
+- //ffmpeg-3.0 and below
+- AVRational timebase;
+- // Find out the frame pts
+- if (m_frame->pts != int64_t(AV_NOPTS_VALUE))
++ if (m_frame->pts != AV_NOPTS_VALUE)
+ {
+- pts = m_frame->pts;
+- timebase = m_context->time_base;
+- }
+- else if (packet.packet.dts == int64_t(AV_NOPTS_VALUE) &&
+- m_frame->opaque != 0 &&
+- *reinterpret_cast<const int64_t*>(m_frame->opaque) != int64_t(AV_NOPTS_VALUE))
+- {
+- pts = *reinterpret_cast<const int64_t*>(m_frame->opaque);
+- timebase = m_stream->time_base;
+- }
+- else if (packet.packet.dts != int64_t(AV_NOPTS_VALUE))
+- {
+- pts = packet.packet.dts;
+- timebase = m_stream->time_base;
+- }
+- else
+- {
+- pts = 0;
+- timebase = m_context->time_base;
+- }
+-
+- pts *= av_q2d(timebase);
+-
+-#else
+- //above ffmpeg-3.0
+- // Find out the frame pts
+- if (m_frame->pts != int64_t(AV_NOPTS_VALUE))
+- {
+ pts = av_q2d(m_stream->time_base) * m_frame->pts;
+ }
+- else if (packet.packet.dts == int64_t(AV_NOPTS_VALUE) &&
+- m_frame->opaque != 0 &&
+- *reinterpret_cast<const int64_t*>(m_frame->opaque) != int64_t(AV_NOPTS_VALUE))
+- {
+- pts = av_q2d(m_stream->time_base) * *reinterpret_cast<const int64_t*>(m_frame->opaque);
+- }
+- else if (packet.packet.dts != int64_t(AV_NOPTS_VALUE))
+- {
+- pts = av_q2d(m_stream->time_base) * packet.packet.dts;
+- }
+ else
+ {
+ pts = 0;
+ }
+-#endif
++
+ const double synched_pts = m_clocks.videoSynchClock(m_frame.get(), av_q2d(av_inv_q(m_context->framerate)), pts);
+ const double frame_delay = m_clocks.videoRefreshSchedule(synched_pts);
+
+@@ -238,13 +180,12 @@ void FFmpegDecoderVideo::decodeLoop()
+ }
+ }
+
+- while(m_paused && !m_exit)
++ while (m_paused && !m_exit)
+ {
+- microSleep(10000);
++ OpenThreads::Thread::microSleep(10000);
+ }
+
+ // Get the next packet
+-
+ pts = 0;
+
+ if (packet.valid())
+@@ -253,12 +194,13 @@ void FFmpegDecoderVideo::decodeLoop()
+ bool is_empty = true;
+ packet = m_packets.timedPop(is_empty, 10);
+
+- if (! is_empty)
++ if (!is_empty)
+ {
+ if (packet.type == FFmpegPacket::PACKET_DATA)
+ {
+ m_bytes_remaining = packet.packet.size;
+ m_packet_data = packet.packet.data;
++ avcodec_send_packet(m_context, &(packet.packet));
+ }
+ else if (packet.type == FFmpegPacket::PACKET_FLUSH)
+ {
+@@ -268,8 +210,6 @@ void FFmpegDecoderVideo::decodeLoop()
+ }
+ }
+
+-
+-
+ void FFmpegDecoderVideo::findAspectRatio()
+ {
+ float ratio = 0.0f;
+@@ -283,65 +223,52 @@ void FFmpegDecoderVideo::findAspectRatio()
+ m_pixel_aspect_ratio = ratio;
+ }
+
+-int FFmpegDecoderVideo::convert(AVPicture *dst, int dst_pix_fmt, AVPicture *src,
+- int src_pix_fmt, int src_width, int src_height)
++int FFmpegDecoderVideo::convert(AVFrame *dst, int dst_pix_fmt, AVFrame *src,
++ int src_pix_fmt, int src_width, int src_height)
+ {
+ osg::Timer_t startTick = osg::Timer::instance()->tick();
+ #ifdef USE_SWSCALE
+- if (m_swscale_ctx==0)
++ if (m_swscale_ctx == nullptr)
+ {
+- m_swscale_ctx = sws_getContext(src_width, src_height, (AVPixelFormat) src_pix_fmt,
+- src_width, src_height, (AVPixelFormat) dst_pix_fmt,
+- /*SWS_BILINEAR*/ SWS_BICUBIC, NULL, NULL, NULL);
++ m_swscale_ctx = sws_getContext(src_width, src_height, (AVPixelFormat)src_pix_fmt,
++ src_width, src_height, (AVPixelFormat)dst_pix_fmt,
++ SWS_BICUBIC, nullptr, nullptr, nullptr);
+ }
+
++ OSG_DEBUG << "Using sws_scale ";
+
+- OSG_DEBUG<<"Using sws_scale ";
+-
+- int result = sws_scale(m_swscale_ctx,
+- (src->data), (src->linesize), 0, src_height,
+- (dst->data), (dst->linesize));
++ int result = sws_scale(m_swscale_ctx,
++ src->data, src->linesize, 0, src_height,
++ dst->data, dst->linesize);
+ #else
+
+- OSG_DEBUG<<"Using img_convert ";
++ OSG_DEBUG << "Using img_convert ";
+
+- int result = img_convert(dst, dst_pix_fmt, src,
+- src_pix_fmt, src_width, src_height);
+-
++ int result = av_image_copy_to_buffer(dst->data, dst_pix_fmt, src->data, src_pix_fmt, src_width, src_height);
+ #endif
+ osg::Timer_t endTick = osg::Timer::instance()->tick();
+- OSG_DEBUG<<" time = "<<osg::Timer::instance()->delta_m(startTick,endTick)<<"ms"<<std::endl;
++ OSG_DEBUG << " time = " << osg::Timer::instance()->delta_m(startTick, endTick) << "ms" << std::endl;
+
+ return result;
+ }
+
+-
+ void FFmpegDecoderVideo::publishFrame(const double delay, bool audio_disabled)
+ {
+ // If no publishing function, just ignore the frame
+- if (m_publish_func == 0)
++ if (m_publish_func == nullptr)
+ return;
+
+-#if 1
+- // new code from Jean-Sebasiten Guay - needs testing as we're unclear on the best solution
+ // If the display delay is too small, we better skip the frame.
+ if (!audio_disabled && delay < -0.010)
+ return;
+-#else
+- // original solution that hung on video stream over web.
+- // If the display delay is too small, we better skip the frame.
+- if (delay < -0.010)
+- return;
+-#endif
+
+- AVPicture * const src = (AVPicture *) m_frame.get();
+- AVPicture * const dst = (AVPicture *) m_frame_rgba.get();
++ AVFrame *src = m_frame.get();
++ AVFrame *dst = m_frame_rgba.get();
+
+ // Assign appropriate parts of the buffer to image planes in m_frame_rgba
+- avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], AV_PIX_FMT_RGB24, width(), height());
++ av_image_fill_arrays(dst->data, dst->linesize, &(m_buffer_rgba[m_writeBuffer])[0], AV_PIX_FMT_RGB24, width(), height(), 1);
+
+ // Convert YUVA420p (i.e. YUV420p plus alpha channel) using our own routine
+-
+ if (m_context->pix_fmt == AV_PIX_FMT_YUVA420P)
+ yuva420pToRgba(dst, src, width(), height());
+ else
+@@ -363,26 +290,25 @@ void FFmpegDecoderVideo::publishFrame(const double del
+ i_delay -= micro_delay;
+ }
+
+- m_writeBuffer = 1-m_writeBuffer;
++ m_writeBuffer = 1 - m_writeBuffer;
+
+- m_publish_func(* this, m_user_data);
++ m_publish_func(*this, m_user_data);
+ }
+
+-
+-
+-void FFmpegDecoderVideo::yuva420pToRgba(AVPicture * const dst, AVPicture * const src, int width, int height)
++void FFmpegDecoderVideo::yuva420pToRgba(AVFrame * const dst, AVFrame * const src, int width, int height)
+ {
+ convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width, height);
+
+ const size_t bpp = 4;
+
+- uint8_t * a_dst = dst->data[0] + 3;
++ uint8_t *a_dst = dst->data[0] + 3;
+
+- for (int h = 0; h < height; ++h) {
++ for (int h = 0; h < height; ++h)
++ {
++ const uint8_t *a_src = src->data[3] + h * src->linesize[3];
+
+- const uint8_t * a_src = src->data[3] + h * src->linesize[3];
+-
+- for (int w = 0; w < width; ++w) {
++ for (int w = 0; w < width; ++w)
++ {
+ *a_dst = *a_src;
+ a_dst += bpp;
+ a_src += 1;
+@@ -396,7 +322,7 @@ int FFmpegDecoderVideo::getBuffer(AVCodecContext * con
+ const FFmpegDecoderVideo * const this_ = reinterpret_cast<const FFmpegDecoderVideo*>(context->opaque);
+
+ const int result = avcodec_default_get_buffer2(context, picture, flags);
+- int64_t * p_pts = reinterpret_cast<int64_t*>( av_malloc(sizeof(int64_t)) );
++ int64_t *p_pts = reinterpret_cast<int64_t*>(av_malloc(sizeof(int64_t)));
+
+ *p_pts = this_->m_packet_pts;
+ picture->opaque = p_pts;
+@@ -415,3 +341,4 @@ void FFmpegDecoderVideo::freeBuffer(void *opaque, uint
+ }
+
+ } // namespace osgFFmpeg
++
diff --git a/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderVideo.hpp b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderVideo.hpp
new file mode 100644
index 000000000000..59d4ef26d5ff
--- /dev/null
+++ b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderVideo.hpp
@@ -0,0 +1,62 @@
+--- src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp.orig 2022-12-01 18:17:31 UTC
++++ src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp
+@@ -1,4 +1,3 @@
+-
+ #ifndef HEADER_GUARD_OSGFFMPEG_FFMPEG_DECODER_VIDEO_H
+ #define HEADER_GUARD_OSGFFMPEG_FFMPEG_DECODER_VIDEO_H
+
+@@ -15,11 +14,11 @@ class FramePtr
+
+ class FramePtr
+ {
+- public:
++ public:
+
+ typedef AVFrame T;
+
+- explicit FramePtr() : _ptr(0) {}
++ explicit FramePtr() : _ptr(nullptr) {}
+ explicit FramePtr(T* ptr) : _ptr(ptr) {}
+
+ ~FramePtr()
+@@ -43,14 +42,11 @@ class FramePtr
+
+ void cleanup()
+ {
+- if (_ptr) av_free(_ptr);
+- _ptr = 0;
++ if (_ptr) av_frame_free(&_ptr);
++ _ptr = nullptr;
+ }
+
+-
+-
+ protected:
+-
+ T* _ptr;
+ };
+
+@@ -88,12 +84,11 @@ class FFmpegDecoderVideo : public OpenThreads::Thread
+ void findAspectRatio();
+ void publishFrame(double delay, bool audio_disabled);
+ double synchronizeVideo(double pts);
+- void yuva420pToRgba(AVPicture *dst, AVPicture *src, int width, int height);
++ void yuva420pToRgba(AVFrame* dst, AVFrame* src, int width, int height);
+
+- int convert(AVPicture *dst, int dst_pix_fmt, AVPicture *src,
++ int convert(AVFrame* dst, int dst_pix_fmt, AVFrame* src,
+ int src_pix_fmt, int src_width, int src_height);
+
+-
+ static int getBuffer(AVCodecContext * context, AVFrame * picture, int flags);
+ static void freeBuffer(void * opaque, uint8_t *data);
+
+@@ -101,7 +96,7 @@ class FFmpegDecoderVideo : public OpenThreads::Thread
+ FFmpegClocks & m_clocks;
+ AVStream * m_stream;
+ AVCodecContext * m_context;
+- AVCodec * m_codec;
++ const AVCodec* m_codec;
+ const uint8_t * m_packet_data;
+ int m_bytes_remaining;
+ int64_t m_packet_pts;
diff --git a/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegPacket.hpp b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegPacket.hpp
new file mode 100644
index 000000000000..daa4932f1e6f
--- /dev/null
+++ b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegPacket.hpp
@@ -0,0 +1,11 @@
+--- src/osgPlugins/ffmpeg/FFmpegPacket.hpp.orig 2022-12-01 18:17:31 UTC
++++ src/osgPlugins/ffmpeg/FFmpegPacket.hpp
+@@ -42,7 +42,7 @@ namespace osgFFmpeg
+ void clear()
+ {
+ if (packet.data != 0)
+- av_free_packet(&packet);
++ av_packet_unref(&packet);
+
+ release();
+ }
diff --git a/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegParameters.cpp b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegParameters.cpp
new file mode 100644
index 000000000000..e2a09c3959d0
--- /dev/null
+++ b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegParameters.cpp
@@ -0,0 +1,37 @@
+--- src/osgPlugins/ffmpeg/FFmpegParameters.cpp.orig 2022-12-01 18:17:31 UTC
++++ src/osgPlugins/ffmpeg/FFmpegParameters.cpp
+@@ -1,4 +1,3 @@
+-
+ #include "FFmpegParameters.hpp"
+
+ #include <string>
+@@ -21,11 +20,8 @@ inline AVPixelFormat osg_av_get_pix_fmt(const char *na
+
+ inline AVPixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); }
+
+-
+ namespace osgFFmpeg {
+
+-
+-
+ FFmpegParameters::FFmpegParameters() :
+ m_format(0),
+ m_context(0),
+@@ -40,7 +36,6 @@ FFmpegParameters::~FFmpegParameters()
+ av_dict_free(&m_options);
+ }
+
+-
+ void FFmpegParameters::parse(const std::string& name, const std::string& value)
+ {
+ if (value.empty())
+@@ -52,7 +47,8 @@ void FFmpegParameters::parse(const std::string& name,
+ #ifndef ANDROID
+ avdevice_register_all();
+ #endif
+- m_format = av_find_input_format(value.c_str());
++ const AVInputFormat* format = av_find_input_format(value.c_str());
++ m_format = const_cast<AVInputFormat*>(format);
+ if (!m_format)
+ OSG_NOTICE<<"Failed to apply input video format: "<<value.c_str()<<std::endl;
+ }
diff --git a/graphics/osg/files/patch-src_osgPlugins_ffmpeg_ReaderWriterFFmpeg.cpp b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_ReaderWriterFFmpeg.cpp
new file mode 100644
index 000000000000..6bf9c3e11141
--- /dev/null
+++ b/graphics/osg/files/patch-src_osgPlugins_ffmpeg_ReaderWriterFFmpeg.cpp
@@ -0,0 +1,100 @@
+--- src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp.orig 2022-12-01 18:17:31 UTC
++++ src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp
+@@ -10,7 +10,6 @@
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * OpenSceneGraph Public License for more details.
+ */
+-
+ #include "FFmpegHeaders.hpp"
+ #include "FFmpegImageStream.hpp"
+ #include "FFmpegParameters.hpp"
+@@ -19,13 +18,6 @@
+ #include <osgDB/FileNameUtils>
+ #include <osgDB/FileUtils>
+
+-
+-#if LIBAVCODEC_VERSION_MAJOR >= 53 || \
+- (LIBAVCODEC_VERSION_MAJOR==52 && LIBAVCODEC_VERSION_MINOR>=30) || \
+- (LIBAVCODEC_VERSION_MAJOR==52 && LIBAVCODEC_VERSION_MINOR==20 && LIBAVCODEC_VERSION_MICRO >= 1)
+- #define USE_AV_LOCK_MANAGER
+-#endif
+-
+ extern "C" {
+
+ static void log_to_osg(void* /*ptr*/, int level, const char *fmt, va_list vl)
+@@ -100,26 +92,21 @@ class ReaderWriterFFmpeg : public osgDB::ReaderWriter
+
+ supportsOption("format", "Force setting input format (e.g. vfwcap for Windows webcam)");
+ supportsOption("pixel_format", "Set pixel format");
+- supportsOption("frame_size", "Set frame size (e.g. 320x240)");
++ supportsOption("frame_size", "Set frame size (e.g. 320x240)");
+ supportsOption("frame_rate", "Set frame rate (e.g. 25)");
+ // WARNING: This option is kept for backwards compatibility only, use out_sample_rate instead!
+ supportsOption("audio_sample_rate", "Set audio sampling rate (e.g. 44100)");
+ supportsOption("out_sample_format", "Set the output sample format (e.g. AV_SAMPLE_FMT_S16)");
+- supportsOption("out_sample_rate", "Set the output sample rate or frequency in Hz (e.g. 48000)");
++ supportsOption("out_sample_rate", "Set the output sample rate or frequency in Hz (e.g. 48000)");
+ supportsOption("out_nb_channels", "Set the output number of channels (e.g. 2 for stereo)");
+- supportsOption("context", "AVIOContext* for custom IO");
+- supportsOption("mad", "Max analyze duration (seconds)");
+- supportsOption("rtsp_transport", "RTSP transport (udp, tcp, udp_multicast or http)");
++ supportsOption("context", "AVIOContext* for custom IO");
++ supportsOption("mad", "Max analyze duration (seconds)");
++ supportsOption("rtsp_transport", "RTSP transport (udp, tcp, udp_multicast or http)");
+
+ av_log_set_callback(log_to_osg);
+
+-#ifdef USE_AV_LOCK_MANAGER
+- // enable thread locking
+- av_lockmgr_register(&lockMgr);
+-#endif
+ // Register all FFmpeg formats/codecs
+- av_register_all();
+-
++ avdevice_register_all();
+ avformat_network_init();
+ }
+
+@@ -218,41 +205,7 @@ class ReaderWriterFFmpeg : public osgDB::ReaderWriter
+ }
+ }
+ }
+-
+-#ifdef USE_AV_LOCK_MANAGER
+- static int lockMgr(void **mutex, enum AVLockOp op)
+- {
+- // returns are 0 success
+- OpenThreads::Mutex **m=(OpenThreads::Mutex**)mutex;
+- if (op==AV_LOCK_CREATE)
+- {
+- *m=new OpenThreads::Mutex;
+- return !*m;
+- }
+- else if (op==AV_LOCK_DESTROY)
+- {
+- delete *m;
+- return 0;
+- }
+- else if (op==AV_LOCK_OBTAIN)
+- {
+- (*m)->lock();
+- return 0;
+- }
+- else if (op==AV_LOCK_RELEASE)
+- {
+- (*m)->unlock();
+- return 0;
+- }
+- else
+- {
+- return -1;
+- }
+- }
+-#endif
+-
+ };
+
+-
+-
+ REGISTER_OSGPLUGIN(ffmpeg, ReaderWriterFFmpeg)
++
diff --git a/graphics/osg34/Makefile b/graphics/osg34/Makefile
index b08265df70dd..d40d201ac11e 100644
--- a/graphics/osg34/Makefile
+++ b/graphics/osg34/Makefile
@@ -1,7 +1,7 @@
PORTNAME= osg
PORTVERSION= 3.4.1
DISTVERSIONPREFIX= OpenSceneGraph-
-PORTREVISION= 64
+PORTREVISION= 65
CATEGORIES= graphics
PKGNAMESUFFIX= 34
diff --git a/graphics/ospray/Makefile b/graphics/ospray/Makefile
index eb788a006376..19dbcc639945 100644
--- a/graphics/ospray/Makefile
+++ b/graphics/ospray/Makefile
@@ -6,11 +6,14 @@ CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
COMMENT= Ray tracing based rendering engine for high-fidelity visualization
-WWW= https://www.ospray.org/
+WWW= https://www.ospray.org/ \
+ https://github.com/RenderKit/ospray
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+BROKEN= expects embree to be compiled with EMBREE_GEOMETRY_INSTANCE=ON
+
BUILD_DEPENDS= ispc:devel/ispc
LIB_DEPENDS= libbenchmark.so:devel/benchmark \
libembree3.so:graphics/embree3 \
diff --git a/graphics/oxipng/Makefile b/graphics/oxipng/Makefile
index 9bc49affc10f..9a4fc6604706 100644
--- a/graphics/oxipng/Makefile
+++ b/graphics/oxipng/Makefile
@@ -1,7 +1,7 @@
PORTNAME= oxipng
DISTVERSIONPREFIX= v
DISTVERSION= 9.1.5 # apply ${FILESDIR}/patch-man before generating cargo-crates list for missing deps
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= eduardo@FreeBSD.org
diff --git a/graphics/p5-GD-Barcode/Makefile b/graphics/p5-GD-Barcode/Makefile
index f39f1082d57b..fd6f82747a9e 100644
--- a/graphics/p5-GD-Barcode/Makefile
+++ b/graphics/p5-GD-Barcode/Makefile
@@ -1,5 +1,5 @@
PORTNAME= GD-Barcode
-PORTVERSION= 2.00
+DISTVERSION= 2.01
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -17,4 +17,5 @@ RUN_DEPENDS= p5-GD>=0:graphics/p5-GD
USES= perl5
USE_PERL5= configure
+NO_ARCH= yes
.include <bsd.port.mk>
diff --git a/graphics/p5-GD-Barcode/distinfo b/graphics/p5-GD-Barcode/distinfo
index ed69db000e01..1ffbafd40ee4 100644
--- a/graphics/p5-GD-Barcode/distinfo
+++ b/graphics/p5-GD-Barcode/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1694687237
-SHA256 (GD-Barcode-2.00.tar.gz) = 7cabb9a7eef7891145cc333ca70462972418377c23d3ab2a34c6f1aa229796ef
-SIZE (GD-Barcode-2.00.tar.gz) = 885786
+TIMESTAMP = 1753445226
+SHA256 (GD-Barcode-2.01.tar.gz) = 59af0f8a9bec93d2775fa8a1a251532d62fe2e160a471896c935aa9be8c5cd21
+SIZE (GD-Barcode-2.01.tar.gz) = 897133
diff --git a/graphics/p5-Gimp/Makefile b/graphics/p5-Gimp/Makefile
index 132cd2d77243..d20507687cf6 100644
--- a/graphics/p5-Gimp/Makefile
+++ b/graphics/p5-Gimp/Makefile
@@ -36,4 +36,10 @@ post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/Gimp/Net/Net.so
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/Gimp/UI/UI.so
-.include <bsd.port.mk>
+.include <bsd.port.pre.mk>
+
+.if ${PERL_LEVEL} >= 504200
+BROKEN= fails to build
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/graphics/p5-Image-ExifTool-devel/Makefile b/graphics/p5-Image-ExifTool-devel/Makefile
index 102f42220d17..d94c6d0b219d 100644
--- a/graphics/p5-Image-ExifTool-devel/Makefile
+++ b/graphics/p5-Image-ExifTool-devel/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Image-ExifTool
-DISTVERSION= 13.32
+DISTVERSION= 13.34
CATEGORIES= graphics perl5
MASTER_SITES= https://exiftool.org/ \
SF/exiftool
diff --git a/graphics/p5-Image-ExifTool-devel/distinfo b/graphics/p5-Image-ExifTool-devel/distinfo
index 295a8c69ddd2..11296cf68063 100644
--- a/graphics/p5-Image-ExifTool-devel/distinfo
+++ b/graphics/p5-Image-ExifTool-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751542077
-SHA256 (Image-ExifTool-13.32.tar.gz) = e4b462f1a111bde3e3c4519e06d71efaacc576c36f4c3407b3d225c39393c829
-SIZE (Image-ExifTool-13.32.tar.gz) = 7461392
+TIMESTAMP = 1755612928
+SHA256 (Image-ExifTool-13.34.tar.gz) = 27c50309a0773e8f450375759f1e49fc38c5e310c816999a3e0b82325a08d3a4
+SIZE (Image-ExifTool-13.34.tar.gz) = 7490528
diff --git a/graphics/p5-Image-ExifTool-devel/pkg-plist b/graphics/p5-Image-ExifTool-devel/pkg-plist
index 5d41d8b7cc01..a0cf3975c1b3 100644
--- a/graphics/p5-Image-ExifTool-devel/pkg-plist
+++ b/graphics/p5-Image-ExifTool-devel/pkg-plist
@@ -208,6 +208,7 @@ bin/exiftool
%%SITE_PERL%%/Image/ExifTool/Sony.pm
%%SITE_PERL%%/Image/ExifTool/SonyIDC.pm
%%SITE_PERL%%/Image/ExifTool/Stim.pm
+%%SITE_PERL%%/Image/ExifTool/TNEF.pm
%%SITE_PERL%%/Image/ExifTool/TagInfoXML.pm
%%SITE_PERL%%/Image/ExifTool/TagLookup.pm
%%SITE_PERL%%/Image/ExifTool/TagNames.pod
@@ -412,6 +413,7 @@ bin/exiftool
%%PERL5_MAN3%%/Image::ExifTool::Sony.3.gz
%%PERL5_MAN3%%/Image::ExifTool::SonyIDC.3.gz
%%PERL5_MAN3%%/Image::ExifTool::Stim.3.gz
+%%PERL5_MAN3%%/Image::ExifTool::TNEF.3.gz
%%PERL5_MAN3%%/Image::ExifTool::TagInfoXML.3.gz
%%PERL5_MAN3%%/Image::ExifTool::TagLookup.3.gz
%%PERL5_MAN3%%/Image::ExifTool::TagNames.3.gz
diff --git a/graphics/pastel/Makefile b/graphics/pastel/Makefile
index 5b6880ca1777..a70ad54fb54a 100644
--- a/graphics/pastel/Makefile
+++ b/graphics/pastel/Makefile
@@ -1,12 +1,12 @@
PORTNAME= pastel
DISTVERSIONPREFIX= v
-DISTVERSION= 0.9.0
-PORTREVISION= 24
+DISTVERSION= 0.10.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= lcook@FreeBSD.org
COMMENT= Command-line tool to generate, analyze, convert and manipulate colors
-WWW= https://github.com/sharkdp/pastel
+WWW= https://github.com/sharkdp/pastel/
LICENSE= APACHE20 MIT
LICENSE_COMB= dual
@@ -16,113 +16,18 @@ LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT
USES= cargo shebangfix
USE_GITHUB= yes
GH_ACCOUNT= sharkdp
-SHEBANG_FILES= doc/demo-scripts/gradient.sh
-CARGO_CRATES= aho-corasick-0.7.18 \
- approx-0.5.1 \
- assert_cmd-2.0.4 \
- atty-0.2.14 \
- autocfg-1.1.0 \
- bitflags-1.3.2 \
- bstr-0.2.17 \
- bumpalo-3.9.1 \
- cast-0.2.7 \
- cfg-if-1.0.0 \
- clap-2.34.0 \
- clap-3.1.18 \
- clap_complete-3.1.4 \
- clap_lex-0.2.0 \
- criterion-0.3.5 \
- criterion-plot-0.4.4 \
- crossbeam-channel-0.5.4 \
- crossbeam-deque-0.8.1 \
- crossbeam-epoch-0.9.8 \
- crossbeam-utils-0.8.8 \
- csv-1.1.6 \
- csv-core-0.1.10 \
- difflib-0.4.0 \
- doc-comment-0.3.3 \
- either-1.6.1 \
- getrandom-0.2.6 \
- half-1.8.2 \
- hashbrown-0.11.2 \
- hermit-abi-0.1.19 \
- indexmap-1.8.1 \
- itertools-0.10.3 \
- itoa-0.4.8 \
- itoa-1.0.2 \
- js-sys-0.3.57 \
- lazy_static-1.4.0 \
- libc-0.2.126 \
- log-0.4.17 \
- memchr-2.5.0 \
- memoffset-0.6.5 \
- minimal-lexical-0.2.1 \
- nom-7.1.1 \
- num-traits-0.2.15 \
- num_cpus-1.13.1 \
- once_cell-1.12.0 \
- oorandom-11.1.3 \
- os_str_bytes-6.1.0 \
- output_vt100-0.1.3 \
- plotters-0.3.1 \
- plotters-backend-0.3.2 \
- plotters-svg-0.3.1 \
- ppv-lite86-0.2.16 \
- predicates-2.1.1 \
- predicates-core-1.0.3 \
- predicates-tree-1.0.5 \
- proc-macro2-1.0.39 \
- quote-1.0.18 \
- rand-0.8.5 \
- rand_chacha-0.3.1 \
- rand_core-0.6.3 \
- rand_xoshiro-0.6.0 \
- rayon-1.5.3 \
- rayon-core-1.9.3 \
- regex-1.5.6 \
- regex-automata-0.1.10 \
- regex-syntax-0.6.26 \
- rustc_version-0.4.0 \
- ryu-1.0.10 \
- same-file-1.0.6 \
- scopeguard-1.1.0 \
- semver-1.0.9 \
- serde-1.0.137 \
- serde_cbor-0.11.2 \
- serde_derive-1.0.137 \
- serde_json-1.0.81 \
- strsim-0.10.0 \
- syn-1.0.95 \
- termcolor-1.1.3 \
- terminal_size-0.1.17 \
- termtree-0.2.4 \
- textwrap-0.11.0 \
- textwrap-0.15.0 \
- tinytemplate-1.2.1 \
- unicode-ident-1.0.0 \
- unicode-width-0.1.9 \
- wait-timeout-0.2.0 \
- walkdir-2.3.2 \
- wasi-0.10.2+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.80 \
- wasm-bindgen-backend-0.2.80 \
- wasm-bindgen-macro-0.2.80 \
- wasm-bindgen-macro-support-0.2.80 \
- wasm-bindgen-shared-0.2.80 \
- web-sys-0.3.57 \
- winapi-0.3.9 \
- winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.5 \
- winapi-x86_64-pc-windows-gnu-0.4.0
+SHEBANG_FILES= doc/demo-scripts/gradient.sh
PLIST_FILES= bin/${PORTNAME}
-DOCS= doc/colorcheck.md doc/colorcheck.png \
- doc/demo-scripts/gradient.sh doc/pastel.gif README.md
+
PORTDOCS= ${DOCS:T}
OPTIONS_DEFINE= DOCS
+DOCS= doc/colorcheck.md doc/colorcheck.png \
+ doc/demo-scripts/gradient.sh doc/pastel.gif README.md
+
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}
diff --git a/graphics/pastel/Makefile.crates b/graphics/pastel/Makefile.crates
new file mode 100644
index 000000000000..485a38c4bba7
--- /dev/null
+++ b/graphics/pastel/Makefile.crates
@@ -0,0 +1,122 @@
+CARGO_CRATES= aho-corasick-1.1.3 \
+ anes-0.1.6 \
+ anstyle-1.0.8 \
+ approx-0.5.1 \
+ assert_cmd-2.0.16 \
+ atty-0.2.14 \
+ autocfg-1.3.0 \
+ bitflags-1.3.2 \
+ bstr-1.10.0 \
+ bumpalo-3.16.0 \
+ byteorder-1.5.0 \
+ cast-0.3.0 \
+ cfg-if-1.0.0 \
+ ciborium-0.2.2 \
+ ciborium-io-0.2.2 \
+ ciborium-ll-0.2.2 \
+ clap-3.2.25 \
+ clap-4.5.17 \
+ clap_builder-4.5.17 \
+ clap_complete-3.2.5 \
+ clap_lex-0.2.4 \
+ clap_lex-0.7.2 \
+ criterion-0.5.1 \
+ criterion-plot-0.5.0 \
+ crossbeam-deque-0.8.5 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.20 \
+ crunchy-0.2.2 \
+ difflib-0.4.0 \
+ doc-comment-0.3.3 \
+ either-1.13.0 \
+ errno-0.3.9 \
+ getrandom-0.2.15 \
+ half-2.4.1 \
+ hashbrown-0.12.3 \
+ hermit-abi-0.1.19 \
+ hermit-abi-0.3.9 \
+ hermit-abi-0.4.0 \
+ indexmap-1.9.3 \
+ io-lifetimes-1.0.11 \
+ is-terminal-0.4.13 \
+ itertools-0.10.5 \
+ itoa-1.0.11 \
+ js-sys-0.3.70 \
+ libc-0.2.158 \
+ linux-raw-sys-0.3.8 \
+ log-0.4.22 \
+ memchr-2.7.4 \
+ minimal-lexical-0.2.1 \
+ nom-7.1.3 \
+ num-traits-0.2.19 \
+ once_cell-1.19.0 \
+ oorandom-11.1.4 \
+ os_str_bytes-6.6.1 \
+ output_vt100-0.1.3 \
+ plotters-0.3.6 \
+ plotters-backend-0.3.6 \
+ plotters-svg-0.3.6 \
+ ppv-lite86-0.2.20 \
+ predicates-3.1.2 \
+ predicates-core-1.0.8 \
+ predicates-tree-1.0.11 \
+ proc-macro2-1.0.86 \
+ quote-1.0.37 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rand_xoshiro-0.6.0 \
+ rayon-1.10.0 \
+ rayon-core-1.12.1 \
+ regex-1.10.6 \
+ regex-automata-0.4.7 \
+ regex-syntax-0.8.4 \
+ rustix-0.37.27 \
+ ryu-1.0.18 \
+ same-file-1.0.6 \
+ serde-1.0.210 \
+ serde_derive-1.0.210 \
+ serde_json-1.0.128 \
+ strsim-0.10.0 \
+ syn-2.0.77 \
+ termcolor-1.4.1 \
+ terminal_size-0.2.6 \
+ termtree-0.4.1 \
+ textwrap-0.16.1 \
+ tinytemplate-1.2.1 \
+ unicode-ident-1.0.12 \
+ wait-timeout-0.2.0 \
+ walkdir-2.5.0 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.93 \
+ wasm-bindgen-backend-0.2.93 \
+ wasm-bindgen-macro-0.2.93 \
+ wasm-bindgen-macro-support-0.2.93 \
+ wasm-bindgen-shared-0.2.93 \
+ web-sys-0.3.70 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.9 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-sys-0.59.0 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.6 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.6 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.6 \
+ zerocopy-0.7.35 \
+ zerocopy-derive-0.7.35
diff --git a/graphics/pastel/distinfo b/graphics/pastel/distinfo
index 3db370be1442..3ef74b0e513c 100644
--- a/graphics/pastel/distinfo
+++ b/graphics/pastel/distinfo
@@ -1,197 +1,247 @@
-TIMESTAMP = 1671089626
-SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
-SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
+TIMESTAMP = 1735255893
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
+SIZE (rust/crates/anes-0.1.6.crate) = 23857
+SHA256 (rust/crates/anstyle-1.0.8.crate) = 1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1
+SIZE (rust/crates/anstyle-1.0.8.crate) = 15771
SHA256 (rust/crates/approx-0.5.1.crate) = cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6
SIZE (rust/crates/approx-0.5.1.crate) = 15100
-SHA256 (rust/crates/assert_cmd-2.0.4.crate) = 93ae1ddd39efd67689deb1979d80bad3bf7f2b09c6e6117c8d1f2443b5e2f83e
-SIZE (rust/crates/assert_cmd-2.0.4.crate) = 22581
+SHA256 (rust/crates/assert_cmd-2.0.16.crate) = dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d
+SIZE (rust/crates/assert_cmd-2.0.16.crate) = 26554
SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
SIZE (rust/crates/atty-0.2.14.crate) = 5470
-SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
-SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0
+SIZE (rust/crates/autocfg-1.3.0.crate) = 16524
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bstr-0.2.17.crate) = ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223
-SIZE (rust/crates/bstr-0.2.17.crate) = 330350
-SHA256 (rust/crates/bumpalo-3.9.1.crate) = a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899
-SIZE (rust/crates/bumpalo-3.9.1.crate) = 77507
-SHA256 (rust/crates/cast-0.2.7.crate) = 4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a
-SIZE (rust/crates/cast-0.2.7.crate) = 11222
+SHA256 (rust/crates/bstr-1.10.0.crate) = 40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c
+SIZE (rust/crates/bstr-1.10.0.crate) = 380426
+SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c
+SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
+SIZE (rust/crates/cast-0.3.0.crate) = 11452
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/clap-2.34.0.crate) = a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c
-SIZE (rust/crates/clap-2.34.0.crate) = 202210
-SHA256 (rust/crates/clap-3.1.18.crate) = d2dbdf4bdacb33466e854ce889eee8dfd5729abf7ccd7664d0a2d60cd384440b
-SIZE (rust/crates/clap-3.1.18.crate) = 209664
-SHA256 (rust/crates/clap_complete-3.1.4.crate) = da92e6facd8d73c22745a5d3cbb59bdf8e46e3235c923e516527d8e81eec14a4
-SIZE (rust/crates/clap_complete-3.1.4.crate) = 31223
-SHA256 (rust/crates/clap_lex-0.2.0.crate) = a37c35f1112dad5e6e0b1adaff798507497a18fceeb30cceb3bae7d1427b9213
-SIZE (rust/crates/clap_lex-0.2.0.crate) = 9581
-SHA256 (rust/crates/criterion-0.3.5.crate) = 1604dafd25fba2fe2d5895a9da139f8dc9b319a5fe5354ca137cbbce4e178d10
-SIZE (rust/crates/criterion-0.3.5.crate) = 110662
-SHA256 (rust/crates/criterion-plot-0.4.4.crate) = d00996de9f2f7559f7f4dc286073197f83e92256a59ed395f9aac01fe717da57
-SIZE (rust/crates/criterion-plot-0.4.4.crate) = 22546
-SHA256 (rust/crates/crossbeam-channel-0.5.4.crate) = 5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53
-SIZE (rust/crates/crossbeam-channel-0.5.4.crate) = 88237
-SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
-SIZE (rust/crates/crossbeam-deque-0.8.1.crate) = 20852
-SHA256 (rust/crates/crossbeam-epoch-0.9.8.crate) = 1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c
-SIZE (rust/crates/crossbeam-epoch-0.9.8.crate) = 46012
-SHA256 (rust/crates/crossbeam-utils-0.8.8.crate) = 0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38
-SIZE (rust/crates/crossbeam-utils-0.8.8.crate) = 39681
-SHA256 (rust/crates/csv-1.1.6.crate) = 22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1
-SIZE (rust/crates/csv-1.1.6.crate) = 886999
-SHA256 (rust/crates/csv-core-0.1.10.crate) = 2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90
-SIZE (rust/crates/csv-core-0.1.10.crate) = 25668
+SHA256 (rust/crates/ciborium-0.2.2.crate) = 42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e
+SIZE (rust/crates/ciborium-0.2.2.crate) = 35611
+SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757
+SIZE (rust/crates/ciborium-io-0.2.2.crate) = 6697
+SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9
+SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695
+SHA256 (rust/crates/clap-3.2.25.crate) = 4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123
+SIZE (rust/crates/clap-3.2.25.crate) = 219403
+SHA256 (rust/crates/clap-4.5.17.crate) = 3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac
+SIZE (rust/crates/clap-4.5.17.crate) = 56802
+SHA256 (rust/crates/clap_builder-4.5.17.crate) = 8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73
+SIZE (rust/crates/clap_builder-4.5.17.crate) = 163559
+SHA256 (rust/crates/clap_complete-3.2.5.crate) = 3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8
+SIZE (rust/crates/clap_complete-3.2.5.crate) = 31625
+SHA256 (rust/crates/clap_lex-0.2.4.crate) = 2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5
+SIZE (rust/crates/clap_lex-0.2.4.crate) = 9652
+SHA256 (rust/crates/clap_lex-0.7.2.crate) = 1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97
+SIZE (rust/crates/clap_lex-0.7.2.crate) = 12805
+SHA256 (rust/crates/criterion-0.5.1.crate) = f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f
+SIZE (rust/crates/criterion-0.5.1.crate) = 110088
+SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1
+SIZE (rust/crates/criterion-plot-0.5.0.crate) = 22706
+SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
+SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80
+SIZE (rust/crates/crossbeam-utils-0.8.20.crate) = 42487
+SHA256 (rust/crates/crunchy-0.2.2.crate) = 7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7
+SIZE (rust/crates/crunchy-0.2.2.crate) = 2995
SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
SIZE (rust/crates/difflib-0.4.0.crate) = 7638
SHA256 (rust/crates/doc-comment-0.3.3.crate) = fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10
SIZE (rust/crates/doc-comment-0.3.3.crate) = 4123
-SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
-SIZE (rust/crates/either-1.6.1.crate) = 13641
-SHA256 (rust/crates/getrandom-0.2.6.crate) = 9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad
-SIZE (rust/crates/getrandom-0.2.6.crate) = 28043
-SHA256 (rust/crates/half-1.8.2.crate) = eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7
-SIZE (rust/crates/half-1.8.2.crate) = 41874
-SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
-SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
+SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0
+SIZE (rust/crates/either-1.13.0.crate) = 19169
+SHA256 (rust/crates/errno-0.3.9.crate) = 534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba
+SIZE (rust/crates/errno-0.3.9.crate) = 10690
+SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
+SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
+SHA256 (rust/crates/half-2.4.1.crate) = 6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888
+SIZE (rust/crates/half-2.4.1.crate) = 50892
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
-SHA256 (rust/crates/indexmap-1.8.1.crate) = 0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee
-SIZE (rust/crates/indexmap-1.8.1.crate) = 53220
-SHA256 (rust/crates/itertools-0.10.3.crate) = a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3
-SIZE (rust/crates/itertools-0.10.3.crate) = 118661
-SHA256 (rust/crates/itoa-0.4.8.crate) = b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4
-SIZE (rust/crates/itoa-0.4.8.crate) = 11926
-SHA256 (rust/crates/itoa-1.0.2.crate) = 112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d
-SIZE (rust/crates/itoa-1.0.2.crate) = 11112
-SHA256 (rust/crates/js-sys-0.3.57.crate) = 671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397
-SIZE (rust/crates/js-sys-0.3.57.crate) = 78605
-SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
-SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
-SHA256 (rust/crates/libc-0.2.126.crate) = 349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836
-SIZE (rust/crates/libc-0.2.126.crate) = 590481
-SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
-SIZE (rust/crates/log-0.4.17.crate) = 38028
-SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
-SIZE (rust/crates/memchr-2.5.0.crate) = 65812
-SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
-SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024
+SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165
+SHA256 (rust/crates/hermit-abi-0.4.0.crate) = fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc
+SIZE (rust/crates/hermit-abi-0.4.0.crate) = 16310
+SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
+SIZE (rust/crates/indexmap-1.9.3.crate) = 54653
+SHA256 (rust/crates/io-lifetimes-1.0.11.crate) = eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2
+SIZE (rust/crates/io-lifetimes-1.0.11.crate) = 37346
+SHA256 (rust/crates/is-terminal-0.4.13.crate) = 261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b
+SIZE (rust/crates/is-terminal-0.4.13.crate) = 7665
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b
+SIZE (rust/crates/itoa-1.0.11.crate) = 10563
+SHA256 (rust/crates/js-sys-0.3.70.crate) = 1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a
+SIZE (rust/crates/js-sys-0.3.70.crate) = 53863
+SHA256 (rust/crates/libc-0.2.158.crate) = d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439
+SIZE (rust/crates/libc-0.2.158.crate) = 751340
+SHA256 (rust/crates/linux-raw-sys-0.3.8.crate) = ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519
+SIZE (rust/crates/linux-raw-sys-0.3.8.crate) = 1013776
+SHA256 (rust/crates/log-0.4.22.crate) = a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24
+SIZE (rust/crates/log-0.4.22.crate) = 44027
+SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
+SIZE (rust/crates/memchr-2.7.4.crate) = 96670
SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
-SHA256 (rust/crates/nom-7.1.1.crate) = a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36
-SIZE (rust/crates/nom-7.1.1.crate) = 115818
-SHA256 (rust/crates/num-traits-0.2.15.crate) = 578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd
-SIZE (rust/crates/num-traits-0.2.15.crate) = 49262
-SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
-SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
-SHA256 (rust/crates/once_cell-1.12.0.crate) = 7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225
-SIZE (rust/crates/once_cell-1.12.0.crate) = 31549
-SHA256 (rust/crates/oorandom-11.1.3.crate) = 0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575
-SIZE (rust/crates/oorandom-11.1.3.crate) = 10068
-SHA256 (rust/crates/os_str_bytes-6.1.0.crate) = 21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa
-SIZE (rust/crates/os_str_bytes-6.1.0.crate) = 21150
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92
+SIZE (rust/crates/once_cell-1.19.0.crate) = 33046
+SHA256 (rust/crates/oorandom-11.1.4.crate) = b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9
+SIZE (rust/crates/oorandom-11.1.4.crate) = 10201
+SHA256 (rust/crates/os_str_bytes-6.6.1.crate) = e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1
+SIZE (rust/crates/os_str_bytes-6.6.1.crate) = 27643
SHA256 (rust/crates/output_vt100-0.1.3.crate) = 628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66
SIZE (rust/crates/output_vt100-0.1.3.crate) = 4473
-SHA256 (rust/crates/plotters-0.3.1.crate) = 32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a
-SIZE (rust/crates/plotters-0.3.1.crate) = 8595577
-SHA256 (rust/crates/plotters-backend-0.3.2.crate) = d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c
-SIZE (rust/crates/plotters-backend-0.3.2.crate) = 13524
-SHA256 (rust/crates/plotters-svg-0.3.1.crate) = 521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9
-SIZE (rust/crates/plotters-svg-0.3.1.crate) = 7596
-SHA256 (rust/crates/ppv-lite86-0.2.16.crate) = eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872
-SIZE (rust/crates/ppv-lite86-0.2.16.crate) = 22245
-SHA256 (rust/crates/predicates-2.1.1.crate) = a5aab5be6e4732b473071984b3164dbbfb7a3674d30ea5ff44410b6bcd960c3c
-SIZE (rust/crates/predicates-2.1.1.crate) = 23150
-SHA256 (rust/crates/predicates-core-1.0.3.crate) = da1c2388b1513e1b605fcec39a95e0a9e8ef088f71443ef37099fa9ae6673fcb
-SIZE (rust/crates/predicates-core-1.0.3.crate) = 7757
-SHA256 (rust/crates/predicates-tree-1.0.5.crate) = 4d86de6de25020a36c6d3643a86d9a6a9f552107c0559c60ea03551b5e16c032
-SIZE (rust/crates/predicates-tree-1.0.5.crate) = 8126
-SHA256 (rust/crates/proc-macro2-1.0.39.crate) = c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f
-SIZE (rust/crates/proc-macro2-1.0.39.crate) = 41663
-SHA256 (rust/crates/quote-1.0.18.crate) = a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1
-SIZE (rust/crates/quote-1.0.18.crate) = 28911
+SHA256 (rust/crates/plotters-0.3.6.crate) = a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3
+SIZE (rust/crates/plotters-0.3.6.crate) = 147577
+SHA256 (rust/crates/plotters-backend-0.3.6.crate) = 414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7
+SIZE (rust/crates/plotters-backend-0.3.6.crate) = 13669
+SHA256 (rust/crates/plotters-svg-0.3.6.crate) = 81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705
+SIZE (rust/crates/plotters-svg-0.3.6.crate) = 6944
+SHA256 (rust/crates/ppv-lite86-0.2.20.crate) = 77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04
+SIZE (rust/crates/ppv-lite86-0.2.20.crate) = 22478
+SHA256 (rust/crates/predicates-3.1.2.crate) = 7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97
+SIZE (rust/crates/predicates-3.1.2.crate) = 23986
+SHA256 (rust/crates/predicates-core-1.0.8.crate) = ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931
+SIZE (rust/crates/predicates-core-1.0.8.crate) = 8552
+SHA256 (rust/crates/predicates-tree-1.0.11.crate) = 41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13
+SIZE (rust/crates/predicates-tree-1.0.11.crate) = 8393
+SHA256 (rust/crates/proc-macro2-1.0.86.crate) = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77
+SIZE (rust/crates/proc-macro2-1.0.86.crate) = 48958
+SHA256 (rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af
+SIZE (rust/crates/quote-1.0.37.crate) = 28558
SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
SIZE (rust/crates/rand-0.8.5.crate) = 87113
SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
-SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
-SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
SHA256 (rust/crates/rand_xoshiro-0.6.0.crate) = 6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa
SIZE (rust/crates/rand_xoshiro-0.6.0.crate) = 17125
-SHA256 (rust/crates/rayon-1.5.3.crate) = bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d
-SIZE (rust/crates/rayon-1.5.3.crate) = 167246
-SHA256 (rust/crates/rayon-core-1.9.3.crate) = 258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f
-SIZE (rust/crates/rayon-core-1.9.3.crate) = 65300
-SHA256 (rust/crates/regex-1.5.6.crate) = d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1
-SIZE (rust/crates/regex-1.5.6.crate) = 238593
-SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132
-SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533
-SHA256 (rust/crates/regex-syntax-0.6.26.crate) = 49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64
-SIZE (rust/crates/regex-syntax-0.6.26.crate) = 293912
-SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
-SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
-SHA256 (rust/crates/ryu-1.0.10.crate) = f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695
-SIZE (rust/crates/ryu-1.0.10.crate) = 48485
+SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa
+SIZE (rust/crates/rayon-1.10.0.crate) = 180155
+SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2
+SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
+SHA256 (rust/crates/regex-1.10.6.crate) = 4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619
+SIZE (rust/crates/regex-1.10.6.crate) = 253894
+SHA256 (rust/crates/regex-automata-0.4.7.crate) = 38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df
+SIZE (rust/crates/regex-automata-0.4.7.crate) = 617582
+SHA256 (rust/crates/regex-syntax-0.8.4.crate) = 7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b
+SIZE (rust/crates/regex-syntax-0.8.4.crate) = 347577
+SHA256 (rust/crates/rustix-0.37.27.crate) = fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2
+SIZE (rust/crates/rustix-0.37.27.crate) = 324534
+SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f
+SIZE (rust/crates/ryu-1.0.18.crate) = 47713
SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
SIZE (rust/crates/same-file-1.0.6.crate) = 10183
-SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
-SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
-SHA256 (rust/crates/semver-1.0.9.crate) = 8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd
-SIZE (rust/crates/semver-1.0.9.crate) = 30843
-SHA256 (rust/crates/serde-1.0.137.crate) = 61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1
-SIZE (rust/crates/serde-1.0.137.crate) = 76182
-SHA256 (rust/crates/serde_cbor-0.11.2.crate) = 2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5
-SIZE (rust/crates/serde_cbor-0.11.2.crate) = 44570
-SHA256 (rust/crates/serde_derive-1.0.137.crate) = 1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be
-SIZE (rust/crates/serde_derive-1.0.137.crate) = 54831
-SHA256 (rust/crates/serde_json-1.0.81.crate) = 9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c
-SIZE (rust/crates/serde_json-1.0.81.crate) = 144480
+SHA256 (rust/crates/serde-1.0.210.crate) = c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a
+SIZE (rust/crates/serde-1.0.210.crate) = 78338
+SHA256 (rust/crates/serde_derive-1.0.210.crate) = 243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f
+SIZE (rust/crates/serde_derive-1.0.210.crate) = 56020
+SHA256 (rust/crates/serde_json-1.0.128.crate) = 6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8
+SIZE (rust/crates/serde_json-1.0.128.crate) = 149520
SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
SIZE (rust/crates/strsim-0.10.0.crate) = 11355
-SHA256 (rust/crates/syn-1.0.95.crate) = fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942
-SIZE (rust/crates/syn-1.0.95.crate) = 236676
-SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
-SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
-SHA256 (rust/crates/terminal_size-0.1.17.crate) = 633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df
-SIZE (rust/crates/terminal_size-0.1.17.crate) = 9141
-SHA256 (rust/crates/termtree-0.2.4.crate) = 507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b
-SIZE (rust/crates/termtree-0.2.4.crate) = 4416
-SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
-SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
-SHA256 (rust/crates/textwrap-0.15.0.crate) = b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb
-SIZE (rust/crates/textwrap-0.15.0.crate) = 52998
+SHA256 (rust/crates/syn-2.0.77.crate) = 9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed
+SIZE (rust/crates/syn-2.0.77.crate) = 268784
+SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755
+SIZE (rust/crates/termcolor-1.4.1.crate) = 18773
+SHA256 (rust/crates/terminal_size-0.2.6.crate) = 8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237
+SIZE (rust/crates/terminal_size-0.2.6.crate) = 10585
+SHA256 (rust/crates/termtree-0.4.1.crate) = 3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76
+SIZE (rust/crates/termtree-0.4.1.crate) = 4557
+SHA256 (rust/crates/textwrap-0.16.1.crate) = 23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9
+SIZE (rust/crates/textwrap-0.16.1.crate) = 56012
SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
-SHA256 (rust/crates/unicode-ident-1.0.0.crate) = d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee
-SIZE (rust/crates/unicode-ident-1.0.0.crate) = 34224
-SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973
-SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
SHA256 (rust/crates/wait-timeout-0.2.0.crate) = 9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6
SIZE (rust/crates/wait-timeout-0.2.0.crate) = 12441
-SHA256 (rust/crates/walkdir-2.3.2.crate) = 808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56
-SIZE (rust/crates/walkdir-2.3.2.crate) = 23516
-SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
-SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
-SHA256 (rust/crates/wasm-bindgen-0.2.80.crate) = 27370197c907c55e3f1a9fbe26f44e937fe6451368324e009cba39e139dc08ad
-SIZE (rust/crates/wasm-bindgen-0.2.80.crate) = 164576
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.80.crate) = 53e04185bfa3a779273da532f5025e33398409573f348985af9a1cbf3774d3f4
-SIZE (rust/crates/wasm-bindgen-backend-0.2.80.crate) = 25741
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.80.crate) = 17cae7ff784d7e83a2fe7611cfe766ecf034111b49deb850a3dc7699c08251f5
-SIZE (rust/crates/wasm-bindgen-macro-0.2.80.crate) = 11805
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.80.crate) = 99ec0dc7a4756fffc231aab1b9f2f578d23cd391390ab27f952ae0c9b3ece20b
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.80.crate) = 17857
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.80.crate) = d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744
-SIZE (rust/crates/wasm-bindgen-shared-0.2.80.crate) = 7204
-SHA256 (rust/crates/web-sys-0.3.57.crate) = 7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283
-SIZE (rust/crates/web-sys-0.3.57.crate) = 686563
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.93.crate) = a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5
+SIZE (rust/crates/wasm-bindgen-0.2.93.crate) = 43769
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b
+SIZE (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 30344
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf
+SIZE (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 6822
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = 20642
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.93.crate) = c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484
+SIZE (rust/crates/wasm-bindgen-shared-0.2.93.crate) = 7527
+SHA256 (rust/crates/web-sys-0.3.70.crate) = 26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0
+SIZE (rust/crates/web-sys-0.3.70.crate) = 615438
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
-SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
-SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+SHA256 (rust/crates/winapi-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb
+SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
-SHA256 (sharkdp-pastel-v0.9.0_GH0.tar.gz) = 473c805de42f6849a4bb14ec103ca007441f355552bdb6ebc80b60dac1f3a95d
-SIZE (sharkdp-pastel-v0.9.0_GH0.tar.gz) = 3230126
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
+SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
+SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
+SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
+SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
+SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0
+SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645
+SHA256 (rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e
+SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829
+SHA256 (sharkdp-pastel-v0.10.0_GH0.tar.gz) = 7848cd6d2ad8db6543b609dece7c9c28b4720c09fb13aeb204dd03d152159dd2
+SIZE (sharkdp-pastel-v0.10.0_GH0.tar.gz) = 3235468
diff --git a/graphics/pdfpc/Makefile b/graphics/pdfpc/Makefile
index 281a46852c78..fbb329de855e 100644
--- a/graphics/pdfpc/Makefile
+++ b/graphics/pdfpc/Makefile
@@ -1,5 +1,6 @@
PORTNAME= pdfpc
DISTVERSION= 4.7.0
+PORTREVISION= 2
CATEGORIES= graphics
DISTVERSIONPREFIX= v
PORTREVISION= 1
diff --git a/graphics/pecl-imagick/Makefile b/graphics/pecl-imagick/Makefile
index 3c5c2de6711f..d56cc88050ea 100644
--- a/graphics/pecl-imagick/Makefile
+++ b/graphics/pecl-imagick/Makefile
@@ -1,5 +1,5 @@
PORTNAME= imagick
-PORTVERSION= 3.8.0
+DISTVERSION= 3.8.0
CATEGORIES= graphics
MAINTAINER= 000.fbsd@quip.cz
@@ -14,4 +14,12 @@ CPE_VENDOR= php
CONFIGURE_ARGS= --with-imagick=${LOCALBASE}
-.include <bsd.port.mk>
+.include <bsd.port.pre.mk>
+
+post-patch:
+.if ${PHP_VER} >= 85
+ @${REINPLACE_CMD} -e 's|ext/standard/php_smart_string|Zend/zend_smart_string|' \
+ ${WRKSRC}/imagick.c
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/graphics/pfstools/Makefile b/graphics/pfstools/Makefile
index 54d0e6e699c6..e2b0224fd4a2 100644
--- a/graphics/pfstools/Makefile
+++ b/graphics/pfstools/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pfstools
DISTVERSION= 2.1.0
-PORTREVISION= 23
+PORTREVISION= 24
CATEGORIES= graphics
MASTER_SITES= SF
diff --git a/graphics/php-geos/files/patch-php85 b/graphics/php-geos/files/patch-php85
new file mode 100644
index 000000000000..deffb00ff64b
--- /dev/null
+++ b/graphics/php-geos/files/patch-php85
@@ -0,0 +1,11 @@
+--- geos.c.orig 2024-01-31 14:59:13 UTC
++++ geos.c
+@@ -150,7 +150,7 @@ static void errorHandler(const char *fmt, ...)
+ va_end(args);
+
+ /* TODO: use a GEOSException ? */
+- zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C),
++ zend_throw_exception_ex(zend_ce_exception,
+ 1 TSRMLS_CC, "%s", message);
+
+ }
diff --git a/graphics/pikopixel/Makefile b/graphics/pikopixel/Makefile
index 01ee9d46e765..f0a4df29ba9b 100644
--- a/graphics/pikopixel/Makefile
+++ b/graphics/pikopixel/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pikopixel
DISTVERSION= 1.0-b10
-PORTREVISION= 2
+PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= graphics gnustep
MASTER_SITES= http://twilightedge.com/downloads/
diff --git a/graphics/pixie/Makefile b/graphics/pixie/Makefile
index b261632492dd..e2ce1a96ef30 100644
--- a/graphics/pixie/Makefile
+++ b/graphics/pixie/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pixie
PORTVERSION= 2.2.6
-PORTREVISION= 42
+PORTREVISION= 43
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/Pixie%20${PORTVERSION}
DISTNAME= Pixie-src-${PORTVERSION}
diff --git a/graphics/plasma6-spectacle/distinfo b/graphics/plasma6-spectacle/distinfo
index 30d02b344cc8..1ec00929ca5e 100644
--- a/graphics/plasma6-spectacle/distinfo
+++ b/graphics/plasma6-spectacle/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751380537
-SHA256 (KDE/plasma/6.4.2/spectacle-6.4.2.tar.xz) = 18b1d0b7e26680666eb86a2b0908c36d9e17a498b352944d89b901183920e0cb
-SIZE (KDE/plasma/6.4.2/spectacle-6.4.2.tar.xz) = 1598176
+TIMESTAMP = 1754413471
+SHA256 (KDE/plasma/6.4.4/spectacle-6.4.4.tar.xz) = 9108a739c1acc43b23e0a6aa17ba4194a564ab1548c6887328c76a073bf3d373
+SIZE (KDE/plasma/6.4.4/spectacle-6.4.4.tar.xz) = 1600236
diff --git a/graphics/plutosvg/Makefile b/graphics/plutosvg/Makefile
index bf86b9449179..af46e0850131 100644
--- a/graphics/plutosvg/Makefile
+++ b/graphics/plutosvg/Makefile
@@ -1,10 +1,9 @@
PORTNAME= plutosvg
DISTVERSIONPREFIX= v
-DISTVERSION= 0.0.6
-PORTREVISION= 1
+DISTVERSION= 0.0.7
CATEGORIES= graphics
-MAINTAINER= alster@vinterdalen.se
+MAINTAINER= alven@FreeBSD.org
COMMENT= Tiny SVG rendering library in C
WWW= https://github.com/sammycage/plutosvg/
diff --git a/graphics/plutosvg/distinfo b/graphics/plutosvg/distinfo
index 01dccf6beecb..90391427b9b6 100644
--- a/graphics/plutosvg/distinfo
+++ b/graphics/plutosvg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1740479172
-SHA256 (sammycage-plutosvg-v0.0.6_GH0.tar.gz) = 01f8aee511bd587a602a166642a96522cc9522efd1e38c2d00e4fbc0aa22d7a0
-SIZE (sammycage-plutosvg-v0.0.6_GH0.tar.gz) = 115270
+TIMESTAMP = 1751922834
+SHA256 (sammycage-plutosvg-v0.0.7_GH0.tar.gz) = 78561b571ac224030cdc450ca2986b4de915c2ba7616004a6d71a379bffd15f3
+SIZE (sammycage-plutosvg-v0.0.7_GH0.tar.gz) = 116434
diff --git a/graphics/plutovg/Makefile b/graphics/plutovg/Makefile
index 7d260fc6fd2f..bb52d4ca3a5e 100644
--- a/graphics/plutovg/Makefile
+++ b/graphics/plutovg/Makefile
@@ -3,7 +3,7 @@ DISTVERSIONPREFIX= v
DISTVERSION= 1.0.0
CATEGORIES= graphics
-MAINTAINER= alster@vinterdalen.se
+MAINTAINER= alven@FreeBSD.org
COMMENT= Tiny 2D vector graphics library in C
WWW= https://github.com/sammycage/plutovg/
diff --git a/graphics/podofo/Makefile b/graphics/podofo/Makefile
index 834a92a5298c..c8beffdfb75a 100644
--- a/graphics/podofo/Makefile
+++ b/graphics/podofo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= podofo
PORTVERSION= 0.10.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics print
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/graphics/poppler/Makefile b/graphics/poppler/Makefile
index 106d2c809598..b9f33da335bc 100644
--- a/graphics/poppler/Makefile
+++ b/graphics/poppler/Makefile
@@ -77,7 +77,7 @@ CMAKE_ARGS+= -DENABLE_LIBOPENJPEG:STRING="none" \
. if ${_SLAVE_PORT} == glib
USES+= gnome python:build
-USE_GNOME+= cairo glib20 introspection:Build libxml2
+USE_GNOME+= cairo glib20 introspection:build libxml2
BINARY_ALIAS+= python3=${PYTHON_CMD}
. elif ${_SLAVE_PORT} == qt5
USES+= qt:5
diff --git a/graphics/poselib/Makefile b/graphics/poselib/Makefile
index fb5f45375dc2..d43ca4280304 100644
--- a/graphics/poselib/Makefile
+++ b/graphics/poselib/Makefile
@@ -1,6 +1,6 @@
PORTNAME= PoseLib
DISTVERSIONPREFIX= v
-DISTVERSION= 2.0.4
+DISTVERSION= 2.0.5
CATEGORIES= graphics
MAINTAINER= fuz@FreeBSD.org
diff --git a/graphics/poselib/distinfo b/graphics/poselib/distinfo
index ed3c2c5b8bb7..89fef81e6379 100644
--- a/graphics/poselib/distinfo
+++ b/graphics/poselib/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1733745905
-SHA256 (PoseLib-PoseLib-v2.0.4_GH0.tar.gz) = caa0c1c9b882f6e36b5ced6f781406ed97d4c1f0f61aa31345ebe54633d67c16
-SIZE (PoseLib-PoseLib-v2.0.4_GH0.tar.gz) = 198206
+TIMESTAMP = 1755072001
+SHA256 (PoseLib-PoseLib-v2.0.5_GH0.tar.gz) = a9493e6725c58e6ae541fe416c0a6179185a60006880ff3ddf32737a43695668
+SIZE (PoseLib-PoseLib-v2.0.5_GH0.tar.gz) = 240785
diff --git a/graphics/poselib/files/patch-CMakeLists.txt b/graphics/poselib/files/patch-CMakeLists.txt
index b1553e6ddad4..5bbf3ca88a2c 100644
--- a/graphics/poselib/files/patch-CMakeLists.txt
+++ b/graphics/poselib/files/patch-CMakeLists.txt
@@ -1,15 +1,11 @@
---- CMakeLists.txt.orig 2024-12-09 12:10:16 UTC
+--- CMakeLists.txt.orig 2025-08-06 01:28:20 UTC
+++ CMakeLists.txt
-@@ -28,10 +28,10 @@ else()
- # If you change this, make sure to update the corresponding line in the pybind CMakeLists
- if (MARCH_NATIVE)
- target_compile_options(${LIBRARY_NAME} PRIVATE
-- -march=native -Wall -Werror -fPIC -Wno-ignored-optimization-argument)
-+ -march=native -Wall -fPIC -Wno-ignored-optimization-argument)
- else()
- target_compile_options(${LIBRARY_NAME} PRIVATE
-- -Wall -Werror -fPIC)
-+ -Wall -fPIC)
+@@ -8,7 +8,7 @@ else()
+ target_compile_options(${build_target} PRIVATE /bigobj /fp:fast)
+ else()
+ target_compile_options(${build_target} PRIVATE
+- -O3 -Wall -Werror -fPIC -Wno-sign-compare -Wfatal-errors)
++ -O3 -Wall -fPIC -Wno-sign-compare -Wfatal-errors)
+ if(MARCH_NATIVE)
+ target_compile_options(${build_target} PRIVATE -march=native)
endif()
- if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- target_compile_options(${LIBRARY_NAME} PRIVATE
diff --git a/graphics/poselib/pkg-plist b/graphics/poselib/pkg-plist
index c03974dd1287..95222aff2c65 100644
--- a/graphics/poselib/pkg-plist
+++ b/graphics/poselib/pkg-plist
@@ -32,7 +32,7 @@ include/PoseLib/solvers/p2p1ll.h
include/PoseLib/solvers/p2p2pl.h
include/PoseLib/solvers/p3ll.h
include/PoseLib/solvers/p3p.h
-include/PoseLib/solvers/p3p_ding.h
+include/PoseLib/solvers/p3p_lambdatwist.h
include/PoseLib/solvers/p4pf.h
include/PoseLib/solvers/p5lp_radial.h
include/PoseLib/solvers/p6lp.h
diff --git a/graphics/povray37/Makefile b/graphics/povray37/Makefile
index 190e79370732..58fb8c9f6ae0 100644
--- a/graphics/povray37/Makefile
+++ b/graphics/povray37/Makefile
@@ -1,7 +1,7 @@
PORTNAME= povray
DISTVERSIONPREFIX= v
DISTVERSION= 3.7.0.10
-PORTREVISION= 21
+PORTREVISION= 22
CATEGORIES= graphics
PKGNAMESUFFIX= 37
diff --git a/graphics/povray38/Makefile b/graphics/povray38/Makefile
index 8cb107401669..4c5f87fedb98 100644
--- a/graphics/povray38/Makefile
+++ b/graphics/povray38/Makefile
@@ -1,7 +1,7 @@
PORTNAME= povray
DISTVERSIONPREFIX= v
DISTVERSION= 3.8.0-beta.2
-PORTREVISION= 18
+PORTREVISION= 19
CATEGORIES= graphics
MASTER_SITES= https://github.com/POV-Ray/povray/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
PKGNAMESUFFIX= 38
diff --git a/graphics/preview/Makefile b/graphics/preview/Makefile
index 05d22ad857bf..8a14db444973 100644
--- a/graphics/preview/Makefile
+++ b/graphics/preview/Makefile
@@ -1,6 +1,6 @@
PORTNAME= preview
PORTVERSION= 0.8.5
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= graphics gnustep
MASTER_SITES= http://download.gna.org/gsimageapps/
PKGNAMEPREFIX= gnustep-
diff --git a/graphics/price/Makefile b/graphics/price/Makefile
index 97904f0686dc..867658d5d9aa 100644
--- a/graphics/price/Makefile
+++ b/graphics/price/Makefile
@@ -1,6 +1,6 @@
PORTNAME= price
PORTVERSION= 1.3.0
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= graphics gnustep
MASTER_SITES= SF/${PORTNAME}/${PORTVERSION}
DISTNAME= PRICE-${PORTVERSION}
diff --git a/graphics/py-PyOpenGL/Makefile b/graphics/py-PyOpenGL/Makefile
index 1c9f8d3c6e13..8ec037da46f9 100644
--- a/graphics/py-PyOpenGL/Makefile
+++ b/graphics/py-PyOpenGL/Makefile
@@ -1,6 +1,6 @@
PORTNAME= PyOpenGL
PORTVERSION= 3.1.7
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-actdiag/Makefile b/graphics/py-actdiag/Makefile
index bcf92240de46..f9df939a2add 100644
--- a/graphics/py-actdiag/Makefile
+++ b/graphics/py-actdiag/Makefile
@@ -1,6 +1,6 @@
PORTNAME= actdiag
PORTVERSION= 3.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-albumentations/Makefile b/graphics/py-albumentations/Makefile
index f9c49c51c268..ca64d7df25eb 100644
--- a/graphics/py-albumentations/Makefile
+++ b/graphics/py-albumentations/Makefile
@@ -1,6 +1,6 @@
PORTNAME= albumentations
DISTVERSION= 2.0.5
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python # machine-learning
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-blockdiag/Makefile b/graphics/py-blockdiag/Makefile
index 97cdddc2f29b..4bb8d4a659ac 100644
--- a/graphics/py-blockdiag/Makefile
+++ b/graphics/py-blockdiag/Makefile
@@ -1,6 +1,6 @@
PORTNAME= blockdiag
PORTVERSION= 3.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-blockdiagcontrib-cisco/Makefile b/graphics/py-blockdiagcontrib-cisco/Makefile
index 49fad20dd57f..7c5450d6955b 100644
--- a/graphics/py-blockdiagcontrib-cisco/Makefile
+++ b/graphics/py-blockdiagcontrib-cisco/Makefile
@@ -1,6 +1,6 @@
PORTNAME= blockdiagcontrib-cisco
PORTVERSION= 0.1.8
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-cairosvg/Makefile b/graphics/py-cairosvg/Makefile
index 97afd649e745..19d35dec4b87 100644
--- a/graphics/py-cairosvg/Makefile
+++ b/graphics/py-cairosvg/Makefile
@@ -1,5 +1,6 @@
PORTNAME= cairosvg
PORTVERSION= 2.8.2
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-cartopy/Makefile b/graphics/py-cartopy/Makefile
index 3b22260d3ec8..7297c452048c 100644
--- a/graphics/py-cartopy/Makefile
+++ b/graphics/py-cartopy/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cartopy
PORTVERSION= 0.23.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-colorthief/Makefile b/graphics/py-colorthief/Makefile
index 99e0ef420dbf..5a4c0275df13 100644
--- a/graphics/py-colorthief/Makefile
+++ b/graphics/py-colorthief/Makefile
@@ -1,6 +1,6 @@
PORTNAME= colorthief
DISTVERSION= 0.2.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-colorz/Makefile b/graphics/py-colorz/Makefile
index af178d8e7fe2..5bc54be95b5e 100644
--- a/graphics/py-colorz/Makefile
+++ b/graphics/py-colorz/Makefile
@@ -1,6 +1,6 @@
PORTNAME= colorz
DISTVERSION= 1.0.3
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-colour-science/Makefile b/graphics/py-colour-science/Makefile
index ead829190094..51bdde202c5d 100644
--- a/graphics/py-colour-science/Makefile
+++ b/graphics/py-colour-science/Makefile
@@ -1,5 +1,6 @@
PORTNAME= colour-science
DISTVERSION= 0.4.6
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-contextily/Makefile b/graphics/py-contextily/Makefile
index a4bef9d821d0..a35325f28cbd 100644
--- a/graphics/py-contextily/Makefile
+++ b/graphics/py-contextily/Makefile
@@ -1,5 +1,6 @@
PORTNAME= contextily
PORTVERSION= 1.6.2
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-descartes/Makefile b/graphics/py-descartes/Makefile
index 51e390ad2bc2..3730edbd5003 100644
--- a/graphics/py-descartes/Makefile
+++ b/graphics/py-descartes/Makefile
@@ -1,6 +1,6 @@
PORTNAME= descartes
PORTVERSION= 1.1.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-django-easy-thumbnails/Makefile b/graphics/py-django-easy-thumbnails/Makefile
index 1b3055f8b9b5..b8b200f3e97e 100644
--- a/graphics/py-django-easy-thumbnails/Makefile
+++ b/graphics/py-django-easy-thumbnails/Makefile
@@ -1,6 +1,6 @@
PORTNAME= easy-thumbnails
PORTVERSION= 2.8.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}django-
diff --git a/graphics/py-face_recognition/Makefile b/graphics/py-face_recognition/Makefile
index e7847e60b9ae..644179340cc9 100644
--- a/graphics/py-face_recognition/Makefile
+++ b/graphics/py-face_recognition/Makefile
@@ -1,6 +1,6 @@
PORTNAME= face_recognition
PORTVERSION= 1.3.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python devel
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-fotokilof/Makefile b/graphics/py-fotokilof/Makefile
index 28cbc2944299..e2662eb3f10a 100644
--- a/graphics/py-fotokilof/Makefile
+++ b/graphics/py-fotokilof/Makefile
@@ -1,5 +1,6 @@
PORTNAME= fotokilof
PORTVERSION= 5.1.8
+PORTREVISION= 1
CATEGORIES= graphics
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-fury/Makefile b/graphics/py-fury/Makefile
index 264aadfb5fbf..830227df267f 100644
--- a/graphics/py-fury/Makefile
+++ b/graphics/py-fury/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fury
DISTVERSION= 0.12.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-geomdl/Makefile b/graphics/py-geomdl/Makefile
index 7dbbdb102ef2..31b85c11ddf7 100644
--- a/graphics/py-geomdl/Makefile
+++ b/graphics/py-geomdl/Makefile
@@ -1,6 +1,6 @@
PORTNAME= geomdl
PORTVERSION= 5.2.10
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-geosnap/Makefile b/graphics/py-geosnap/Makefile
index 85e9dca52b38..f89ff372396e 100644
--- a/graphics/py-geosnap/Makefile
+++ b/graphics/py-geosnap/Makefile
@@ -1,5 +1,6 @@
PORTNAME= geosnap
PORTVERSION= 0.15.3
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-haishoku/Makefile b/graphics/py-haishoku/Makefile
index 0a81272deb1a..1c48b9d0076d 100644
--- a/graphics/py-haishoku/Makefile
+++ b/graphics/py-haishoku/Makefile
@@ -1,6 +1,6 @@
PORTNAME= haishoku
DISTVERSION= 1.1.8
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-imagecodecs/Makefile b/graphics/py-imagecodecs/Makefile
index e844ddf5387d..772fb8a0aebf 100644
--- a/graphics/py-imagecodecs/Makefile
+++ b/graphics/py-imagecodecs/Makefile
@@ -1,5 +1,6 @@
PORTNAME= imagecodecs
PORTVERSION= 2024.12.30
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-imageio/Makefile b/graphics/py-imageio/Makefile
index 722b14b48f9b..a22c7b12d2d7 100644
--- a/graphics/py-imageio/Makefile
+++ b/graphics/py-imageio/Makefile
@@ -1,5 +1,6 @@
PORTNAME= imageio
PORTVERSION= 2.37.0
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI \
https://github.com/imageio/imageio/releases/download/v${PORTVERSION}/
diff --git a/graphics/py-img2pdf/Makefile b/graphics/py-img2pdf/Makefile
index 4b51a2ddc65f..c6b189b18044 100644
--- a/graphics/py-img2pdf/Makefile
+++ b/graphics/py-img2pdf/Makefile
@@ -1,5 +1,6 @@
PORTNAME= img2pdf
DISTVERSION= 0.6.1
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-mapclassify/Makefile b/graphics/py-mapclassify/Makefile
index e358fe2de757..a20d7907827a 100644
--- a/graphics/py-mapclassify/Makefile
+++ b/graphics/py-mapclassify/Makefile
@@ -1,5 +1,6 @@
PORTNAME= mapclassify
PORTVERSION= 2.10.0
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-mayavi/Makefile b/graphics/py-mayavi/Makefile
index 4231c09f8271..3436526944e5 100644
--- a/graphics/py-mayavi/Makefile
+++ b/graphics/py-mayavi/Makefile
@@ -19,6 +19,8 @@ LICENSE_FILE_LGPL3= ${WRKSRC}/image_LICENSE_OOo.txt
LICENSE_FILE_BSD2CLAUSE= ${WRKSRC}/LICENSE_YORICK.txt
LICENSE_FILE_APACHE11= ${WRKSRC}/LICENSE_COLORBREWER.txt
+BROKEN_i386= stage fails: Building TVTK classes... Fatal Python error: Illegal instruction
+
BUILD_DEPENDS= ${PYNUMPY} \
${PY_SPHINX} \
sphinx-build:textproc/py-sphinx@${PY_FLAVOR}
diff --git a/graphics/py-mcomix/Makefile b/graphics/py-mcomix/Makefile
index 6c1598471011..748c2980e057 100644
--- a/graphics/py-mcomix/Makefile
+++ b/graphics/py-mcomix/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mcomix
DISTVERSION= 2.2.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/MComix-${PORTVERSION}
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-moderngl-window/Makefile b/graphics/py-moderngl-window/Makefile
index 4ed7d576ca2f..dfdbb6f95dfd 100644
--- a/graphics/py-moderngl-window/Makefile
+++ b/graphics/py-moderngl-window/Makefile
@@ -1,5 +1,6 @@
PORTNAME= moderngl-window
DISTVERSION= 3.1.0
+PORTREVISION= 1
CATEGORIES= graphics
#MASTER_SITES= PYPI # no tests
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-moderngl/Makefile b/graphics/py-moderngl/Makefile
index ce7ae0009617..837ce11e488d 100644
--- a/graphics/py-moderngl/Makefile
+++ b/graphics/py-moderngl/Makefile
@@ -1,5 +1,6 @@
PORTNAME= moderngl
DISTVERSION= 5.12.0
+PORTREVISION= 1
CATEGORIES= graphics
#MASTER_SITES= PYPI # no tests
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-momepy/Makefile b/graphics/py-momepy/Makefile
index fafc81c8aa09..276b500ff5e0 100644
--- a/graphics/py-momepy/Makefile
+++ b/graphics/py-momepy/Makefile
@@ -1,6 +1,6 @@
PORTNAME= momepy
PORTVERSION= 0.5.4
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics python
MASTER_SITES= PYPI \
https://github.com/pysal/momepy/releases/download/v${PORTVERSION}/
diff --git a/graphics/py-mpl-interactions/Makefile b/graphics/py-mpl-interactions/Makefile
index b31453c40a43..5d2673ae9721 100644
--- a/graphics/py-mpl-interactions/Makefile
+++ b/graphics/py-mpl-interactions/Makefile
@@ -1,5 +1,6 @@
PORTNAME= mpl-interactions
DISTVERSION= 0.24.2
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-mpl-scatter-density/Makefile b/graphics/py-mpl-scatter-density/Makefile
index 1df53274fcb3..16bca02ef23e 100644
--- a/graphics/py-mpl-scatter-density/Makefile
+++ b/graphics/py-mpl-scatter-density/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mpl-scatter-density
PORTVERSION= 0.7
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-nwdiag/Makefile b/graphics/py-nwdiag/Makefile
index c646b1940429..95676ea700fa 100644
--- a/graphics/py-nwdiag/Makefile
+++ b/graphics/py-nwdiag/Makefile
@@ -1,6 +1,6 @@
PORTNAME= nwdiag
PORTVERSION= 3.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-opencolorio/Makefile b/graphics/py-opencolorio/Makefile
index cf62c4ac05f9..6ca6e604f265 100644
--- a/graphics/py-opencolorio/Makefile
+++ b/graphics/py-opencolorio/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 0
+PORTREVISION= 1
CATEGORIES= graphics multimedia python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-openimageio/Makefile b/graphics/py-openimageio/Makefile
index 19fb1ec74e47..977f5a344df1 100644
--- a/graphics/py-openimageio/Makefile
+++ b/graphics/py-openimageio/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 8
+PORTREVISION= 10
CATEGORIES= graphics multimedia python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-openshadinglanguage/Makefile b/graphics/py-openshadinglanguage/Makefile
index 48c55b7de384..8e60f095cfa8 100644
--- a/graphics/py-openshadinglanguage/Makefile
+++ b/graphics/py-openshadinglanguage/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics multimedia python
# Note this port shares its PORTREVISION with graphics/openshadinglanguage!
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-openslide-python/Makefile b/graphics/py-openslide-python/Makefile
index 002976c3bf79..4d9723146101 100644
--- a/graphics/py-openslide-python/Makefile
+++ b/graphics/py-openslide-python/Makefile
@@ -1,7 +1,7 @@
PORTNAME= openslide-python
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
#MASTER_SITES= PYPI # no tarball
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-optimize-images/Makefile b/graphics/py-optimize-images/Makefile
index 6e17ad54cfa9..4a6c1d9027a6 100644
--- a/graphics/py-optimize-images/Makefile
+++ b/graphics/py-optimize-images/Makefile
@@ -1,6 +1,6 @@
PORTNAME= optimize-images
PORTVERSION= 1.5.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pdf2image/Makefile b/graphics/py-pdf2image/Makefile
index c4a5999385e1..07149f27b7da 100644
--- a/graphics/py-pdf2image/Makefile
+++ b/graphics/py-pdf2image/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pdf2image
PORTVERSION= 1.17.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-photocollage/Makefile b/graphics/py-photocollage/Makefile
index 4026f06d13ef..ebbe46c07cf7 100644
--- a/graphics/py-photocollage/Makefile
+++ b/graphics/py-photocollage/Makefile
@@ -1,6 +1,6 @@
PORTNAME= photocollage
DISTVERSION= 1.4.5
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pillow-heif/Makefile b/graphics/py-pillow-heif/Makefile
index 0da79191396e..a41f824a8b6e 100644
--- a/graphics/py-pillow-heif/Makefile
+++ b/graphics/py-pillow-heif/Makefile
@@ -1,5 +1,6 @@
PORTNAME= pillow-heif
PORTVERSION= 0.22.0
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pillow/Makefile b/graphics/py-pillow/Makefile
index ac2b8f95de43..05078af782ac 100644
--- a/graphics/py-pillow/Makefile
+++ b/graphics/py-pillow/Makefile
@@ -1,5 +1,6 @@
PORTNAME= pillow
PORTVERSION= 11.3.0
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pointpats/Makefile b/graphics/py-pointpats/Makefile
index 1d7f63df153e..2a7dcf2eb127 100644
--- a/graphics/py-pointpats/Makefile
+++ b/graphics/py-pointpats/Makefile
@@ -1,5 +1,6 @@
PORTNAME= pointpats
PORTVERSION= 2.4.0
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-proplot/Makefile b/graphics/py-proplot/Makefile
index fbbe34dcbf34..667fcc1c9ef5 100644
--- a/graphics/py-proplot/Makefile
+++ b/graphics/py-proplot/Makefile
@@ -1,5 +1,6 @@
PORTNAME= proplot
PORTVERSION= 0.9.7
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pycollada/Makefile b/graphics/py-pycollada/Makefile
index 37e4ea3a82bc..c85d95ded77c 100644
--- a/graphics/py-pycollada/Makefile
+++ b/graphics/py-pycollada/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pycollada
DISTVERSION= 0.6
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -21,6 +21,6 @@ USE_PYTHON= autoplist distutils
OPTIONS_DEFINE= LXML
LXML_DESC= Uses lxml for XML loading, construction, and saving.
-LXML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR}
+LXML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml5>0:devel/py-lxml5@${PY_FLAVOR}
.include <bsd.port.mk>
diff --git a/graphics/py-pyganim/Makefile b/graphics/py-pyganim/Makefile
index 78d68be40f5a..939fe66d5cb9 100644
--- a/graphics/py-pyganim/Makefile
+++ b/graphics/py-pyganim/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyganim
PORTVERSION= 0.9.2
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyglet1/Makefile b/graphics/py-pyglet1/Makefile
index 3cf23c877449..63f4e34aa2c7 100644
--- a/graphics/py-pyglet1/Makefile
+++ b/graphics/py-pyglet1/Makefile
@@ -1,6 +1,5 @@
PORTNAME= pyglet
-PORTVERSION= 1.5.30
-PORTREVISION= 1
+PORTVERSION= 1.5.31
CATEGORIES= graphics multimedia x11-toolkits python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyglet1/distinfo b/graphics/py-pyglet1/distinfo
index 21be45643041..8b742b26623c 100644
--- a/graphics/py-pyglet1/distinfo
+++ b/graphics/py-pyglet1/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734971214
-SHA256 (pyglet-1.5.30.zip) = 6548f96ece110fc4f23a765958068560b28e1e1ded3ce0e70e461d4dc7fcc21e
-SIZE (pyglet-1.5.30.zip) = 6900668
+TIMESTAMP = 1754055072
+SHA256 (pyglet-1.5.31.zip) = a5e422b4c27b0fc99e92103bf493109cca5c18143583b868b3b4631a98ae9417
+SIZE (pyglet-1.5.31.zip) = 6900712
diff --git a/graphics/py-pyinsane2/Makefile b/graphics/py-pyinsane2/Makefile
index 8d8737a3f29d..60d700ee493e 100644
--- a/graphics/py-pyinsane2/Makefile
+++ b/graphics/py-pyinsane2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyinsane2
DISTVERSION= 2.0.13
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyocr/Makefile b/graphics/py-pyocr/Makefile
index 28975c4409bc..40987b8b1e83 100644
--- a/graphics/py-pyocr/Makefile
+++ b/graphics/py-pyocr/Makefile
@@ -1,5 +1,6 @@
PORTNAME= pyocr
DISTVERSION= 0.8.5
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pypillowfight/Makefile b/graphics/py-pypillowfight/Makefile
index 3db4378b5f2c..7ad21f75407c 100644
--- a/graphics/py-pypillowfight/Makefile
+++ b/graphics/py-pypillowfight/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pypillowfight
DISTVERSION= 0.3.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyqtgraph/Makefile b/graphics/py-pyqtgraph/Makefile
index ca9fd36892fa..d9fa1ce9374f 100644
--- a/graphics/py-pyqtgraph/Makefile
+++ b/graphics/py-pyqtgraph/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyqtgraph
DISTVERSION= 0.13.7
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics science python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyrsgis/Makefile b/graphics/py-pyrsgis/Makefile
index 059671ce35cd..fc2245ce39cb 100644
--- a/graphics/py-pyrsgis/Makefile
+++ b/graphics/py-pyrsgis/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyrsgis
PORTVERSION= 0.4.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pytesseract/Makefile b/graphics/py-pytesseract/Makefile
index 363a3275c4f2..6af70194188f 100644
--- a/graphics/py-pytesseract/Makefile
+++ b/graphics/py-pytesseract/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pytesseract
PORTVERSION= 0.3.13
-PORTREVISION= 1
+PORTREVISION= 2
DISTVERSIONPREFIX= v
CATEGORIES= graphics python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-python-barcode/Makefile b/graphics/py-python-barcode/Makefile
index 9aa0c45db718..103ef5a83e04 100644
--- a/graphics/py-python-barcode/Makefile
+++ b/graphics/py-python-barcode/Makefile
@@ -1,5 +1,6 @@
PORTNAME= python-barcode
PORTVERSION= 0.15.1
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyvista/Makefile b/graphics/py-pyvista/Makefile
index 80aa88554f1c..9f36906e3555 100644
--- a/graphics/py-pyvista/Makefile
+++ b/graphics/py-pyvista/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyvista
DISTVERSION= 0.34.2
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-qpageview/Makefile b/graphics/py-qpageview/Makefile
index 6a19c6072df3..5e4219be8874 100644
--- a/graphics/py-qpageview/Makefile
+++ b/graphics/py-qpageview/Makefile
@@ -1,7 +1,6 @@
PORTNAME= qpageview
DISTVERSIONPREFIX= v
-DISTVERSION= 0.6.2
-PORTREVISION= 3
+DISTVERSION= 1.0.1
CATEGORIES= graphics python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,13 +11,13 @@ WWW= https://qpageview.org/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-poppler-qt5>=0:graphics/py-python-poppler-qt5@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
-USES= pyqt:5 python qt:5
+USES= pyqt:6 python qt:6
USE_GITHUB= yes
GH_ACCOUNT= frescobaldi
-USE_PYQT= pyqt5
-USE_PYTHON= autoplist distutils
+USE_PYQT= pyqt6
+USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/graphics/py-qpageview/distinfo b/graphics/py-qpageview/distinfo
index 2ca2c24d0a9d..5fef5ae365ee 100644
--- a/graphics/py-qpageview/distinfo
+++ b/graphics/py-qpageview/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1653158600
-SHA256 (frescobaldi-qpageview-v0.6.2_GH0.tar.gz) = 5ac3140396f11b15d6438ce34d5ce77f8b7e76f7dcd4c0439c85740d9e5d3674
-SIZE (frescobaldi-qpageview-v0.6.2_GH0.tar.gz) = 159098
+TIMESTAMP = 1754919691
+SHA256 (frescobaldi-qpageview-v1.0.1_GH0.tar.gz) = 67888cbc5c66205ff0d64ea0c612e70ca48171dcd79643d033ac64f9e1f8a607
+SIZE (frescobaldi-qpageview-v1.0.1_GH0.tar.gz) = 160218
diff --git a/graphics/py-rich-pixels/Makefile b/graphics/py-rich-pixels/Makefile
index 08b799f35d2c..7967514dbe14 100644
--- a/graphics/py-rich-pixels/Makefile
+++ b/graphics/py-rich-pixels/Makefile
@@ -1,5 +1,6 @@
PORTNAME= rich-pixels
DISTVERSION= 3.0.1
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-scikit-image/Makefile b/graphics/py-scikit-image/Makefile
index 7508f070e973..1e7bf042bf2f 100644
--- a/graphics/py-scikit-image/Makefile
+++ b/graphics/py-scikit-image/Makefile
@@ -1,7 +1,7 @@
PORTNAME= scikit-image
PORTVERSION= 0.19.3
DISTVERSIONPREFIX= v
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-seqdiag/Makefile b/graphics/py-seqdiag/Makefile
index 85d04a589768..44142e2242c1 100644
--- a/graphics/py-seqdiag/Makefile
+++ b/graphics/py-seqdiag/Makefile
@@ -1,6 +1,6 @@
PORTNAME= seqdiag
PORTVERSION= 3.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-sorl-thumbnail/Makefile b/graphics/py-sorl-thumbnail/Makefile
index 1662b18e46fe..01e893913fdf 100644
--- a/graphics/py-sorl-thumbnail/Makefile
+++ b/graphics/py-sorl-thumbnail/Makefile
@@ -1,6 +1,6 @@
PORTNAME= sorl-thumbnail
PORTVERSION= 12.10.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-spectra/Makefile b/graphics/py-spectra/Makefile
index 67ee13b9e32a..1f5ef0654c65 100644
--- a/graphics/py-spectra/Makefile
+++ b/graphics/py-spectra/Makefile
@@ -1,6 +1,6 @@
PORTNAME= spectra
DISTVERSION= 0.0.11
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-term-image/Makefile b/graphics/py-term-image/Makefile
index 2c23c964d8c9..1fe853971830 100644
--- a/graphics/py-term-image/Makefile
+++ b/graphics/py-term-image/Makefile
@@ -1,5 +1,6 @@
PORTNAME= term-image
DISTVERSION= 0.7.2
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-termtosvg/Makefile b/graphics/py-termtosvg/Makefile
index 947259a2c182..3d6b89d40203 100644
--- a/graphics/py-termtosvg/Makefile
+++ b/graphics/py-termtosvg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= termtosvg
PORTVERSION= 1.1.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,7 +12,7 @@ WWW= https://github.com/nbedos/termtosvg
LICENSE= BSD3CLAUSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}svgwrite>=0:graphics/py-svgwrite@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lxml5>0:devel/py-lxml5@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyte>=0:devel/py-pyte@${PY_FLAVOR}
USES= python
diff --git a/graphics/py-tifffile/Makefile b/graphics/py-tifffile/Makefile
index ff9827739709..b97efc5fe285 100644
--- a/graphics/py-tifffile/Makefile
+++ b/graphics/py-tifffile/Makefile
@@ -1,5 +1,6 @@
PORTNAME= tifffile
PORTVERSION= 2025.6.1
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI \
https://github.com/cgohlke/tifffile/releases/download/v${PORTVERSION}/
@@ -30,7 +31,7 @@ ZARR_DESC= Access zarr store
CODECS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}imagecodecs>=2024.12.30:graphics/py-imagecodecs@${PY_FLAVOR}
PLOT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}matplotlib>=0:math/py-matplotlib@${PY_FLAVOR}
XML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}defusedxml>=0:devel/py-defusedxml@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}lxml5>=0:devel/py-lxml5@${PY_FLAVOR}
ZARR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fsspec>=0:filesystems/py-fsspec@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}kerchunk>=0:filesystems/py-kerchunk@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}zarr>=3:devel/py-zarr@${PY_FLAVOR}
diff --git a/graphics/py-toyplot/Makefile b/graphics/py-toyplot/Makefile
index 94dbbb9c78ab..94a3478f8ac9 100644
--- a/graphics/py-toyplot/Makefile
+++ b/graphics/py-toyplot/Makefile
@@ -1,6 +1,6 @@
PORTNAME= toyplot
PORTVERSION= 0.19.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-ueberzug/Makefile b/graphics/py-ueberzug/Makefile
index b1a3826c1e03..50c27d488603 100644
--- a/graphics/py-ueberzug/Makefile
+++ b/graphics/py-ueberzug/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ueberzug
DISTVERSION= 18.1.8
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-urbanaccess/Makefile b/graphics/py-urbanaccess/Makefile
index 570e52558291..1b2dda23f307 100644
--- a/graphics/py-urbanaccess/Makefile
+++ b/graphics/py-urbanaccess/Makefile
@@ -1,6 +1,6 @@
PORTNAME= urbanaccess
PORTVERSION= 0.2.2
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-visvis/Makefile b/graphics/py-visvis/Makefile
index 761e3603f0ce..1337bbdd0a9c 100644
--- a/graphics/py-visvis/Makefile
+++ b/graphics/py-visvis/Makefile
@@ -1,6 +1,6 @@
PORTNAME= visvis
PORTVERSION= 1.15.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-willow/Makefile b/graphics/py-willow/Makefile
index 04bcee8c222d..4c20c7cb9022 100644
--- a/graphics/py-willow/Makefile
+++ b/graphics/py-willow/Makefile
@@ -1,5 +1,6 @@
PORTNAME= willow
-PORTVERSION= 1.10.0
+PORTVERSION= 1.11.0
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -14,9 +15,9 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}defusedxml>=0.7<1.0:devel/py-defusedxml@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}filetype>=1.0.7:devel/py-filetype@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}filetype>=1.0.10:devel/py-filetype@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
@@ -30,9 +31,9 @@ OPENCV_DESC= Use OpenCV as backend
PILLOW_DESC= Use Pillow as backend
WAND_DESC= Use Wand as backend
-HEIF_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow-heif>=0.13.0<1.0.0:graphics/py-pillow-heif@${PY_FLAVOR}
+HEIF_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow-heif>=0.13.0:graphics/py-pillow-heif@${PY_FLAVOR}
OPENCV_RUN_DEPENDS= opencv>=0:graphics/opencv
-PILLOW_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=9.1.0<12.0.0:graphics/py-pillow@${PY_FLAVOR}
+PILLOW_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=11.3.0<12.0.0:graphics/py-pillow@${PY_FLAVOR}
WAND_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}wand>=0.6<1.0:graphics/py-wand@${PY_FLAVOR}
.include <bsd.port.mk>
diff --git a/graphics/py-willow/distinfo b/graphics/py-willow/distinfo
index 0ec5a8d02e0c..7933ec92e344 100644
--- a/graphics/py-willow/distinfo
+++ b/graphics/py-willow/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745936200
-SHA256 (willow-1.10.0.tar.gz) = e10673ff954e79ca0412c648e40dd9ce0b93c8bef798e8468ce3411ff972fb15
-SIZE (willow-1.10.0.tar.gz) = 113732
+TIMESTAMP = 1753265776
+SHA256 (willow-1.11.0.tar.gz) = 70292b2d0cd2d5bb4076f0b3d61308aeaa0b225f3970d00752f08a8fd386c3d1
+SIZE (willow-1.11.0.tar.gz) = 113827
diff --git a/graphics/py-willow/files/patch-pyproject.toml b/graphics/py-willow/files/patch-pyproject.toml
deleted file mode 100644
index ba816ba9d024..000000000000
--- a/graphics/py-willow/files/patch-pyproject.toml
+++ /dev/null
@@ -1,22 +0,0 @@
---- pyproject.toml.orig 2025-04-22 13:08:41 UTC
-+++ pyproject.toml
-@@ -26,7 +26,7 @@ dependencies = [
- dynamic = ["version"] # will read __version__ from willow/__init__.py
- requires-python = ">=3.9"
- dependencies = [
-- "filetype>=1.0.10,!=1.1.0",
-+ "filetype>=1.0.7,!=1.1.0",
- "defusedxml>=0.7,<1.0",
- ]
-
-@@ -35,8 +35,8 @@ heif = [
- wand = ["Wand>=0.6,<1.0"]
- heif = [
- # Pinned because pillow-heif 0.23+ has dropped AVIF support but we still rely on it.
-- "pillow-heif>=0.10.0,<0.22.0; python_version < '3.12'",
-- "pillow-heif>=0.13.0,<0.22.0; python_version >= '3.12'",
-+ "pillow-heif>=0.10.0,<1.0.0; python_version < '3.12'",
-+ "pillow-heif>=0.13.0,<1.0.0; python_version >= '3.12'",
- ]
-
- testing = [
diff --git a/graphics/qgis-ltr/Makefile b/graphics/qgis-ltr/Makefile
index 75968353d2f4..38b8e9fc6467 100644
--- a/graphics/qgis-ltr/Makefile
+++ b/graphics/qgis-ltr/Makefile
@@ -1,5 +1,5 @@
PORTNAME= qgis
-DISTVERSION= 3.40.8
+DISTVERSION= 3.40.10
PORTREVISION= 1
CATEGORIES= graphics geography
MASTER_SITES= https://qgis.org/downloads/
diff --git a/graphics/qgis-ltr/distinfo b/graphics/qgis-ltr/distinfo
index 8ac8d3d21e2b..4ec5f812b4b4 100644
--- a/graphics/qgis-ltr/distinfo
+++ b/graphics/qgis-ltr/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750597813
-SHA256 (qgis-3.40.8.tar.bz2) = 17b9ad47e964b676c32f5228d3fad668338404c14fc991657363914e4317ed4f
-SIZE (qgis-3.40.8.tar.bz2) = 183915862
+TIMESTAMP = 1755348406
+SHA256 (qgis-3.40.10.tar.bz2) = 0787918f5dd838396038617b40863b9791caf1dcc710477e8e03ebb24453b80d
+SIZE (qgis-3.40.10.tar.bz2) = 183836465
diff --git a/graphics/qgis-ltr/pkg-plist b/graphics/qgis-ltr/pkg-plist
index 6a327cab3626..923f8192989a 100644
--- a/graphics/qgis-ltr/pkg-plist
+++ b/graphics/qgis-ltr/pkg-plist
@@ -1339,6 +1339,7 @@ include/qgis/qgsprocessingfeedback.h
include/qgis/qgsprocessingfieldmapwidgetwrapper.h
include/qgis/qgsprocessinggui.h
include/qgis/qgsprocessingguiregistry.h
+include/qgis/qgsprocessingguiutils.h
include/qgis/qgsprocessinghelpeditorwidget.h
include/qgis/qgsprocessinghistoryprovider.h
include/qgis/qgsprocessinghistorywidget.h
diff --git a/graphics/qgis/Makefile b/graphics/qgis/Makefile
index 638e671201a6..753d2bb9c5f3 100644
--- a/graphics/qgis/Makefile
+++ b/graphics/qgis/Makefile
@@ -1,5 +1,5 @@
PORTNAME= qgis
-DISTVERSION= 3.44.0
+DISTVERSION= 3.44.2
PORTREVISION= 1
CATEGORIES= graphics geography
MASTER_SITES= https://qgis.org/downloads/
diff --git a/graphics/qgis/distinfo b/graphics/qgis/distinfo
index f5668280b11f..647bb70e189d 100644
--- a/graphics/qgis/distinfo
+++ b/graphics/qgis/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750571856
-SHA256 (qgis-3.44.0.tar.bz2) = 81e5088060f38ab4e9835b05e5eec1ba7cc2eb903105830808b60215ae2cd320
-SIZE (qgis-3.44.0.tar.bz2) = 190272372
+TIMESTAMP = 1755322611
+SHA256 (qgis-3.44.2.tar.bz2) = 21f789e1b61384cf03432af306bc977b42d8c77c55ad48562ea1e914a5495961
+SIZE (qgis-3.44.2.tar.bz2) = 187889368
diff --git a/graphics/qgis/pkg-plist b/graphics/qgis/pkg-plist
index ce9c47c290d5..3616f7c3f390 100644
--- a/graphics/qgis/pkg-plist
+++ b/graphics/qgis/pkg-plist
@@ -3838,10 +3838,12 @@ share/metainfo/org.qgis.qgis.appdata.xml
%%DATADIR%%/i18n/qgis_cs.qm
%%DATADIR%%/i18n/qgis_da.qm
%%DATADIR%%/i18n/qgis_de.qm
+%%DATADIR%%/i18n/qgis_el.qm
%%DATADIR%%/i18n/qgis_en_US.qm
%%DATADIR%%/i18n/qgis_es.qm
%%DATADIR%%/i18n/qgis_et.qm
%%DATADIR%%/i18n/qgis_eu.qm
+%%DATADIR%%/i18n/qgis_fa.qm
%%DATADIR%%/i18n/qgis_fi.qm
%%DATADIR%%/i18n/qgis_fr.qm
%%DATADIR%%/i18n/qgis_gl.qm
@@ -3850,6 +3852,7 @@ share/metainfo/org.qgis.qgis.appdata.xml
%%DATADIR%%/i18n/qgis_it.qm
%%DATADIR%%/i18n/qgis_ja.qm
%%DATADIR%%/i18n/qgis_ko.qm
+%%DATADIR%%/i18n/qgis_ky.qm
%%DATADIR%%/i18n/qgis_lt.qm
%%DATADIR%%/i18n/qgis_lv.qm
%%DATADIR%%/i18n/qgis_nb.qm
diff --git a/graphics/qt6-3d/Makefile b/graphics/qt6-3d/Makefile
index d92a2dbf6830..e94c04ce9f98 100644
--- a/graphics/qt6-3d/Makefile
+++ b/graphics/qt6-3d/Makefile
@@ -1,6 +1,5 @@
PORTNAME= 3d
DISTVERSION= ${QT6_VERSION}
-PORTREVISION= 2
CATEGORIES= graphics
PKGNAMEPREFIX= qt6-
diff --git a/graphics/qt6-3d/distinfo b/graphics/qt6-3d/distinfo
index 231aa0fba277..cd9b54578f75 100644
--- a/graphics/qt6-3d/distinfo
+++ b/graphics/qt6-3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749158712
-SHA256 (KDE/Qt/6.9.1/qt3d-everywhere-src-6.9.1.tar.xz) = 9c46497a60147bb326a58b67b1f543bdf81b8aceed908b44d3dde896d79c4784
-SIZE (KDE/Qt/6.9.1/qt3d-everywhere-src-6.9.1.tar.xz) = 141817908
+TIMESTAMP = 1756196733
+SHA256 (KDE/Qt/6.9.2/qt3d-everywhere-src-6.9.2.tar.xz) = aa6e023b8b5605f212cc52c46c1a8b74bd2ca67d01473d305b5b48a7972bb659
+SIZE (KDE/Qt/6.9.2/qt3d-everywhere-src-6.9.2.tar.xz) = 141825804
diff --git a/graphics/qt6-imageformats/distinfo b/graphics/qt6-imageformats/distinfo
index c4ff0b43a29a..7df0e43a15d1 100644
--- a/graphics/qt6-imageformats/distinfo
+++ b/graphics/qt6-imageformats/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749159278
-SHA256 (KDE/Qt/6.9.1/qtimageformats-everywhere-src-6.9.1.tar.xz) = ebe9f238daaf9bb752c7233edadf4af33fc4fa30d914936812b6410d3af1577c
-SIZE (KDE/Qt/6.9.1/qtimageformats-everywhere-src-6.9.1.tar.xz) = 2039560
+TIMESTAMP = 1756196738
+SHA256 (KDE/Qt/6.9.2/qtimageformats-everywhere-src-6.9.2.tar.xz) = 8a023f7e2f57dedc02e2ab10c975f7cb3cccac9b8f0823c12fd6824834549139
+SIZE (KDE/Qt/6.9.2/qtimageformats-everywhere-src-6.9.2.tar.xz) = 2021564
diff --git a/graphics/qt6-lottie/distinfo b/graphics/qt6-lottie/distinfo
index 793146f6f402..be6b29505050 100644
--- a/graphics/qt6-lottie/distinfo
+++ b/graphics/qt6-lottie/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749162753
-SHA256 (KDE/Qt/6.9.1/qtlottie-everywhere-src-6.9.1.tar.xz) = 8ee88c2e0773c96109c179d7e75a46ba7bc548b5bc8be409a23cbaddafa18ba2
-SIZE (KDE/Qt/6.9.1/qtlottie-everywhere-src-6.9.1.tar.xz) = 99436
+TIMESTAMP = 1756196742
+SHA256 (KDE/Qt/6.9.2/qtlottie-everywhere-src-6.9.2.tar.xz) = a4df93d2dd5c5942f1dc23e29667199fbf5cfaba84a51e6a9ffc874b967e31c6
+SIZE (KDE/Qt/6.9.2/qtlottie-everywhere-src-6.9.2.tar.xz) = 83560
diff --git a/graphics/qt6-quickeffectmaker/distinfo b/graphics/qt6-quickeffectmaker/distinfo
index 52b2a7170925..8e63980db866 100644
--- a/graphics/qt6-quickeffectmaker/distinfo
+++ b/graphics/qt6-quickeffectmaker/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749162778
-SHA256 (KDE/Qt/6.9.1/qtquickeffectmaker-everywhere-src-6.9.1.tar.xz) = 39b617c40642bb44f54e781ecea9338f2cf2b794c552df0b7a8795cabad15d31
-SIZE (KDE/Qt/6.9.1/qtquickeffectmaker-everywhere-src-6.9.1.tar.xz) = 4358748
+TIMESTAMP = 1756196749
+SHA256 (KDE/Qt/6.9.2/qtquickeffectmaker-everywhere-src-6.9.2.tar.xz) = 7985f1496ed411e3a3ae06ca55c8e37825e1c7f1c25ed4d120a68909ee0dd8f9
+SIZE (KDE/Qt/6.9.2/qtquickeffectmaker-everywhere-src-6.9.2.tar.xz) = 4342904
diff --git a/graphics/qt6-svg/Makefile b/graphics/qt6-svg/Makefile
index 322b0d874e19..7eee8e4edde8 100644
--- a/graphics/qt6-svg/Makefile
+++ b/graphics/qt6-svg/Makefile
@@ -1,12 +1,8 @@
PORTNAME= svg
DISTVERSION= ${QT6_VERSION}
-PORTREVISION= 1
CATEGORIES= graphics
PKGNAMEPREFIX= qt6-
-PATCH_SITES= https://github.com/qt/qtsvg/commit/
-PATCHFILES+= 07b3434f91c95d196f687c51e1a58a95a0b1ef2e.patch:-p1 # PR 287659
-
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt6 classes for displaying the contents of SVG files
diff --git a/graphics/qt6-svg/distinfo b/graphics/qt6-svg/distinfo
index a4042baa311f..8f066ad75a57 100644
--- a/graphics/qt6-svg/distinfo
+++ b/graphics/qt6-svg/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1750609163
-SHA256 (KDE/Qt/6.9.1/qtsvg-everywhere-src-6.9.1.tar.xz) = 2dfc5de5fd891ff2afd9861e519bf1a26e6deb729b3133f68a28ba763c9abbd5
-SIZE (KDE/Qt/6.9.1/qtsvg-everywhere-src-6.9.1.tar.xz) = 2017876
-SHA256 (KDE/Qt/6.9.1/07b3434f91c95d196f687c51e1a58a95a0b1ef2e.patch) = 924277fa003f477372446f7ca6fc9e6139f47216a0eebd27e9c129f5d36a5855
-SIZE (KDE/Qt/6.9.1/07b3434f91c95d196f687c51e1a58a95a0b1ef2e.patch) = 1890
+TIMESTAMP = 1756201222
+SHA256 (KDE/Qt/6.9.2/qtsvg-everywhere-src-6.9.2.tar.xz) = d984cab8f26334aa1c15e5b8f0cd9f1b7c0c1289fe0b68c1c84ab469b75605a5
+SIZE (KDE/Qt/6.9.2/qtsvg-everywhere-src-6.9.2.tar.xz) = 2004052
diff --git a/graphics/qt6-wayland/distinfo b/graphics/qt6-wayland/distinfo
index 80bc8f5217e5..d6f7ec8b5572 100644
--- a/graphics/qt6-wayland/distinfo
+++ b/graphics/qt6-wayland/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749159376
-SHA256 (KDE/Qt/6.9.1/qtwayland-everywhere-src-6.9.1.tar.xz) = 7d21ea0e687180ebb19b9a1f86ae9cfa7a25b4f02d5db05ec834164409932e3e
-SIZE (KDE/Qt/6.9.1/qtwayland-everywhere-src-6.9.1.tar.xz) = 1152868
+TIMESTAMP = 1756196760
+SHA256 (KDE/Qt/6.9.2/qtwayland-everywhere-src-6.9.2.tar.xz) = cad79806565568f12f9983fed69219416abcee9d5deef4abdfcf94aa2eef7781
+SIZE (KDE/Qt/6.9.2/qtwayland-everywhere-src-6.9.2.tar.xz) = 1138152
diff --git a/graphics/qt6-wayland/files/patch-src_client_qwaylandshellsurface__p.h b/graphics/qt6-wayland/files/patch-src_client_qwaylandshellsurface__p.h
new file mode 100644
index 000000000000..9380ad7616d6
--- /dev/null
+++ b/graphics/qt6-wayland/files/patch-src_client_qwaylandshellsurface__p.h
@@ -0,0 +1,23 @@
+Add QWaylandShellSurface::nativeResource() to allow using it instead of
+surfaceRole(). The problem with latter is that it relies on RTTI, which is not
+stable across shared modules loaded with RTLD_LOCAL.
+
+x11/plasma6-layer-shell-qt calls into this private API and crashes. Linux/GCC
+users are not seeing this because libstdc++ use different algorithm for comparing
+RTTI. Our libc++ can be switched to this algorithm too by building with
+-DLIBCXX_TYPEINFO_COMPARISON_IMPLEMENTATION=2, but this is too drastic approach.
+
+Related URLs:
+* https://bugs.kde.org/show_bug.cgi?id=479679
+* https://github.com/llvm/llvm-project/issues/36746
+
+--- src/client/qwaylandshellsurface_p.h.orig 2025-05-29 00:19:49 UTC
++++ src/client/qwaylandshellsurface_p.h
+@@ -85,6 +85,7 @@ class Q_WAYLANDCLIENT_EXPORT QWaylandShellSurface : pu
+ QPlatformWindow *platformWindow();
+ struct wl_surface *wlSurface();
+
++ virtual void* nativeResource(const QByteArray&) { return nullptr; }
+ virtual std::any surfaceRole() const { return std::any(); };
+
+ virtual void attachPopup(QWaylandShellSurface *popup) { Q_UNUSED(popup); }
diff --git a/graphics/qt6-wayland/files/patch-src_plugins_shellintegration_xdg-shell_qwaylandxdgshell__p.h b/graphics/qt6-wayland/files/patch-src_plugins_shellintegration_xdg-shell_qwaylandxdgshell__p.h
new file mode 100644
index 000000000000..205ecb55e559
--- /dev/null
+++ b/graphics/qt6-wayland/files/patch-src_plugins_shellintegration_xdg-shell_qwaylandxdgshell__p.h
@@ -0,0 +1,13 @@
+Companion change to patch-src_plugins_shellintegration_xdg-shell_qwaylandxdgshell__p.h
+
+--- src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h.orig 2025-05-29 00:19:49 UTC
++++ src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
+@@ -75,7 +75,7 @@ class Q_WAYLANDCLIENT_EXPORT QWaylandXdgSurface : publ
+
+ void setSizeHints();
+
+- void *nativeResource(const QByteArray &resource);
++ void *nativeResource(const QByteArray &resource) override;
+
+ std::any surfaceRole() const override;
+
diff --git a/graphics/qtqr/Makefile b/graphics/qtqr/Makefile
index 4774bebe1851..27cdea034238 100644
--- a/graphics/qtqr/Makefile
+++ b/graphics/qtqr/Makefile
@@ -1,5 +1,6 @@
PORTNAME= qtqr
DISTVERSION= 2.1
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= https://launchpad.net/qr-tools/2.0/${PORTVERSION}/+download/ \
LOCAL/ehaupt
diff --git a/graphics/qview/Makefile b/graphics/qview/Makefile
index 3dbdf74b94ca..8c7701c8acdb 100644
--- a/graphics/qview/Makefile
+++ b/graphics/qview/Makefile
@@ -1,5 +1,6 @@
PORTNAME= qview
PORTVERSION= 6.1
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://github.com/jurplel/qView/releases/download/${PORTVERSION}/
DISTNAME= qView-${PORTVERSION}
diff --git a/graphics/rapid-photo-downloader/Makefile b/graphics/rapid-photo-downloader/Makefile
index 371462930bea..d13f6e37621e 100644
--- a/graphics/rapid-photo-downloader/Makefile
+++ b/graphics/rapid-photo-downloader/Makefile
@@ -1,6 +1,6 @@
PORTNAME= rapid-photo-downloader
DISTVERSION= 0.9.26
-PORTREVISION= 11
+PORTREVISION= 12
CATEGORIES= graphics
MASTER_SITES= https://launchpad.net/rapid/pyqt/${PORTVERSION}/+download/
diff --git a/graphics/resvg-capi/Makefile b/graphics/resvg-capi/Makefile
index 390d5d26ce36..138784e6678d 100644
--- a/graphics/resvg-capi/Makefile
+++ b/graphics/resvg-capi/Makefile
@@ -1,6 +1,6 @@
PORTNAME= resvg-c-api
DISTVERSION= 0.45.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/resvg/Makefile b/graphics/resvg/Makefile
index 146bca64fbf9..2891359c9421 100644
--- a/graphics/resvg/Makefile
+++ b/graphics/resvg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= resvg
DISTVERSION= 0.45.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/rubygem-clutter-gdk/Makefile b/graphics/rubygem-clutter-gdk/Makefile
index 235451820569..a6a20def5cd9 100644
--- a/graphics/rubygem-clutter-gdk/Makefile
+++ b/graphics/rubygem-clutter-gdk/Makefile
@@ -1,5 +1,5 @@
PORTNAME= clutter-gdk
-PORTVERSION= 4.2.9
+PORTVERSION= 4.3.0
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-clutter-gdk/distinfo b/graphics/rubygem-clutter-gdk/distinfo
index 1314ab9403ff..fa2653911a7c 100644
--- a/graphics/rubygem-clutter-gdk/distinfo
+++ b/graphics/rubygem-clutter-gdk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744289376
-SHA256 (rubygem/clutter-gdk-4.2.9.gem) = d02c1e8c3ea78728b0922923601f63388d0c03437febbd06af2bb1f74686cfa3
-SIZE (rubygem/clutter-gdk-4.2.9.gem) = 14848
+TIMESTAMP = 1752566766
+SHA256 (rubygem/clutter-gdk-4.3.0.gem) = 79a3948186a0298aa400228229eccab544740077d1ccd2a2c5df19b92c5d1d8e
+SIZE (rubygem/clutter-gdk-4.3.0.gem) = 14848
diff --git a/graphics/rubygem-clutter-gtk/Makefile b/graphics/rubygem-clutter-gtk/Makefile
index f5cf5b826e15..b9c78675388f 100644
--- a/graphics/rubygem-clutter-gtk/Makefile
+++ b/graphics/rubygem-clutter-gtk/Makefile
@@ -1,5 +1,5 @@
PORTNAME= clutter-gtk
-PORTVERSION= 4.2.9
+PORTVERSION= 4.3.0
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-clutter-gtk/distinfo b/graphics/rubygem-clutter-gtk/distinfo
index 036e8e361244..4413a708752a 100644
--- a/graphics/rubygem-clutter-gtk/distinfo
+++ b/graphics/rubygem-clutter-gtk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744289378
-SHA256 (rubygem/clutter-gtk-4.2.9.gem) = facc0cf0900f5f61ae73dd6b83c27bcbd86df86d19642949abb1a3f379d19135
-SIZE (rubygem/clutter-gtk-4.2.9.gem) = 31232
+TIMESTAMP = 1752566768
+SHA256 (rubygem/clutter-gtk-4.3.0.gem) = 3d1f4cd818e334ec41107fc755c835341bd13966f83cb0aeeac1ac708f5c3132
+SIZE (rubygem/clutter-gtk-4.3.0.gem) = 31232
diff --git a/graphics/rubygem-clutter/Makefile b/graphics/rubygem-clutter/Makefile
index eca647d5202f..ae98634aab17 100644
--- a/graphics/rubygem-clutter/Makefile
+++ b/graphics/rubygem-clutter/Makefile
@@ -1,5 +1,5 @@
PORTNAME= clutter
-PORTVERSION= 4.2.9
+PORTVERSION= 4.3.0
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-clutter/distinfo b/graphics/rubygem-clutter/distinfo
index 375e22a98c6b..6d5fba557ab1 100644
--- a/graphics/rubygem-clutter/distinfo
+++ b/graphics/rubygem-clutter/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744289374
-SHA256 (rubygem/clutter-4.2.9.gem) = d6d2925727732f691abd7597fcdc8876c3caa5f4a34c653256e00ecfd34959e9
-SIZE (rubygem/clutter-4.2.9.gem) = 42496
+TIMESTAMP = 1752566764
+SHA256 (rubygem/clutter-4.3.0.gem) = 6153fd96facac998006508f971b4d158757a4aba9881d18fec22b8752c413730
+SIZE (rubygem/clutter-4.3.0.gem) = 42496
diff --git a/graphics/rubygem-gdk_pixbuf2/Makefile b/graphics/rubygem-gdk_pixbuf2/Makefile
index 1c7f9e691c19..9fd42d2745e0 100644
--- a/graphics/rubygem-gdk_pixbuf2/Makefile
+++ b/graphics/rubygem-gdk_pixbuf2/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gdk_pixbuf2
-PORTVERSION= 4.2.9
+PORTVERSION= 4.3.0
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-gdk_pixbuf2/distinfo b/graphics/rubygem-gdk_pixbuf2/distinfo
index 16f8128b42ff..e322b690656d 100644
--- a/graphics/rubygem-gdk_pixbuf2/distinfo
+++ b/graphics/rubygem-gdk_pixbuf2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744289380
-SHA256 (rubygem/gdk_pixbuf2-4.2.9.gem) = 22d6c3e94b1858d2f7814252da15fc135d75866961dd29f23f0275bbb2f7b52f
-SIZE (rubygem/gdk_pixbuf2-4.2.9.gem) = 34816
+TIMESTAMP = 1752566770
+SHA256 (rubygem/gdk_pixbuf2-4.3.0.gem) = c6d5e1a82c71b878a43897a942bc3f5041276cd578ee73955773e7965c46a8ad
+SIZE (rubygem/gdk_pixbuf2-4.3.0.gem) = 34816
diff --git a/graphics/rubygem-gruff/Makefile b/graphics/rubygem-gruff/Makefile
index 70bcda774e2f..451ec7b4fdd2 100644
--- a/graphics/rubygem-gruff/Makefile
+++ b/graphics/rubygem-gruff/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gruff
-PORTVERSION= 0.27.0
+PORTVERSION= 0.29.0
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-gruff/distinfo b/graphics/rubygem-gruff/distinfo
index 9ee8201df3e6..bc274be4fac9 100644
--- a/graphics/rubygem-gruff/distinfo
+++ b/graphics/rubygem-gruff/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748496029
-SHA256 (rubygem/gruff-0.27.0.gem) = bf1ea3bc0cdc1be9f353571b3600eea39f72140e3d1dd91ac62185fd8e6a8795
-SIZE (rubygem/gruff-0.27.0.gem) = 254976
+TIMESTAMP = 1753370276
+SHA256 (rubygem/gruff-0.29.0.gem) = ab808cbf507abda7ffacd4ba5805a43c47ad0ec6aa2a7b125cf8a165110047a0
+SIZE (rubygem/gruff-0.29.0.gem) = 254976
diff --git a/graphics/rubygem-invisible_captcha/Makefile b/graphics/rubygem-invisible_captcha/Makefile
index 00e37dcd82a9..be90c3e2e44f 100644
--- a/graphics/rubygem-invisible_captcha/Makefile
+++ b/graphics/rubygem-invisible_captcha/Makefile
@@ -1,6 +1,5 @@
PORTNAME= invisible_captcha
-PORTVERSION= 2.1.0
-PORTREVISION= 1
+PORTVERSION= 2.3.0
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-invisible_captcha/distinfo b/graphics/rubygem-invisible_captcha/distinfo
index e213eb73e5e5..f29740e6a87a 100644
--- a/graphics/rubygem-invisible_captcha/distinfo
+++ b/graphics/rubygem-invisible_captcha/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1695537083
-SHA256 (rubygem/invisible_captcha-2.1.0.gem) = 02b452f3eb1b691d155ba3e8e97e1be0e6b6be62e8bc94957234b9cde0852b1e
-SIZE (rubygem/invisible_captcha-2.1.0.gem) = 25600
+TIMESTAMP = 1755674924
+SHA256 (rubygem/invisible_captcha-2.3.0.gem) = 309ee5a5e891ecfb732c85b12f1aa9252a648df6f2761b3b41205e824e30ff15
+SIZE (rubygem/invisible_captcha-2.3.0.gem) = 26112
diff --git a/graphics/rubygem-rmagick/Makefile b/graphics/rubygem-rmagick/Makefile
index ad764e200ef8..ddd0ebb622b8 100644
--- a/graphics/rubygem-rmagick/Makefile
+++ b/graphics/rubygem-rmagick/Makefile
@@ -1,6 +1,5 @@
PORTNAME= rmagick
-PORTVERSION= 6.1.1
-PORTREVISION= 1
+PORTVERSION= 6.1.2
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-rmagick/distinfo b/graphics/rubygem-rmagick/distinfo
index 198ff93eee6b..099536aeef53 100644
--- a/graphics/rubygem-rmagick/distinfo
+++ b/graphics/rubygem-rmagick/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1738606697
-SHA256 (rubygem/rmagick-6.1.1.gem) = df0171c0641956a172ed0bbf6bdcf2ea68ad7fa3ec09364705f32c2cdd3b8726
-SIZE (rubygem/rmagick-6.1.1.gem) = 269824
+TIMESTAMP = 1753265960
+SHA256 (rubygem/rmagick-6.1.2.gem) = 2f2faf6aa072d32f6a71f6241d9e20b5090fb43690bbb84761b963bedcf53c8d
+SIZE (rubygem/rmagick-6.1.2.gem) = 270336
diff --git a/graphics/rubygem-rsvg2/Makefile b/graphics/rubygem-rsvg2/Makefile
index dc987a42ad72..8657933aecf6 100644
--- a/graphics/rubygem-rsvg2/Makefile
+++ b/graphics/rubygem-rsvg2/Makefile
@@ -1,5 +1,5 @@
PORTNAME= rsvg2
-PORTVERSION= 4.2.9
+PORTVERSION= 4.3.0
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-rsvg2/distinfo b/graphics/rubygem-rsvg2/distinfo
index 5fbb855a785e..d787f387fa3e 100644
--- a/graphics/rubygem-rsvg2/distinfo
+++ b/graphics/rubygem-rsvg2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744289382
-SHA256 (rubygem/rsvg2-4.2.9.gem) = bd21b60f5c8a04cd1d5afe62f0b40aed67ff750bc0690b931aa69ae0659000eb
-SIZE (rubygem/rsvg2-4.2.9.gem) = 29696
+TIMESTAMP = 1752566772
+SHA256 (rubygem/rsvg2-4.3.0.gem) = d967f796652aa88efe01af04635886681f99be5710ef66a7c8fe856c76718bac
+SIZE (rubygem/rsvg2-4.3.0.gem) = 29696
diff --git a/graphics/rx/Makefile b/graphics/rx/Makefile
index 8037ea3f3db3..014130029ae8 100644
--- a/graphics/rx/Makefile
+++ b/graphics/rx/Makefile
@@ -1,7 +1,7 @@
PORTNAME= rx
DISTVERSIONPREFIX= v
DISTVERSION= 0.5.2
-PORTREVISION= 37
+PORTREVISION= 38
CATEGORIES= graphics
PKGNAMESUFFIX= -editor
diff --git a/graphics/sane-airscan/Makefile b/graphics/sane-airscan/Makefile
index 004ffed64082..667928a4931f 100644
--- a/graphics/sane-airscan/Makefile
+++ b/graphics/sane-airscan/Makefile
@@ -1,6 +1,5 @@
PORTNAME= sane-airscan
-DISTVERSION= 0.99.29
-PORTREVISION= 1
+DISTVERSION= 0.99.36
CATEGORIES= graphics
MAINTAINER= henry.hu.sh@gmail.com
@@ -17,10 +16,9 @@ LIB_DEPENDS= libavahi-client.so:net/avahi-app \
libtiff.so:graphics/tiff
USES= gnome jpeg meson pkgconfig
-USE_GNOME= libxml2
-
USE_GITHUB= yes
GH_ACCOUNT= alexpevzner
+USE_GNOME= libxml2
post-install:
@${MV} ${STAGEDIR}${PREFIX}/etc/sane.d/airscan.conf \
diff --git a/graphics/sane-airscan/distinfo b/graphics/sane-airscan/distinfo
index 1a39ae500211..0f04014a5b2f 100644
--- a/graphics/sane-airscan/distinfo
+++ b/graphics/sane-airscan/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1719644469
-SHA256 (alexpevzner-sane-airscan-0.99.29_GH0.tar.gz) = e8aa43005ed495fc0db65e2ff51b29cef11a45fc6d8c385294b3394b848db65f
-SIZE (alexpevzner-sane-airscan-0.99.29_GH0.tar.gz) = 211753
+TIMESTAMP = 1753920000
+SHA256 (alexpevzner-sane-airscan-0.99.36_GH0.tar.gz) = 43d3436c0199496ee18aca4f875fe3926a40a0fae781bc280cdb96f7b5068ac0
+SIZE (alexpevzner-sane-airscan-0.99.36_GH0.tar.gz) = 218775
diff --git a/graphics/satty/Makefile b/graphics/satty/Makefile
index 142fae6204be..d82e71171dbe 100644
--- a/graphics/satty/Makefile
+++ b/graphics/satty/Makefile
@@ -1,7 +1,7 @@
PORTNAME= satty
DISTVERSIONPREFIX= v
DISTVERSION= 0.19.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics wayland
MASTER_SITES= CRATESIO
diff --git a/graphics/sdl2_image/Makefile b/graphics/sdl2_image/Makefile
index 278864dda1ae..f92312e0ce38 100644
--- a/graphics/sdl2_image/Makefile
+++ b/graphics/sdl2_image/Makefile
@@ -1,6 +1,7 @@
PORTNAME= sdl2_image
DISTVERSIONPREFIX= release-
DISTVERSION= 2.8.8
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= amdmi3@FreeBSD.org
diff --git a/graphics/sdl3_image/Makefile b/graphics/sdl3_image/Makefile
index a9d460cf085e..b3ec56ef1e9d 100644
--- a/graphics/sdl3_image/Makefile
+++ b/graphics/sdl3_image/Makefile
@@ -1,6 +1,7 @@
PORTNAME= sdl3_image
DISTVERSIONPREFIX= release-
DISTVERSION= 3.2.4
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= amdmi3@FreeBSD.org
diff --git a/graphics/sdl3_ttf/Makefile b/graphics/sdl3_ttf/Makefile
index cc656371dcd8..3a1834e93f01 100644
--- a/graphics/sdl3_ttf/Makefile
+++ b/graphics/sdl3_ttf/Makefile
@@ -1,6 +1,7 @@
PORTNAME= sdl3_ttf
DISTVERSIONPREFIX= release-
DISTVERSION= 3.2.2
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= amdmi3@FreeBSD.org
@@ -16,9 +17,9 @@ USES= cmake pkgconfig sdl
USE_GITHUB= yes
GH_ACCOUNT= libsdl-org
GH_PROJECT= SDL_ttf
+USE_LDCONFIG= yes
USE_SDL= sdl3
CMAKE_OFF= SDLTTF_SAMPLES
-USE_LDCONFIG= yes
PLIST_SUB= LIBVERSION=${DISTVERSION:C/[0-9]+/0/1}
@@ -28,13 +29,13 @@ OPTIONS_DEFINE= HARFBUZZ PLUTOSVG DOCS
OPTIONS_DEFAULT=HARFBUZZ PLUTOSVG
OPTIONS_SUB= yes
-HARFBUZZ_DESC= Use harfbuzz to improve text shaping
+HARFBUZZ_DESC= Use harfbuzz to improve text shaping
HARFBUZZ_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz
HARFBUZZ_CMAKE_BOOL= SDLTTF_HARFBUZZ
-PLUTOSVG_DESC= Use plutosvg for color emoji support
-PLUTOSVG_LIB_DEPENDS= libplutosvg.so:graphics/plutosvg
-PLUTOSVG_CFLAGS= -isystem ${LOCALBASE}/include/plutovg
+PLUTOSVG_DESC= Use plutosvg for color emoji support
+PLUTOSVG_LIB_DEPENDS= libplutosvg.so:graphics/plutosvg \
+ libplutovg.so:graphics/plutovg
PLUTOSVG_CMAKE_BOOL= SDLTTF_PLUTOSVG
post-extract:
diff --git a/graphics/sekrit-twc-zimg/Makefile b/graphics/sekrit-twc-zimg/Makefile
index 5784ad916ae5..c5833d8751e1 100644
--- a/graphics/sekrit-twc-zimg/Makefile
+++ b/graphics/sekrit-twc-zimg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= zimg
DISTVERSIONPREFIX= release-
-DISTVERSION= 3.0.5
+DISTVERSION= 3.0.6
CATEGORIES= graphics
PKGNAMEPREFIX= ${GH_ACCOUNT}-
diff --git a/graphics/sekrit-twc-zimg/distinfo b/graphics/sekrit-twc-zimg/distinfo
index 050042892bc2..50088191e6eb 100644
--- a/graphics/sekrit-twc-zimg/distinfo
+++ b/graphics/sekrit-twc-zimg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1688319905
-SHA256 (sekrit-twc-zimg-release-3.0.5_GH0.tar.gz) = a9a0226bf85e0d83c41a8ebe4e3e690e1348682f6a2a7838f1b8cbff1b799bcf
-SIZE (sekrit-twc-zimg-release-3.0.5_GH0.tar.gz) = 326694
+TIMESTAMP = 1755544103
+SHA256 (sekrit-twc-zimg-release-3.0.6_GH0.tar.gz) = be89390f13a5c9b2388ce0f44a5e89364a20c1c57ce46d382b1fcc3967057577
+SIZE (sekrit-twc-zimg-release-3.0.6_GH0.tar.gz) = 326725
diff --git a/graphics/simpleviewer/Makefile b/graphics/simpleviewer/Makefile
index 99ecd487d756..bf0652eb4feb 100644
--- a/graphics/simpleviewer/Makefile
+++ b/graphics/simpleviewer/Makefile
@@ -1,6 +1,6 @@
PORTNAME= simpleviewer
PORTVERSION= 3.1.9
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MASTER_SITES= https://bitbucket.org/andreyu/simple-viewer-gl/get/${BB_COMMIT}.tar.bz2?dummy=/
diff --git a/graphics/skanlite/distinfo b/graphics/skanlite/distinfo
index 93c2515a057a..e7d9fd9ada03 100644
--- a/graphics/skanlite/distinfo
+++ b/graphics/skanlite/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381490
-SHA256 (KDE/release-service/25.04.3/skanlite-25.04.3.tar.xz) = a6c16c530a2f9105302558d06a377a7bc076be7517a769077c94a6431727f468
-SIZE (KDE/release-service/25.04.3/skanlite-25.04.3.tar.xz) = 2392460
+TIMESTAMP = 1754646399
+SHA256 (KDE/release-service/25.08.0/skanlite-25.08.0.tar.xz) = 4d790b8cbaa0f2f193118a3bdddc8ecd89e8513eda4f9ae618862df9034ce0f8
+SIZE (KDE/release-service/25.08.0/skanlite-25.08.0.tar.xz) = 2392556
diff --git a/graphics/skanpage/distinfo b/graphics/skanpage/distinfo
index 10af3a4870a4..6d4baaad0dff 100644
--- a/graphics/skanpage/distinfo
+++ b/graphics/skanpage/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381492
-SHA256 (KDE/release-service/25.04.3/skanpage-25.04.3.tar.xz) = 6727ffd9bd576edbd0b4a0841625cff5d7370e6c8b667c66d5f5355cdb1a2e2d
-SIZE (KDE/release-service/25.04.3/skanpage-25.04.3.tar.xz) = 1360364
+TIMESTAMP = 1754646401
+SHA256 (KDE/release-service/25.08.0/skanpage-25.08.0.tar.xz) = b7756010c98d507b62b8a5fa43dee50a585f2be78cf342996a4e805a78319d03
+SIZE (KDE/release-service/25.08.0/skanpage-25.08.0.tar.xz) = 1366944
diff --git a/graphics/svgbob/Makefile b/graphics/svgbob/Makefile
index 0f80a1f26392..a08794391de9 100644
--- a/graphics/svgbob/Makefile
+++ b/graphics/svgbob/Makefile
@@ -1,6 +1,6 @@
PORTNAME= svgbob
DISTVERSION= 0.7.1
-PORTREVISION= 20
+PORTREVISION= 21
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/swappy/Makefile b/graphics/swappy/Makefile
index 4e0543163209..a5f143b62500 100644
--- a/graphics/swappy/Makefile
+++ b/graphics/swappy/Makefile
@@ -1,47 +1,34 @@
PORTNAME= swappy
DISTVERSIONPREFIX= v
-DISTVERSION= 1.5.1
-PORTREVISION= 3
+DISTVERSION= 1.8.0
CATEGORIES= graphics wayland
+MASTER_SITES= https://github.com/jtheoof/${PORTNAME}/releases/download/${DISTVERSIONFULL}/
+DISTNAME= ${PORTNAME}-${DISTVERSION}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= Snapshot editing for Wayland (a la Snappy on macOS)
WWW= https://github.com/jtheoof/swappy
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= compiler:c11 desktop-file-utils gettext-tools gnome meson pkgconfig
-USE_GITHUB= yes
+USES= compiler:c11 desktop-file-utils gettext-tools gnome meson \
+ pkgconfig
+
USE_GNOME= cairo gdkpixbuf gtk30
-GH_ACCOUNT= jtheoof
-PLIST_FILES= bin/${PORTNAME} \
- share/applications/${PORTNAME}.desktop \
- share/icons/hicolor/scalable/apps/${PORTNAME}.svg \
- share/locale/de/LC_MESSAGES/${PORTNAME}.mo \
- share/locale/en/LC_MESSAGES/${PORTNAME}.mo \
- share/locale/fr/LC_MESSAGES/${PORTNAME}.mo \
- share/locale/pt_BR/LC_MESSAGES/${PORTNAME}.mo \
- share/locale/tr/LC_MESSAGES/${PORTNAME}.mo \
- ${NULL}
OPTIONS_DEFINE= CLIPBOARD ICONSFONT MANPAGES
OPTIONS_DEFAULT=CLIPBOARD ICONSFONT MANPAGES
+OPTIONS_SUB= yes
CLIPBOARD_DESC= Copy to clipboard support
+ICONSFONT_DESC= Install Font Awesome to properly render icons
+
CLIPBOARD_RUN_DEPENDS= wl-copy:x11/wl-clipboard
-ICONSFONT_DESC= Install Font Awesome to properly render icons
ICONSFONT_RUN_DEPENDS= font-awesome>0:x11-fonts/font-awesome
MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc
MANPAGES_MESON_ENABLED= man-pages
-MANPAGES_PLIST_FILES= share/man/man1/${PORTNAME}.1.gz
-
-post-patch:
-# Extract (snapshot) version from the port instead of meson.build
- @${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \
- -e '/project_version/s/@0@/${DISTVERSIONFULL}/' \
- ${WRKSRC}/meson.build
.include <bsd.port.mk>
diff --git a/graphics/swappy/distinfo b/graphics/swappy/distinfo
index 4bc75903cd7e..b41fedbe8038 100644
--- a/graphics/swappy/distinfo
+++ b/graphics/swappy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1668981009
-SHA256 (jtheoof-swappy-v1.5.1_GH0.tar.gz) = 266fac289d4b903d80d44746044bafe8a8b663c6032be696c651ad390bcb1850
-SIZE (jtheoof-swappy-v1.5.1_GH0.tar.gz) = 655406
+TIMESTAMP = 1756368333
+SHA256 (swappy-1.8.0.tar.gz) = f615cc4c61e033cddc60093003ef03646d246a0ac14becb9cdac9b5fabf37bbe
+SIZE (swappy-1.8.0.tar.gz) = 700962
diff --git a/graphics/swappy/files/patch-meson.build b/graphics/swappy/files/patch-meson.build
new file mode 100644
index 000000000000..5f04120fc549
--- /dev/null
+++ b/graphics/swappy/files/patch-meson.build
@@ -0,0 +1,11 @@
+--- meson.build.orig 2025-08-20 11:05:16 UTC
++++ meson.build
+@@ -13,7 +13,7 @@ git = find_program('git', native: true, required: fals
+
+ version = '"@0@"'.format(meson.project_version())
+ git = find_program('git', native: true, required: false)
+-if git.found()
++if false
+ git_commit = run_command([git, 'rev-parse', '--short', 'HEAD'], check:true)
+ git_branch = run_command([git, 'rev-parse', '--abbrev-ref', 'HEAD'], check:true)
+ if git_commit.returncode() == 0 and git_branch.returncode() == 0
diff --git a/graphics/swappy/pkg-plist b/graphics/swappy/pkg-plist
new file mode 100644
index 000000000000..0e1bc6eac55c
--- /dev/null
+++ b/graphics/swappy/pkg-plist
@@ -0,0 +1,10 @@
+bin/swappy
+share/applications/swappy.desktop
+share/icons/hicolor/scalable/apps/swappy.svg
+share/locale/de/LC_MESSAGES/swappy.mo
+share/locale/en/LC_MESSAGES/swappy.mo
+share/locale/fr/LC_MESSAGES/swappy.mo
+share/locale/pt_BR/LC_MESSAGES/swappy.mo
+share/locale/tr/LC_MESSAGES/swappy.mo
+share/locale/zh_CN/LC_MESSAGES/swappy.mo
+%%MANPAGES%%share/man/man1/swappy.1.gz
diff --git a/graphics/synfig/Makefile b/graphics/synfig/Makefile
index 23185c619a51..9ba4a5ffa864 100644
--- a/graphics/synfig/Makefile
+++ b/graphics/synfig/Makefile
@@ -1,7 +1,7 @@
PORTNAME= synfig
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.5
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= graphics devel multimedia
MAINTAINER= portmaster@BSDforge.com
diff --git a/graphics/synfigstudio/Makefile b/graphics/synfigstudio/Makefile
index 0bf457c2f179..987bc471ea19 100644
--- a/graphics/synfigstudio/Makefile
+++ b/graphics/synfigstudio/Makefile
@@ -1,7 +1,7 @@
PORTNAME= synfigstudio
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.5
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics multimedia
MAINTAINER= portmaster@BSDforge.com
diff --git a/graphics/timg/files/patch-src_video-source.cc b/graphics/timg/files/patch-src_video-source.cc
new file mode 100644
index 000000000000..2f1f337245e0
--- /dev/null
+++ b/graphics/timg/files/patch-src_video-source.cc
@@ -0,0 +1,10 @@
+--- src/video-source.cc.orig 2025-09-01 04:23:46 UTC
++++ src/video-source.cc
+@@ -111,7 +111,6 @@ VideoSource::~VideoSource() {
+
+ VideoSource::~VideoSource() {
+ sws_freeContext(sws_context_);
+- avcodec_close(codec_context_);
+ avcodec_free_context(&codec_context_);
+ avformat_close_input(&format_context_);
+ delete terminal_fb_;
diff --git a/graphics/variety/Makefile b/graphics/variety/Makefile
index 2cbf850c2d4d..1154da326929 100644
--- a/graphics/variety/Makefile
+++ b/graphics/variety/Makefile
@@ -1,5 +1,6 @@
PORTNAME= variety
PORTVERSION= 0.8.13
+PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= nivit@FreeBSD.org
@@ -18,7 +19,7 @@ RUN_DEPENDS= ${PY_PILLOW} \
${PYTHON_PKGNAMEPREFIX}configobj>=5.0.6:devel/py-configobj@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dbus>=1.1.1_1:devel/py-dbus@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}httplib2>=0.9:www/py-httplib2@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}lxml>=3.4.1_1:devel/py-lxml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lxml5>=3.4.1_1:devel/py-lxml5@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pillow>=7.0.0:graphics/py-pillow@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
bash>=4.3.33:shells/bash \
diff --git a/graphics/vhs/Makefile b/graphics/vhs/Makefile
index 00b1e894e36f..029a2ab44aaa 100644
--- a/graphics/vhs/Makefile
+++ b/graphics/vhs/Makefile
@@ -1,7 +1,7 @@
PORTNAME= vhs
DISTVERSIONPREFIX= v
DISTVERSION= 0.10.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= dtxdf@FreeBSD.org
diff --git a/graphics/vigra/Makefile b/graphics/vigra/Makefile
index 116afd520caf..c3a06638ea6b 100644
--- a/graphics/vigra/Makefile
+++ b/graphics/vigra/Makefile
@@ -1,7 +1,7 @@
PORTNAME= vigra
DISTVERSIONPREFIX=v
DISTVERSION= 1.12.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/viu/Makefile b/graphics/viu/Makefile
index 13f5e3a5acb3..e915b272bb3c 100644
--- a/graphics/viu/Makefile
+++ b/graphics/viu/Makefile
@@ -1,7 +1,7 @@
PORTNAME= viu
DISTVERSIONPREFIX= v
DISTVERSION= 1.5.1
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
MAINTAINER= lcook@FreeBSD.org
diff --git a/graphics/vulkan-tools/Makefile b/graphics/vulkan-tools/Makefile
index 97a64bd4de20..e0c0851f2f96 100644
--- a/graphics/vulkan-tools/Makefile
+++ b/graphics/vulkan-tools/Makefile
@@ -1,6 +1,7 @@
PORTNAME= vulkan-tools
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.321
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= atanubiswas484@gmail.com
@@ -19,6 +20,9 @@ GH_PROJECT= Vulkan-Tools
CMAKE_ARGS= -DGLSLANG_INSTALL_DIR:PATH="${LOCALBASE}"
CMAKE_OFF= BUILD_ICD
+PATCH_SITES= https://github.com/KhronosGroup/Vulkan-Tools/commit/
+PATCHFILES+= 105d6c1fede00c3a9055e5a531ebf3d99bac406e.patch:-p1
+
OPTIONS_DEFINE= WAYLAND XCB XLIB
OPTIONS_DEFAULT= WAYLAND XCB XLIB
diff --git a/graphics/vulkan-tools/distinfo b/graphics/vulkan-tools/distinfo
index dc7c7bd4ba44..8cfadb39e7a3 100644
--- a/graphics/vulkan-tools/distinfo
+++ b/graphics/vulkan-tools/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1752190908
+TIMESTAMP = 1754893380
SHA256 (KhronosGroup-Vulkan-Tools-v1.4.321_GH0.tar.gz) = f5f75413d21d1508b746a3d0594961d64c7155ee5f4f28245b9547c1b4697d8d
SIZE (KhronosGroup-Vulkan-Tools-v1.4.321_GH0.tar.gz) = 807369
+SHA256 (105d6c1fede00c3a9055e5a531ebf3d99bac406e.patch) = 16af97557ceb980e5019d04d2909f6539e48ed1f9652fb956429e25381425dc9
+SIZE (105d6c1fede00c3a9055e5a531ebf3d99bac406e.patch) = 3793
diff --git a/graphics/waifu2x-ncnn-vulkan/Makefile b/graphics/waifu2x-ncnn-vulkan/Makefile
index 092c29497efe..0576385f8126 100644
--- a/graphics/waifu2x-ncnn-vulkan/Makefile
+++ b/graphics/waifu2x-ncnn-vulkan/Makefile
@@ -1,5 +1,5 @@
PORTNAME= waifu2x-ncnn-vulkan
-DISTVERSION= 20250504
+DISTVERSION= 20250802
CATEGORIES= graphics
MAINTAINER= jbeich@FreeBSD.org
@@ -10,16 +10,17 @@ LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers
-LIB_DEPENDS= libwebp.so:graphics/webp
+LIB_DEPENDS= libpng.so:graphics/png \
+ libwebp.so:graphics/webp
RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader
-USES= cmake compiler:${OPENMP}c++11-lib
+USES= cmake compiler:${OPENMP}c++11-lib jpeg localbase
USE_GITHUB= yes
GH_ACCOUNT= nihui
-GH_TUPLE= KhronosGroup:glslang:15.1.0-52-ga9ac7d5f:glslang/src/ncnn/glslang \
- Tencent:ncnn:20250503:ncnn/src/ncnn
+GH_TUPLE= KhronosGroup:glslang:15.3.0-20-g8cd77a80:glslang/src/ncnn/glslang \
+ Tencent:ncnn:20250503-87-gb039b87d:ncnn/src/ncnn
CMAKE_SOURCE_PATH= ${WRKSRC}/src
-CMAKE_ON= USE_SYSTEM_WEBP
+CMAKE_ON= ${JPEG PNG WEBP ZLIB:L:S/^/USE_SYSTEM_/}
PLIST_FILES= bin/${PORTNAME}
PORTDATA= *
diff --git a/graphics/waifu2x-ncnn-vulkan/distinfo b/graphics/waifu2x-ncnn-vulkan/distinfo
index eca8a880fe8f..d3dbe86a9f90 100644
--- a/graphics/waifu2x-ncnn-vulkan/distinfo
+++ b/graphics/waifu2x-ncnn-vulkan/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1746349882
-SHA256 (nihui-waifu2x-ncnn-vulkan-20250504_GH0.tar.gz) = ba67da5d6dc104c166c1048671d8b1db57458a1f00ef04ac3ce028f7975ecc04
-SIZE (nihui-waifu2x-ncnn-vulkan-20250504_GH0.tar.gz) = 34076915
-SHA256 (KhronosGroup-glslang-15.1.0-52-ga9ac7d5f_GH0.tar.gz) = 547e54be3867dcaa5fa8c9db38d6a67c45f4ce7a40bda5a7fe148db0f4949708
-SIZE (KhronosGroup-glslang-15.1.0-52-ga9ac7d5f_GH0.tar.gz) = 3952238
-SHA256 (Tencent-ncnn-20250503_GH0.tar.gz) = 3afea4cf092ce97d06305b72c6affbcfb3530f536ae8e81a4f22007d82b729e9
-SIZE (Tencent-ncnn-20250503_GH0.tar.gz) = 13200604
+TIMESTAMP = 1754141853
+SHA256 (nihui-waifu2x-ncnn-vulkan-20250802_GH0.tar.gz) = 49d878f72b000dc5e41fc4bd11740acabe3cad21d3782e99bbc153495702009d
+SIZE (nihui-waifu2x-ncnn-vulkan-20250802_GH0.tar.gz) = 33992946
+SHA256 (KhronosGroup-glslang-15.3.0-20-g8cd77a80_GH0.tar.gz) = ef446e2ad4fa13911ca0823e9377ee7cd8d1b58ceb9404bddfad7ed3ff7d83d1
+SIZE (KhronosGroup-glslang-15.3.0-20-g8cd77a80_GH0.tar.gz) = 4191252
+SHA256 (Tencent-ncnn-20250503-87-gb039b87d_GH0.tar.gz) = 276c66f1c79353caa64e869aad1ee3975d6e0b58a3a0d26faa789ca39a0b7454
+SIZE (Tencent-ncnn-20250503-87-gb039b87d_GH0.tar.gz) = 13172574
diff --git a/graphics/wallhaven-cli/Makefile b/graphics/wallhaven-cli/Makefile
index dd751a8d50bc..d689b50b543d 100644
--- a/graphics/wallhaven-cli/Makefile
+++ b/graphics/wallhaven-cli/Makefile
@@ -1,7 +1,7 @@
PORTNAME= wallhaven-cli
DISTVERSIONPREFIX= v
DISTVERSION= 2.0.5
-PORTREVISION= 5
+PORTREVISION= 7
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/wayland/Makefile b/graphics/wayland/Makefile
index 2d1460e18de4..34789ca25893 100644
--- a/graphics/wayland/Makefile
+++ b/graphics/wayland/Makefile
@@ -1,6 +1,6 @@
PORTNAME= wayland
-DISTVERSION= 1.23.1
-PORTREVISION= 1
+DISTVERSION= 1.24.0
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= https://gitlab.freedesktop.org/${PORTNAME}/${PORTNAME}/-/releases/${DISTVERSION}/downloads/
diff --git a/graphics/wayland/distinfo b/graphics/wayland/distinfo
index 4dbb978a5d51..a7ae4000b61c 100644
--- a/graphics/wayland/distinfo
+++ b/graphics/wayland/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1724514235
-SHA256 (wayland-1.23.1.tar.xz) = 864fb2a8399e2d0ec39d56e9d9b753c093775beadc6022ce81f441929a81e5ed
-SIZE (wayland-1.23.1.tar.xz) = 238212
+TIMESTAMP = 1754383064
+SHA256 (wayland-1.24.0.tar.xz) = 82892487a01ad67b334eca83b54317a7c86a03a89cfadacfef5211f11a5d0536
+SIZE (wayland-1.24.0.tar.xz) = 241764
diff --git a/graphics/wayland/pkg-plist b/graphics/wayland/pkg-plist
index e7c1e9365b4b..69a27f0a140b 100644
--- a/graphics/wayland/pkg-plist
+++ b/graphics/wayland/pkg-plist
@@ -13,16 +13,16 @@ include/wayland-util.h
include/wayland-version.h
lib/libwayland-client.so
lib/libwayland-client.so.0
-lib/libwayland-client.so.0.23.1
+lib/libwayland-client.so.0.24.0
lib/libwayland-cursor.so
lib/libwayland-cursor.so.0
-lib/libwayland-cursor.so.0.23.1
+lib/libwayland-cursor.so.0.24.0
lib/libwayland-egl.so
lib/libwayland-egl.so.1
-lib/libwayland-egl.so.1.23.1
+lib/libwayland-egl.so.1.24.0
lib/libwayland-server.so
lib/libwayland-server.so.0
-lib/libwayland-server.so.0.23.1
+lib/libwayland-server.so.0.24.0
libdata/pkgconfig/wayland-client.pc
libdata/pkgconfig/wayland-cursor.pc
libdata/pkgconfig/wayland-egl-backend.pc
diff --git a/graphics/waylandpp/Makefile b/graphics/waylandpp/Makefile
index 9da095eb838f..ea0860dbc688 100644
--- a/graphics/waylandpp/Makefile
+++ b/graphics/waylandpp/Makefile
@@ -1,5 +1,5 @@
PORTNAME= waylandpp
-DISTVERSION= 1.0.0
+DISTVERSION= 1.0.1
CATEGORIES= graphics
MAINTAINER= eduardo@FreeBSD.org
@@ -12,7 +12,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libpugixml.so:textproc/pugixml \
libwayland-egl.so:graphics/wayland
-USES= cmake compiler:c++11-lang gl localbase:ldflags pkgconfig xorg
+USES= cmake compiler:c++11-lang gl localbase:ldflags pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= NilsBrause
USE_GL= egl
diff --git a/graphics/waylandpp/distinfo b/graphics/waylandpp/distinfo
index 1add68a778d8..6f74bc9d09f4 100644
--- a/graphics/waylandpp/distinfo
+++ b/graphics/waylandpp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1656001374
-SHA256 (NilsBrause-waylandpp-1.0.0_GH0.tar.gz) = b20b45917382c6b87e9380130c9a1a1c563da2f498de5830df12fbce326dd9f5
-SIZE (NilsBrause-waylandpp-1.0.0_GH0.tar.gz) = 203510
+TIMESTAMP = 1752525900
+SHA256 (NilsBrause-waylandpp-1.0.1_GH0.tar.gz) = 49c362fa5db28ab5472968215b88f1fbe3a7b7f57818dde722fd7d38997d940a
+SIZE (NilsBrause-waylandpp-1.0.1_GH0.tar.gz) = 203547
diff --git a/graphics/wxsvg/Makefile b/graphics/wxsvg/Makefile
index 164d0ca66c72..55e0ff7bd0bf 100644
--- a/graphics/wxsvg/Makefile
+++ b/graphics/wxsvg/Makefile
@@ -1,6 +1,5 @@
PORTNAME= wxsvg
-DISTVERSION= 1.5.24
-PORTREVISION= 5
+DISTVERSION= 1.5.25
CATEGORIES= graphics
MASTER_SITES= SF
diff --git a/graphics/wxsvg/distinfo b/graphics/wxsvg/distinfo
index dd9e903ff0ec..ef3f80412087 100644
--- a/graphics/wxsvg/distinfo
+++ b/graphics/wxsvg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1678809795
-SHA256 (wxsvg-1.5.24.tar.bz2) = ae473291f8d0a5feafa06cd270c826c6bead4bceb2b9dd6fcecf2db7c25e2482
-SIZE (wxsvg-1.5.24.tar.bz2) = 500480
+TIMESTAMP = 1756589420
+SHA256 (wxsvg-1.5.25.tar.bz2) = 5bf6ac6831b54bd19aef48cde8fa0572dbb63f30aee9d5323f6be6b3f326534b
+SIZE (wxsvg-1.5.25.tar.bz2) = 515503
diff --git a/graphics/ximaging/Makefile b/graphics/ximaging/Makefile
index 6d1cb5d14c02..e00f8326587f 100644
--- a/graphics/ximaging/Makefile
+++ b/graphics/ximaging/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ximaging
DISTVERSIONPREFIX= src-
-DISTVERSION= 1.8
+DISTVERSION= 1.9
CATEGORIES= graphics
MASTER_SITES= https://fastestcode.org/dl/
@@ -9,6 +9,7 @@ COMMENT= Image Viewer and Browser for Unix/X11
WWW= https://fastestcode.org/ximaging.html
LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libpng16.so:graphics/png \
libtiff.so:graphics/tiff
diff --git a/graphics/ximaging/distinfo b/graphics/ximaging/distinfo
index 701b23cbf2ce..ac09ac33bc28 100644
--- a/graphics/ximaging/distinfo
+++ b/graphics/ximaging/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1723053176
-SHA256 (ximaging-src-1.8.tar.xz) = 2de967c72bd9ff100970fb48bff9bf5200fa36c9a58f17afa9449bbd215bd010
-SIZE (ximaging-src-1.8.tar.xz) = 111180
+TIMESTAMP = 1754232007
+SHA256 (ximaging-src-1.9.tar.xz) = 1bf62c19156e537b037a9e7f7ff25d2f6d824c5d9a57f9ad06ff55640622e43a
+SIZE (ximaging-src-1.9.tar.xz) = 114000
diff --git a/graphics/xmlgraphics-commons/Makefile b/graphics/xmlgraphics-commons/Makefile
index ad963a60ec1b..875e1d17628b 100644
--- a/graphics/xmlgraphics-commons/Makefile
+++ b/graphics/xmlgraphics-commons/Makefile
@@ -1,11 +1,11 @@
PORTNAME= xmlgraphics-commons
-PORTVERSION= 2.6
+DISTVERSION= 2.11
DISTVERSIONSUFFIX= -bin
CATEGORIES= graphics textproc java
MASTER_SITES= APACHE/xmlgraphics/commons/binaries \
https://archive.apache.org/dist/xmlgraphics/commons/binaries/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Several reusable components used by Apache Batik and FOP
WWW= https://xmlgraphics.apache.org/commons/
@@ -17,14 +17,14 @@ USES= java
NO_ARCH= yes
NO_BUILD= yes
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
PLIST_FILES= ${JAVAJARDIR}/${JARFILE_VER} \
${JAVAJARDIR}/${JARFILE}
PORTDOCS= *
JARFILE= ${PORTNAME}.jar
-JARFILE_VER= ${PORTNAME}-${PORTVERSION}.jar
+JARFILE_VER= ${PORTNAME}-${DISTVERSION}.jar
OPTIONS_DEFINE= DOCS
diff --git a/graphics/xmlgraphics-commons/distinfo b/graphics/xmlgraphics-commons/distinfo
index ec1a202d60ac..a93b66cdcac4 100644
--- a/graphics/xmlgraphics-commons/distinfo
+++ b/graphics/xmlgraphics-commons/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1626809136
-SHA256 (xmlgraphics-commons-2.6-bin.tar.gz) = 2f92a74fe6c54685c31fb988eb1dc2134f4e4f567c31d9d4e103f07001300ab3
-SIZE (xmlgraphics-commons-2.6-bin.tar.gz) = 1580005
+TIMESTAMP = 1752609194
+SHA256 (xmlgraphics-commons-2.11-bin.tar.gz) = 690a3301c3f320dd78092622bfc0e7f20c9457f048c37947c3700a4d7dc124f0
+SIZE (xmlgraphics-commons-2.11-bin.tar.gz) = 2009106
diff --git a/graphics/xv/Makefile b/graphics/xv/Makefile
index 511268c9554c..c6de95643734 100644
--- a/graphics/xv/Makefile
+++ b/graphics/xv/Makefile
@@ -1,5 +1,5 @@
PORTNAME= xv
-PORTVERSION= 6.0.2
+PORTVERSION= 6.0.4
DISTVERSIONPREFIX= v
PORTREVISION= 0
CATEGORIES+= graphics
diff --git a/graphics/xv/distinfo b/graphics/xv/distinfo
index b47c11412ed7..f1e36f00cffd 100644
--- a/graphics/xv/distinfo
+++ b/graphics/xv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1729055074
-SHA256 (xv/jasper-software-xv-v6.0.2_GH0.tar.gz) = 3fcbc088a01629719c003bde8655105c0b8557ec6ca1f04b40361fced6c08bae
-SIZE (xv/jasper-software-xv-v6.0.2_GH0.tar.gz) = 5052705
+TIMESTAMP = 1756228329
+SHA256 (xv/jasper-software-xv-v6.0.4_GH0.tar.gz) = 3caef94af3594caf0b5b67eb643367d41b76e40c0a2582e069565801ab2b7076
+SIZE (xv/jasper-software-xv-v6.0.4_GH0.tar.gz) = 5052661
diff --git a/graphics/xviewer/Makefile b/graphics/xviewer/Makefile
index cbba10bcec9a..785de1f518df 100644
--- a/graphics/xviewer/Makefile
+++ b/graphics/xviewer/Makefile
@@ -1,6 +1,6 @@
PORTNAME= xviewer
PORTVERSION= 3.4.8
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics gnome
DIST_SUBDIR= gnome
diff --git a/graphics/yafaray/Makefile b/graphics/yafaray/Makefile
index 070dcbc0c081..f6d0e76a47b8 100644
--- a/graphics/yafaray/Makefile
+++ b/graphics/yafaray/Makefile
@@ -1,7 +1,7 @@
PORTNAME= yafaray
DISTVERSIONPREFIX= v
DISTVERSION= 3.5.1
-PORTREVISION= 29
+PORTREVISION= 30
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/zathura-pdf-mupdf/Makefile b/graphics/zathura-pdf-mupdf/Makefile
index 63a4a241d273..946c464b660d 100644
--- a/graphics/zathura-pdf-mupdf/Makefile
+++ b/graphics/zathura-pdf-mupdf/Makefile
@@ -1,6 +1,6 @@
PORTNAME= zathura-pdf-mupdf
DISTVERSION= 0.4.4
-PORTREVISION= 3
+PORTREVISION= 7
CATEGORIES= graphics
MASTER_SITES= https://pwmt.org/projects/zathura-pdf-mupdf/download/
diff --git a/graphics/zathura-pdf-mupdf/files/patch-meson.build b/graphics/zathura-pdf-mupdf/files/patch-meson.build
new file mode 100644
index 000000000000..52af85b6f040
--- /dev/null
+++ b/graphics/zathura-pdf-mupdf/files/patch-meson.build
@@ -0,0 +1,58 @@
+--- meson.build.orig 2024-08-04 08:34:58 UTC
++++ meson.build
+@@ -22,8 +22,7 @@ cairo = dependency('cairo')
+ girara = dependency('girara-gtk3')
+ glib = dependency('glib-2.0')
+ cairo = dependency('cairo')
+-mupdf = dependency('mupdf', required: false, version: '>=@0@.@1@'.format(mupdf_required_version_major, mupdf_required_version_minor))
+-mupdfthird = cc.find_library('mupdf-third')
++mupdf = cc.find_library('mupdf')
+
+ build_dependencies = [
+ zathura,
+@@ -32,43 +31,19 @@ build_dependencies = [
+ cairo,
+ ]
+
+-if not mupdf.found()
+- # normal build of mupdf
+- mupdf = cc.find_library('mupdf', has_headers: ['mupdf/fitz/version.h', 'mupdf/fitz.h', 'mupdf/pdf.h'], required: true)
+- version_check = '''
+-#include <mupdf/fitz/version.h>
++ build_dependencies += [mupdf]
+
+-#if FZ_VERSION_MAJOR < @0@ || (FZ_VERSION_MAJOR == @0@ && FZ_VERSION_MINOR < @1@)
+-#error "mupdf @0@.@1@ or newer is requried"
+-#endif
+-'''.format(mupdf_required_version_major, mupdf_required_version_minor)
+- if not cc.compiles(version_check, dependencies: [mupdf])
+- error('mupdf @0@.@1@ or newer is required'.format(mupdf_required_version_major, mupdf_required_version_minor))
+- endif
+-
+- build_dependencies += [mupdf, mupdfthird]
+-else
+- # build from Debian's libmupdf-dev
+- build_dependencies += [mupdf, mupdfthird]
+-
+ libjpeg = dependency('libjpeg')
+ libjbig2dec = cc.find_library('jbig2dec')
+ libopenjp2 = dependency('libopenjp2')
+ gumbo = dependency('gumbo')
+- tesseract = dependency('tesseract')
+- leptonica = dependency('lept')
+- mujs = dependency('mujs')
+
+ build_dependencies += [
+ libjpeg,
+ libjbig2dec,
+ libopenjp2,
+- gumbo,
+- tesseract,
+- leptonica,
+- mujs
++ gumbo
+ ]
+-endif
+
+ if get_option('plugindir') == ''
+ plugindir = zathura.get_variable(pkgconfig: 'plugindir')
diff --git a/graphics/zathura/Makefile b/graphics/zathura/Makefile
index 619f39bd68a4..058ced747a95 100644
--- a/graphics/zathura/Makefile
+++ b/graphics/zathura/Makefile
@@ -1,5 +1,5 @@
PORTNAME= zathura
-DISTVERSION= 0.5.11
+DISTVERSION= 0.5.12
CATEGORIES= graphics print
MASTER_SITES= https://pwmt.org/projects/zathura/download/
@@ -13,7 +13,8 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libgirara-gtk3.so:x11-toolkits/girara \
libjson-glib-1.0.so:devel/json-glib
-USES= compiler:c17 gettext gnome meson ninja pkgconfig sqlite tar:xz
+USES= compiler:c17 gettext-runtime gettext-tools gnome meson ninja \
+ pkgconfig sqlite tar:xz
USE_GNOME= glib20 gtk30
MESON_ARGS= -Dlandlock=disabled \
-Dseccomp=disabled \
@@ -26,15 +27,15 @@ OPTIONS_SUB= yes
SYNCTEX_DESC= Direct and reverse synchronisation support with SyncTeX
MANPAGES_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}sphinx>=1.2.2,1:textproc/py-sphinx@${PY_FLAVOR}
-MANPAGES_USES= python
+ ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR}
+MANPAGES_USES= python:build
MANPAGES_MESON_ENABLED= manpages
-SYNCTEX_BUILD_DEPENDS= tex-synctex>=1.19.0:devel/tex-synctex
+SYNCTEX_BUILD_DEPENDS= tex-synctex>0:devel/tex-synctex
SYNCTEX_RUN_DEPENDS= ${SYNCTEX_BUILD_DEPENDS}
SYNCTEX_MESON_ENABLED= synctex
-post-patch:
+post-patch-MANPAGES-on:
@${REINPLACE_CMD} -e 's|^/etc|${PREFIX}/etc|' ${WRKSRC}/doc/man/zathurarc.5.rst
.include <bsd.port.mk>
diff --git a/graphics/zathura/distinfo b/graphics/zathura/distinfo
index 212920c6447d..cad74c287206 100644
--- a/graphics/zathura/distinfo
+++ b/graphics/zathura/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734525804
-SHA256 (zathura-0.5.11.tar.xz) = 54458a9998af0fb8faef2e934a81127bbe4b790c86dcd2c8b8f32365f3d1b53c
-SIZE (zathura-0.5.11.tar.xz) = 167820
+TIMESTAMP = 1751616442
+SHA256 (zathura-0.5.12.tar.xz) = e84870fbf96b766b8224a3f3a6ce7ccfa36efa3b6919cc8a2fbf765ea4dfe476
+SIZE (zathura-0.5.12.tar.xz) = 176368
diff --git a/graphics/zathura/pkg-plist b/graphics/zathura/pkg-plist
index 71d20bc03aad..73742d7712cf 100644
--- a/graphics/zathura/pkg-plist
+++ b/graphics/zathura/pkg-plist
@@ -30,7 +30,6 @@ share/locale/es_CL/LC_MESSAGES/zathura.mo
share/locale/et/LC_MESSAGES/zathura.mo
share/locale/fr/LC_MESSAGES/zathura.mo
share/locale/he/LC_MESSAGES/zathura.mo
-share/locale/hr/LC_MESSAGES/zathura.mo
share/locale/id_ID/LC_MESSAGES/zathura.mo
share/locale/it/LC_MESSAGES/zathura.mo
share/locale/lt/LC_MESSAGES/zathura.mo
diff --git a/graphics/zeno/Makefile b/graphics/zeno/Makefile
index 7f316f0ff645..145231b8a046 100644
--- a/graphics/zeno/Makefile
+++ b/graphics/zeno/Makefile
@@ -1,6 +1,6 @@
PORTNAME= zeno
DISTVERSION= 2024.10.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= freebsd@sysctl.cz
@@ -22,7 +22,7 @@ BUILD_DEPENDS= alembic>0:graphics/alembic \
LIB_DEPENDS= libAlembic.so:graphics/alembic \
libcryptopp.so:security/cryptopp \
- libImath-3_1.so:math/Imath \
+ libImath.so:math/Imath \
libtiff.so:graphics/tiff \
libopencv_highgui.so:graphics/opencv \
libopencv_stitching.so:graphics/opencv \