summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'graphics')
-rw-r--r--graphics/Coin/Makefile5
-rw-r--r--graphics/Coin/distinfo6
-rw-r--r--graphics/Coin/pkg-plist10
-rw-r--r--graphics/GraphicsMagick/Makefile2
-rw-r--r--graphics/ImageMagick6/Makefile2
-rw-r--r--graphics/ImageMagick7/Makefile1
-rw-r--r--graphics/Makefile7
-rw-r--r--graphics/R-cran-cowplot/Makefile17
-rw-r--r--graphics/R-cran-cowplot/distinfo6
-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/R-cran-qpdf/Makefile2
-rw-r--r--graphics/R-cran-qpdf/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/argyllcms/Makefile2
-rw-r--r--graphics/art/Makefile3
-rw-r--r--graphics/art/distinfo6
-rw-r--r--graphics/artem/Makefile2
-rw-r--r--graphics/asciinema-agg/Makefile1
-rw-r--r--graphics/asciio/Makefile2
-rw-r--r--graphics/atril-lite/Makefile1
-rw-r--r--graphics/atril/Makefile2
-rw-r--r--graphics/autopano-sift-c/Makefile2
-rw-r--r--graphics/blender/Makefile2
-rw-r--r--graphics/bsd-plotutils/Makefile2
-rw-r--r--graphics/bsd-plotutils/files/patch-plot_plot.111
-rw-r--r--graphics/bsd-plotutils/files/patch-plot_plot.sh11
-rw-r--r--graphics/camerakit/Makefile2
-rw-r--r--graphics/cegui/Makefile2
-rw-r--r--graphics/cenon/Makefile2
-rw-r--r--graphics/chafa/Makefile3
-rw-r--r--graphics/chafa/distinfo6
-rw-r--r--graphics/chafa/pkg-plist2
-rw-r--r--graphics/cimg/Makefile1
-rw-r--r--graphics/clang-uml/Makefile23
-rw-r--r--graphics/clang-uml/distinfo6
-rw-r--r--graphics/clang-uml/files/patch-src_common_clang__utils.cc10
-rw-r--r--graphics/cloudcompare/Makefile2
-rw-r--r--graphics/colmap/Makefile13
-rw-r--r--graphics/colmap/distinfo6
-rw-r--r--graphics/colmap/files/patch-CMakeLists.txt11
-rw-r--r--graphics/colmap/files/patch-cmake_FindDependencies.cmake19
-rw-r--r--graphics/colmap/pkg-plist27
-rw-r--r--graphics/colord-kde/Makefile18
-rw-r--r--graphics/colord-kde/distinfo3
-rw-r--r--graphics/colord-kde/pkg-descr1
-rw-r--r--graphics/colord-kde/pkg-plist56
-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/cptutils/Makefile1
-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/Makefile2
-rw-r--r--graphics/darktable/Makefile9
-rw-r--r--graphics/darktable/distinfo6
-rw-r--r--graphics/darktable/pkg-plist31
-rw-r--r--graphics/dataplot/Makefile29
-rw-r--r--graphics/dataplot/distinfo6
-rw-r--r--graphics/dataplot/files/patch-Makefile20
-rw-r--r--graphics/dcmtk/Makefile2
-rw-r--r--graphics/delaboratory/Makefile2
-rw-r--r--graphics/derelict-gl3/Makefile2
-rw-r--r--graphics/dia/Makefile2
-rw-r--r--graphics/dify/Makefile2
-rw-r--r--graphics/digikam/Makefile2
-rw-r--r--graphics/djvulibre/Makefile3
-rw-r--r--graphics/djvulibre/distinfo6
-rw-r--r--graphics/djvulibre/pkg-plist2
-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/egl-wayland/Makefile2
-rw-r--r--graphics/egl-wayland/distinfo6
-rw-r--r--graphics/egl-wayland/pkg-plist2
-rw-r--r--graphics/eom/Makefile2
-rw-r--r--graphics/evince/Makefile12
-rw-r--r--graphics/evince/distinfo6
-rw-r--r--graphics/evince/pkg-plist4
-rw-r--r--graphics/evince/pkg-plist-lite4
-rw-r--r--graphics/exifprobe/Makefile2
-rw-r--r--graphics/exrtools/Makefile2
-rw-r--r--graphics/f3d/Makefile20
-rw-r--r--graphics/f3d/distinfo6
-rw-r--r--graphics/f3d/files/patch-plugins_assimp_CMakeLists.txt11
-rw-r--r--graphics/f3d/pkg-plist29
-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/flam3/Makefile2
-rw-r--r--graphics/fortytwo/Makefile2
-rw-r--r--graphics/fractgen/Makefile2
-rw-r--r--graphics/fractgen/distinfo6
-rw-r--r--graphics/frogr/Makefile2
-rw-r--r--graphics/fyre/Makefile2
-rw-r--r--graphics/gdal-grass/Makefile3
-rw-r--r--graphics/gdal-grass/distinfo6
-rw-r--r--graphics/gdal-grass/files/patch-ogrgrass.h25
-rw-r--r--graphics/gdal/Makefile24
-rw-r--r--graphics/gdal/distinfo6
-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/gdk-pixbuf2/pkg-plist1
-rw-r--r--graphics/gegl/Makefile6
-rw-r--r--graphics/gegl/distinfo6
-rw-r--r--graphics/geoserver/Makefile12
-rw-r--r--graphics/geoserver/distinfo6
-rw-r--r--graphics/geoserver/pkg-plist19
-rw-r--r--graphics/gexiv2/Makefile4
-rw-r--r--graphics/gexiv2/distinfo6
-rw-r--r--graphics/gifski/Makefile2
-rw-r--r--graphics/gimp-app/Makefile2
-rw-r--r--graphics/gimp-lqr-plugin/Makefile2
-rw-r--r--graphics/gimp3-app/Makefile25
-rw-r--r--graphics/gimp3-app/distinfo6
-rw-r--r--graphics/gimp3-app/files/patch-meson.build20
-rw-r--r--graphics/gimp3-app/pkg-plist6
-rw-r--r--graphics/glslang/Makefile4
-rw-r--r--graphics/glslang/distinfo6
-rw-r--r--graphics/glslang/pkg-plist2
-rw-r--r--graphics/gmic/Makefile2
-rw-r--r--graphics/goocanvasmm2/Makefile2
-rw-r--r--graphics/gpaint/Makefile1
-rw-r--r--graphics/graphos/Makefile2
-rw-r--r--graphics/gscan2pdf/Makefile2
-rw-r--r--graphics/gstreamer1-plugins-openexr/Makefile3
-rw-r--r--graphics/gwenview/distinfo6
-rw-r--r--graphics/hugin/Makefile2
-rw-r--r--graphics/hyprgraphics/Makefile5
-rw-r--r--graphics/hyprgraphics/distinfo6
-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/iccxml/Makefile2
-rw-r--r--graphics/imageviewer/Makefile2
-rw-r--r--graphics/inkscape/Makefile17
-rw-r--r--graphics/inkscape/distinfo16
-rw-r--r--graphics/inkscape/pkg-plist36
-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/Makefile7
-rw-r--r--graphics/kf5-kimageformats/Makefile2
-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/libetonyek01/Makefile1
-rw-r--r--graphics/libgphoto2/Makefile1
-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/liblqr-1/Makefile2
-rw-r--r--graphics/libmypaint/Makefile2
-rw-r--r--graphics/libopendrive/Makefile14
-rw-r--r--graphics/libopendrive/distinfo6
-rw-r--r--graphics/libopendrive/files/patch-CMakeLists.txt62
-rw-r--r--graphics/libopendrive/pkg-plist5
-rw-r--r--graphics/libopenraw/Makefile2
-rw-r--r--graphics/libpano13/Makefile2
-rw-r--r--graphics/libplacebo/Makefile1
-rw-r--r--graphics/librasterlite2/Makefile2
-rw-r--r--graphics/librsvg2-rust/Makefile2
-rw-r--r--graphics/librsvg2/Makefile38
-rw-r--r--graphics/librsvg2/distinfo6
-rw-r--r--graphics/librsvg2/files/patch-rsvg-css.c14
-rw-r--r--graphics/librsvg2/files/patch-rsvg-private.h10
-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/maim/Makefile2
-rw-r--r--graphics/mapnik/Makefile1
-rw-r--r--graphics/mapserver/Makefile2
-rw-r--r--graphics/menyoki/Makefile2
-rw-r--r--graphics/mesa-devel/Makefile18
-rw-r--r--graphics/mesa-devel/distinfo6
-rw-r--r--graphics/mesa-devel/files/patch-suffix12
-rw-r--r--graphics/mesa-devel/pkg-plist2
-rw-r--r--graphics/mesa-dri/Makefile2
-rw-r--r--graphics/mesa-dri/Makefile.common3
-rw-r--r--graphics/minder/Makefile1
-rw-r--r--graphics/mirtk/Makefile16
-rw-r--r--graphics/mirtk/distinfo6
-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/nip2/Makefile2
-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/Makefile18
-rw-r--r--graphics/ocrs/distinfo36
-rw-r--r--graphics/oculante/Makefile2
-rw-r--r--graphics/ogre3d/Makefile10
-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/opencollada/Makefile2
-rw-r--r--graphics/opencolorio-tools/Makefile2
-rw-r--r--graphics/opencolorio/Makefile2
-rw-r--r--graphics/opencv/Makefile12
-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/openfx-arena/Makefile2
-rw-r--r--graphics/openimageio/Makefile2
-rw-r--r--graphics/openshadinglanguage/Makefile2
-rw-r--r--graphics/openslide/Makefile2
-rw-r--r--graphics/openxr/Makefile2
-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/Makefile7
-rw-r--r--graphics/oxipng/Makefile2
-rw-r--r--graphics/oyranos/Makefile2
-rw-r--r--graphics/p5-Cairo/Makefile2
-rw-r--r--graphics/p5-Cairo/files/patch-Makefile.PL14
-rw-r--r--graphics/p5-Chart-Clicker/Makefile2
-rw-r--r--graphics/p5-GD-Barcode/Makefile3
-rw-r--r--graphics/p5-GD-Barcode/distinfo6
-rw-r--r--graphics/p5-Geo-GDAL-FFI/Makefile3
-rw-r--r--graphics/p5-Geo-GDAL-FFI/distinfo6
-rw-r--r--graphics/p5-Gimp/Makefile10
-rw-r--r--graphics/p5-Graphics-Primitive-Driver-Cairo/Makefile1
-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/pagedgeometry/Makefile (renamed from graphics/rigsofrods-pagedgeometry/Makefile)11
-rw-r--r--graphics/pagedgeometry/distinfo3
-rw-r--r--graphics/pagedgeometry/pkg-descr (renamed from graphics/rigsofrods-pagedgeometry/pkg-descr)0
-rw-r--r--graphics/pagedgeometry/pkg-plist (renamed from graphics/rigsofrods-pagedgeometry/pkg-plist)4
-rw-r--r--graphics/pastel/Makefile110
-rw-r--r--graphics/pastel/Makefile.crates122
-rw-r--r--graphics/pastel/distinfo368
-rw-r--r--graphics/pcl-pointclouds/Makefile2
-rw-r--r--graphics/pecl-geospatial/Makefile2
-rw-r--r--graphics/pecl-geospatial/distinfo6
-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/php85-exif/Makefile7
-rw-r--r--graphics/php85-gd/Makefile7
-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/Makefile1
-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-cairosvg/Makefile4
-rw-r--r--graphics/py-cairosvg/distinfo6
-rw-r--r--graphics/py-f3d/Makefile2
-rw-r--r--graphics/py-f3d/distinfo6
-rw-r--r--graphics/py-fiona/Makefile2
-rw-r--r--graphics/py-fiona/files/patch-pyproject.toml4
-rw-r--r--graphics/py-fury/Makefile1
-rw-r--r--graphics/py-gdal/Makefile3
-rw-r--r--graphics/py-gdal/distinfo6
-rw-r--r--graphics/py-gdal/files/patch-pyproject.toml13
-rw-r--r--graphics/py-geosnap/Makefile2
-rw-r--r--graphics/py-geosnap/distinfo6
-rw-r--r--graphics/py-mapclassify/Makefile2
-rw-r--r--graphics/py-mapclassify/distinfo6
-rw-r--r--graphics/py-mayavi/Makefile4
-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-pillow/Makefile2
-rw-r--r--graphics/py-pillow/distinfo6
-rw-r--r--graphics/py-pycollada/Makefile4
-rw-r--r--graphics/py-pydot/Makefile4
-rw-r--r--graphics/py-pydot/distinfo6
-rw-r--r--graphics/py-pydot/files/patch-pyproject.toml14
-rw-r--r--graphics/py-pyglet1/Makefile3
-rw-r--r--graphics/py-pyglet1/distinfo6
-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-rasterio/Makefile4
-rw-r--r--graphics/py-rasterio/files/patch-pyproject.toml2
-rw-r--r--graphics/py-simplejpeg/Makefile1
-rw-r--r--graphics/py-simplejpeg/files/patch-pyproject.toml5
-rw-r--r--graphics/py-termtosvg/Makefile4
-rw-r--r--graphics/py-tifffile/Makefile3
-rw-r--r--graphics/py-willow/Makefile10
-rw-r--r--graphics/py-willow/distinfo6
-rw-r--r--graphics/py-willow/files/patch-pyproject.toml22
-rw-r--r--graphics/qb3/Makefile1
-rw-r--r--graphics/qb3/files/patch-i38613
-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-wayland/Makefile1
-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/rawstudio/Makefile2
-rw-r--r--graphics/rawstudio/files/patch-libxml2-2.12.720
-rw-r--r--graphics/realesrgan-ncnn-vulkan/Makefile2
-rw-r--r--graphics/resvg-capi/Makefile2
-rw-r--r--graphics/resvg/Makefile2
-rw-r--r--graphics/rigsofrods-pagedgeometry/distinfo3
-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-mini_magick/Makefile5
-rw-r--r--graphics/rubygem-mini_magick/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/Makefile5
-rw-r--r--graphics/sane-airscan/distinfo6
-rw-r--r--graphics/sane-backends/Makefile1
-rw-r--r--graphics/satty/Makefile2
-rw-r--r--graphics/sdl3_ttf/Makefile11
-rw-r--r--graphics/shaderc/Makefile7
-rw-r--r--graphics/shaderc/distinfo10
-rw-r--r--graphics/sharpconstruct/Makefile2
-rw-r--r--graphics/shotwell/Makefile1
-rw-r--r--graphics/simpleviewer/Makefile2
-rw-r--r--graphics/skanlite/distinfo6
-rw-r--r--graphics/skanpage/distinfo6
-rw-r--r--graphics/spirv-tools/Makefile6
-rw-r--r--graphics/spirv-tools/distinfo10
-rw-r--r--graphics/svgbob/Makefile2
-rw-r--r--graphics/swappy/Makefile4
-rw-r--r--graphics/swfmill/Makefile2
-rw-r--r--graphics/synfig/Makefile2
-rw-r--r--graphics/synfigstudio/Makefile2
-rw-r--r--graphics/tinyows/Makefile1
-rw-r--r--graphics/vapoursynth-waifu2x-ncnn-vulkan/Makefile2
-rw-r--r--graphics/variety/Makefile3
-rw-r--r--graphics/vhs/Makefile1
-rw-r--r--graphics/vigra/Makefile2
-rw-r--r--graphics/vips/Makefile2
-rw-r--r--graphics/vips/distinfo6
-rw-r--r--graphics/vips/pkg-plist4
-rw-r--r--graphics/viu/Makefile2
-rw-r--r--graphics/vulkan-caps-viewer/Makefile18
-rw-r--r--graphics/vulkan-caps-viewer/distinfo8
-rw-r--r--graphics/vulkan-extension-layer/Makefile9
-rw-r--r--graphics/vulkan-extension-layer/distinfo6
-rw-r--r--graphics/vulkan-headers/Makefile9
-rw-r--r--graphics/vulkan-headers/distinfo6
-rw-r--r--graphics/vulkan-loader/Makefile11
-rw-r--r--graphics/vulkan-loader/distinfo6
-rw-r--r--graphics/vulkan-tools/Makefile15
-rw-r--r--graphics/vulkan-tools/distinfo8
-rw-r--r--graphics/vulkan-utility-libraries/Makefile4
-rw-r--r--graphics/vulkan-utility-libraries/distinfo6
-rw-r--r--graphics/vulkan-utility-libraries/pkg-descr7
-rw-r--r--graphics/vulkan-validation-layers/Makefile18
-rw-r--r--graphics/vulkan-validation-layers/distinfo10
-rw-r--r--graphics/vulkan-validation-layers/pkg-plist2
-rw-r--r--graphics/waifu2x-ncnn-vulkan/Makefile13
-rw-r--r--graphics/waifu2x-ncnn-vulkan/distinfo14
-rw-r--r--graphics/wallhaven-cli/Makefile4
-rw-r--r--graphics/wayland/Makefile3
-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/webp/Makefile2
-rw-r--r--graphics/webp/distinfo6
-rw-r--r--graphics/webp/pkg-plist10
-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/xournalpp/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/zeno/Makefile4
482 files changed, 4046 insertions, 1583 deletions
diff --git a/graphics/Coin/Makefile b/graphics/Coin/Makefile
index 67d2e5e64009..1d031a7d7e74 100644
--- a/graphics/Coin/Makefile
+++ b/graphics/Coin/Makefile
@@ -1,7 +1,6 @@
PORTNAME= Coin
-PORTVERSION= 4.0.3
+PORTVERSION= 4.0.5
DISTVERSIONPREFIX= v
-PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= cmt@FreeBSD.org
@@ -29,6 +28,8 @@ CMAKE_ARGS+= -DCOIN_BUILD_SHARED_LIBS="ON" \
-DUSE_EXTERNAL_EXPAT="ON"
USE_LDCONFIG= yes
+PLIST_SUB= VERSION=${PORTVERSION}
+
pre-configure:
@${REINPLACE_CMD} -e 's|DATA install-data-local|DATA|g' \
${WRKSRC}/Makefile.in
diff --git a/graphics/Coin/distinfo b/graphics/Coin/distinfo
index 0da36d334756..7cc7a285b266 100644
--- a/graphics/Coin/distinfo
+++ b/graphics/Coin/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1725708650
-SHA256 (coin3d-coin-v4.0.3_GH0.tar.gz) = 086ecf84479e4bc59397568638488c2e6c08d8aa811779bab93cda5509f79d59
-SIZE (coin3d-coin-v4.0.3_GH0.tar.gz) = 6943086
+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 8c1ecaaa1ad4..28958fb59016 100644
--- a/graphics/Coin/pkg-plist
+++ b/graphics/Coin/pkg-plist
@@ -875,13 +875,13 @@ include/Inventor/tools/SbPimplPtr.h
include/SoDebug.h
include/SoWinEnterScope.h
include/SoWinLeaveScope.h
-lib/cmake/Coin-4.0.3/coin-config-version.cmake
-lib/cmake/Coin-4.0.3/coin-config.cmake
-lib/cmake/Coin-4.0.3/coin-export-release.cmake
-lib/cmake/Coin-4.0.3/coin-export.cmake
+lib/cmake/Coin-%%VERSION%%/coin-config-version.cmake
+lib/cmake/Coin-%%VERSION%%/coin-config.cmake
+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.3
+lib/libCoin.so.80.0.5
libdata/pkgconfig/Coin.pc
%%DATADIR%%/conf/coin-default.cfg
%%DATADIR%%/draggerDefaults/centerballDragger.iv
diff --git a/graphics/GraphicsMagick/Makefile b/graphics/GraphicsMagick/Makefile
index ee2407d46bf5..54385849a1dc 100644
--- a/graphics/GraphicsMagick/Makefile
+++ b/graphics/GraphicsMagick/Makefile
@@ -1,6 +1,6 @@
PORTNAME= GraphicsMagick
PORTVERSION= 1.3.43
-PORTREVISION= 2
+PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= graphics
MASTER_SITES= SF
diff --git a/graphics/ImageMagick6/Makefile b/graphics/ImageMagick6/Makefile
index 2009fad848b8..3fb6a33cef5d 100644
--- a/graphics/ImageMagick6/Makefile
+++ b/graphics/ImageMagick6/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ImageMagick
DISTVERSION= 6.9.13-23
-PORTREVISION= 1
+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 57852920ad2c..cb75395fb18f 100644
--- a/graphics/ImageMagick7/Makefile
+++ b/graphics/ImageMagick7/Makefile
@@ -1,5 +1,6 @@
PORTNAME= ImageMagick
DISTVERSION= 7.1.1-45
+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 8c13229d8fc6..8b9be1162c54 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -114,10 +114,10 @@
SUBDIR += colmap
SUBDIR += colord
SUBDIR += colord-gtk
+ SUBDIR += colord-kde
SUBDIR += compupic
SUBDIR += converseen
SUBDIR += corrupter
- SUBDIR += cosmoplayer
SUBDIR += cptutils
SUBDIR += crw
SUBDIR += ctl
@@ -347,6 +347,7 @@
SUBDIR += hs-tart
SUBDIR += hugin
SUBDIR += hyprgraphics
+ SUBDIR += hyprland-protocols
SUBDIR += icat
SUBDIR += icc-profiles-adobe-cs4
SUBDIR += icc-profiles-basiccolor
@@ -787,6 +788,7 @@
SUBDIR += p5-VCG
SUBDIR += p5-Visio
SUBDIR += p5-feedgnuplot
+ SUBDIR += pagedgeometry
SUBDIR += panoglview
SUBDIR += panomatic
SUBDIR += partio
@@ -829,6 +831,8 @@
SUBDIR += php83-gd
SUBDIR += php84-exif
SUBDIR += php84-gd
+ SUBDIR += php85-exif
+ SUBDIR += php85-gd
SUBDIR += phplot
SUBDIR += picpuz
SUBDIR += piddle
@@ -1092,7 +1096,6 @@
SUBDIR += resvg-capi
SUBDIR += rgbpaint
SUBDIR += rigsofrods-caelum
- SUBDIR += rigsofrods-pagedgeometry
SUBDIR += ristretto
SUBDIR += rlottie
SUBDIR += ruby-gd
diff --git a/graphics/R-cran-cowplot/Makefile b/graphics/R-cran-cowplot/Makefile
index 79e5015b8a31..455093425141 100644
--- a/graphics/R-cran-cowplot/Makefile
+++ b/graphics/R-cran-cowplot/Makefile
@@ -1,5 +1,5 @@
PORTNAME= cowplot
-DISTVERSION= 1.1.3
+DISTVERSION= 1.2.0
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${DISTVERSION}
@@ -9,15 +9,20 @@ WWW= https://wilkelab.org/cowplot/
LICENSE= GPLv2
-CRAN_DEPENDS= R-cran-ggplot2>=3.4.0:graphics/R-cran-ggplot2 \
+RUN_DEPENDS= R-cran-ggplot2>=3.5.2:graphics/R-cran-ggplot2 \
R-cran-gtable>0:math/R-cran-gtable \
R-cran-rlang>0:devel/R-cran-rlang \
R-cran-scales>0:graphics/R-cran-scales
-BUILD_DEPENDS= ${CRAN_DEPENDS}
-RUN_DEPENDS= ${CRAN_DEPENDS}
-TEST_DEPENDS= R-cran-dbplyr>0:databases/R-cran-dbplyr \
+TEST_DEPENDS= R-cran-covr>0:devel/R-cran-covr \
+ R-cran-dplyr>0:math/R-cran-dplyr \
+ R-cran-forcats>0:math/R-cran-forcats \
+ R-cran-knitr>0:print/R-cran-knitr \
+ R-cran-magick>0:graphics/R-cran-magick \
R-cran-maps>0:math/R-cran-maps \
- R-cran-testthat>=1.0.0:devel/R-cran-testthat
+ R-cran-markdown>0:textproc/R-cran-markdown \
+ R-cran-ragg>0:graphics/R-cran-ragg \
+ R-cran-testthat>=1.0.0:devel/R-cran-testthat \
+ R-cran-tidyr>0:devel/R-cran-tidyr
USES= cran:auto-plist
diff --git a/graphics/R-cran-cowplot/distinfo b/graphics/R-cran-cowplot/distinfo
index a342717b4385..5c9204b0f3f1 100644
--- a/graphics/R-cran-cowplot/distinfo
+++ b/graphics/R-cran-cowplot/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1706875292
-SHA256 (cowplot_1.1.3.tar.gz) = 8756971af5c50381cf00ec7ed622fd5cf3d70f534bdfa3ebadd157b5aef5b273
-SIZE (cowplot_1.1.3.tar.gz) = 1350286
+TIMESTAMP = 1751929808
+SHA256 (cowplot_1.2.0.tar.gz) = 431d582a4fb68f005f45e0d963c19daad826289374b429b05fe168ef6f231aa1
+SIZE (cowplot_1.2.0.tar.gz) = 1638386
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/R-cran-qpdf/Makefile b/graphics/R-cran-qpdf/Makefile
index 0711380975be..0842d7bfe540 100644
--- a/graphics/R-cran-qpdf/Makefile
+++ b/graphics/R-cran-qpdf/Makefile
@@ -1,5 +1,5 @@
PORTNAME= qpdf
-DISTVERSION= 1.3.5
+DISTVERSION= 1.4.1
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${DISTVERSION}
diff --git a/graphics/R-cran-qpdf/distinfo b/graphics/R-cran-qpdf/distinfo
index 23ac77f9ec62..edc06723951a 100644
--- a/graphics/R-cran-qpdf/distinfo
+++ b/graphics/R-cran-qpdf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742753479
-SHA256 (qpdf_1.3.5.tar.gz) = 709a97451a31fc6f94fe6ce6ea337ebd76335c62a000a0431c9c1994e50dc47a
-SIZE (qpdf_1.3.5.tar.gz) = 322573
+TIMESTAMP = 1751518792
+SHA256 (qpdf_1.4.1.tar.gz) = 3ab2c6f099b7f17e383ccb0c4fdd8c27a657ba629967d2edb3c768fc3dc315c6
+SIZE (qpdf_1.4.1.tar.gz) = 556946
diff --git a/graphics/aeskulap/Makefile b/graphics/aeskulap/Makefile
index 2189bcd21d28..502dda98028f 100644
--- a/graphics/aeskulap/Makefile
+++ b/graphics/aeskulap/Makefile
@@ -1,13 +1,13 @@
PORTNAME= aeskulap
PORTVERSION= 0.2.2.20190120
-PORTREVISION= 4
+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/argyllcms/Makefile b/graphics/argyllcms/Makefile
index 62103aa894cf..e32d603737e0 100644
--- a/graphics/argyllcms/Makefile
+++ b/graphics/argyllcms/Makefile
@@ -5,7 +5,7 @@ CATEGORIES= graphics
MASTER_SITES= https://www.argyllcms.com/
DISTNAME= Argyll_V${PORTVERSION}_src
-MAINTAINER= kwm@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= ICC compatible color management system
WWW= https://www.argyllcms.com/
diff --git a/graphics/art/Makefile b/graphics/art/Makefile
index 90cf66c3c20c..f5fdf56115ec 100644
--- a/graphics/art/Makefile
+++ b/graphics/art/Makefile
@@ -1,5 +1,6 @@
PORTNAME= art
-DISTVERSION= 1.25.5
+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/art/distinfo b/graphics/art/distinfo
index c1826865e9c2..091bb873a928 100644
--- a/graphics/art/distinfo
+++ b/graphics/art/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748330075
-SHA256 (ART-1.25.5.tar.xz) = c4f8eb3fb7d363c6efef6a63997710e63fcb5997f2811c2fecae00e443529a1e
-SIZE (ART-1.25.5.tar.xz) = 19598872
+TIMESTAMP = 1752186852
+SHA256 (ART-1.25.6.tar.xz) = b3f6859d0944d3c038ced54367a787af0b6051df0f28e9bfa1ecebb9c5183a2d
+SIZE (ART-1.25.6.tar.xz) = 19616232
diff --git a/graphics/artem/Makefile b/graphics/artem/Makefile
index c109f5793b5d..08e13aef8946 100644
--- a/graphics/artem/Makefile
+++ b/graphics/artem/Makefile
@@ -1,7 +1,7 @@
PORTNAME= artem
DISTVERSIONPREFIX= v
DISTVERSION= 3.0.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= adamw@FreeBSD.org
diff --git a/graphics/asciinema-agg/Makefile b/graphics/asciinema-agg/Makefile
index bc946dfcf006..b2f1508a487b 100644
--- a/graphics/asciinema-agg/Makefile
+++ b/graphics/asciinema-agg/Makefile
@@ -1,6 +1,7 @@
PORTNAME= agg
DISTVERSIONPREFIX= v
DISTVERSION= 1.5.0
+PORTREVISION= 1
CATEGORIES= graphics
PKGNAMEPREFIX= asciinema-
diff --git a/graphics/asciio/Makefile b/graphics/asciio/Makefile
index 0ccd78e61b9d..d54630072209 100644
--- a/graphics/asciio/Makefile
+++ b/graphics/asciio/Makefile
@@ -1,6 +1,6 @@
PORTNAME= asciio
PORTVERSION= 1.9.02
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= graphics
MASTER_SITES= https://cpan.metacpan.org/authors/id/N/NK/NKH/ \
diff --git a/graphics/atril-lite/Makefile b/graphics/atril-lite/Makefile
index c183a7a8c6d1..5e8090849b5f 100644
--- a/graphics/atril-lite/Makefile
+++ b/graphics/atril-lite/Makefile
@@ -1,3 +1,4 @@
+PORTREVISION= 1
PKGNAMESUFFIX= -lite
OPTIONS_EXCLUDE= CAJA DBUS
diff --git a/graphics/atril/Makefile b/graphics/atril/Makefile
index 6c5f987bf7c5..30ac770dc533 100644
--- a/graphics/atril/Makefile
+++ b/graphics/atril/Makefile
@@ -3,7 +3,7 @@
PORTNAME= atril
PORTVERSION= 1.28.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics print mate
MASTER_SITES= MATE
DIST_SUBDIR= mate
diff --git a/graphics/autopano-sift-c/Makefile b/graphics/autopano-sift-c/Makefile
index c0f583323243..c9367963e4a0 100644
--- a/graphics/autopano-sift-c/Makefile
+++ b/graphics/autopano-sift-c/Makefile
@@ -1,6 +1,6 @@
PORTNAME= autopano-sift-C
PORTVERSION= 2.5.1
-PORTREVISION= 11
+PORTREVISION= 12
CATEGORIES= graphics
MASTER_SITES= SF/hugin/${PORTNAME}/${PORTNAME}-${PORTVERSION}
diff --git a/graphics/blender/Makefile b/graphics/blender/Makefile
index 2dc9db672f3b..d6e4b775ff80 100644
--- a/graphics/blender/Makefile
+++ b/graphics/blender/Makefile
@@ -1,6 +1,6 @@
PORTNAME= blender
DISTVERSION= 4.2.0
-PORTREVISION= 10
+PORTREVISION= 12
CATEGORIES= graphics multimedia
MASTER_SITES= http://download.blender.org/source/ \
http://mirror.cs.umn.edu/blender.org/source/ \
diff --git a/graphics/bsd-plotutils/Makefile b/graphics/bsd-plotutils/Makefile
index 840dda35df1e..920e97f4fbca 100644
--- a/graphics/bsd-plotutils/Makefile
+++ b/graphics/bsd-plotutils/Makefile
@@ -1,6 +1,6 @@
PORTNAME= bsd-plotutils
DISTVERSION= 1.4.2
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= toranktto@gmail.com
diff --git a/graphics/bsd-plotutils/files/patch-plot_plot.1 b/graphics/bsd-plotutils/files/patch-plot_plot.1
new file mode 100644
index 000000000000..d1fa77263b52
--- /dev/null
+++ b/graphics/bsd-plotutils/files/patch-plot_plot.1
@@ -0,0 +1,11 @@
+--- plot/plot.1.orig 2019-02-09 03:42:21 UTC
++++ plot/plot.1
+@@ -13,7 +13,7 @@
+ .Sh SYNOPSIS
+ .Nm plot
+ .Oo
+-.Op Fl T Ar terminal
++.Op Fl T Ns Ar terminal
+ .Oo
+ .Ar
+ .Sh DESCRIPTION
diff --git a/graphics/bsd-plotutils/files/patch-plot_plot.sh b/graphics/bsd-plotutils/files/patch-plot_plot.sh
new file mode 100644
index 000000000000..9c1907843a6b
--- /dev/null
+++ b/graphics/bsd-plotutils/files/patch-plot_plot.sh
@@ -0,0 +1,11 @@
+--- plot/plot.sh.orig 2019-02-09 03:42:21 UTC
++++ plot/plot.sh
+@@ -3,6 +3,8 @@ case $1 in
+ PATH=/bin:/usr/bin:/usr/local/bin:/usr/local/libexec:/usr/libexec
+
+ case $1 in
++-T) t=-T$2
++ shift; shift;;
+ -T*) t=$1
+ shift ;;
+ *) t=-T$TERM
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 830903ee5e15..4a438e16234d 100644
--- a/graphics/cegui/Makefile
+++ b/graphics/cegui/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cegui
PORTVERSION= 0.8.7
-PORTREVISION= 20
+PORTREVISION= 21
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 dff86d2db09f..73358ab85dec 100644
--- a/graphics/chafa/Makefile
+++ b/graphics/chafa/Makefile
@@ -1,6 +1,5 @@
PORTNAME= chafa
-DISTVERSION= 1.16.1
-PORTREVISION= 1
+DISTVERSION= 1.16.2
CATEGORIES= graphics
MASTER_SITES= https://hpjansson.org/chafa/releases/ \
https://github.com/hpjansson/chafa/releases/download/${PORTVERSION}/
diff --git a/graphics/chafa/distinfo b/graphics/chafa/distinfo
index 8e8d77f6b774..8235dc838a20 100644
--- a/graphics/chafa/distinfo
+++ b/graphics/chafa/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747805132
-SHA256 (chafa-1.16.1.tar.xz) = 4a25debb71530baf0a748b15cfee6b8da6b513f696d9484987eaf410ecce1129
-SIZE (chafa-1.16.1.tar.xz) = 1035536
+TIMESTAMP = 1751704312
+SHA256 (chafa-1.16.2.tar.xz) = 657898dd9a89b45130a44c1efe1fc03e2c7bd00c2f543ed7111613cb9e7861df
+SIZE (chafa-1.16.2.tar.xz) = 1039788
diff --git a/graphics/chafa/pkg-plist b/graphics/chafa/pkg-plist
index 65ebadedd052..64d779903b20 100644
--- a/graphics/chafa/pkg-plist
+++ b/graphics/chafa/pkg-plist
@@ -17,7 +17,7 @@ lib/chafa/include/chafaconfig.h
lib/libchafa.a
lib/libchafa.so
lib/libchafa.so.0
-lib/libchafa.so.0.10.1
+lib/libchafa.so.0.10.2
libdata/pkgconfig/chafa.pc
%%PORTDOCS%%%%DOCSDIR%%/html/chafa/api-index-deprecated.html
%%PORTDOCS%%%%DOCSDIR%%/html/chafa/api-index-full.html
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/clang-uml/Makefile b/graphics/clang-uml/Makefile
index 783c7d7f6f16..9175e72d4030 100644
--- a/graphics/clang-uml/Makefile
+++ b/graphics/clang-uml/Makefile
@@ -1,5 +1,5 @@
PORTNAME= clang-uml
-PORTVERSION= 0.6.1
+PORTVERSION= 0.6.2
CATEGORIES= graphics lang textproc
MAINTAINER= arrowd@FreeBSD.org
@@ -11,12 +11,29 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md
LIB_DEPENDS= libyaml-cpp.so:devel/yaml-cpp
-USES= cmake compiler:c++17-lang llvm:noexport,lib localbase:ldflags
+USES= cmake:testing compiler:c++17-lang llvm:noexport,lib \
+ localbase:ldflags
-CMAKE_ARGS+= -DCLANG_UML_ENABLE_BACKTRACE=OFF \
+CMAKE_ARGS= -DCLANG_UML_ENABLE_BACKTRACE=OFF \
-DBUILD_TESTS=OFF
+CMAKE_TESTING_ON=BUILD_TESTS
USE_GITHUB= yes
GH_ACCOUNT= bkryza
+BUILD_WRKSRC_TESTS= ${BUILD_WRKSRC}/tests
+TESTING_UNSAFE= some tests fail
+
+pre-test:
+ @if [ "${BUILD_WRKSRC_TESTS:H:H}" != "${WRKDIR}" ]; then \
+ ${ECHO_CMD} This software expects tests data to be located at \
+ ../../tests relative to ;\
+ ${ECHO_CMD} ${BUILD_WRKSRC_TESTS} ;\
+ ${ECHO_CMD} but this path is outside of ;\
+ ${ECHO_CMD} ${WRKDIR}; \
+ ${FALSE}; \
+ fi
+ ${RM} ${WRKDIR}/tests
+ ${LN} -s ${WRKSRC}/tests ${WRKDIR}/tests
+
.include <bsd.port.mk>
diff --git a/graphics/clang-uml/distinfo b/graphics/clang-uml/distinfo
index 8eac317b1ec0..ef2a3bdc27fb 100644
--- a/graphics/clang-uml/distinfo
+++ b/graphics/clang-uml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741688300
-SHA256 (bkryza-clang-uml-0.6.1_GH0.tar.gz) = a64c3cae87a282be207e4c5faf47534dca21b06cb6f463bb7b04de979dccf17e
-SIZE (bkryza-clang-uml-0.6.1_GH0.tar.gz) = 3059231
+TIMESTAMP = 1751468522
+SHA256 (bkryza-clang-uml-0.6.2_GH0.tar.gz) = 004540c328699f81abebceb33a4661b548ab3a5f74096da2c025b9971b2b17ff
+SIZE (bkryza-clang-uml-0.6.2_GH0.tar.gz) = 3100641
diff --git a/graphics/clang-uml/files/patch-src_common_clang__utils.cc b/graphics/clang-uml/files/patch-src_common_clang__utils.cc
index 81f081831420..193f4ccfec7f 100644
--- a/graphics/clang-uml/files/patch-src_common_clang__utils.cc
+++ b/graphics/clang-uml/files/patch-src_common_clang__utils.cc
@@ -1,11 +1,11 @@
---- src/common/clang_utils.cc.orig 2025-01-20 07:36:53 UTC
+--- src/common/clang_utils.cc.orig 2025-06-29 11:26:26 UTC
+++ src/common/clang_utils.cc
-@@ -1019,7 +1019,7 @@ clang::RawComment *get_raw_comment(const clang::Source
+@@ -1023,7 +1023,7 @@ clang::RawComment *get_raw_comment(const clang::Source
+ const auto *comments = context.Comments.getCommentsInFile(file_id);
- if (!context.Comments.empty() &&
- context.Comments.getCommentsInFile(file_id) != nullptr) {
+ if (has_comments && comments != nullptr) {
- for (const auto [offset, raw_comment] :
+ for (const auto & [offset, raw_comment] :
*context.Comments.getCommentsInFile(sm.getFileID(expr_begin))) {
- const auto comment_end_line = sm.getSpellingLineNumber(
+ const auto comment_end_line = sm.getExpansionLineNumber(
raw_comment->getSourceRange().getEnd());
diff --git a/graphics/cloudcompare/Makefile b/graphics/cloudcompare/Makefile
index c34a5bcce56a..70c41f6cd608 100644
--- a/graphics/cloudcompare/Makefile
+++ b/graphics/cloudcompare/Makefile
@@ -1,7 +1,7 @@
PORTNAME= cloudcompare
DISTVERSIONPREFIX= v
DISTVERSION= 2.12.4
-PORTREVISION= 16
+PORTREVISION= 17
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/colmap/Makefile b/graphics/colmap/Makefile
index dbb6cfd7dfe8..bf5d67418a56 100644
--- a/graphics/colmap/Makefile
+++ b/graphics/colmap/Makefile
@@ -1,6 +1,5 @@
PORTNAME= colmap
-DISTVERSION= 3.11.1
-PORTREVISION= 2
+DISTVERSION= 3.12.4
CATEGORIES= graphics
MAINTAINER= fuz@FreeBSD.org
@@ -18,22 +17,22 @@ LICENSE_FILE_SIFTGPU= ${WRKSRC}/src/thirdparty/SiftGPU/LICENSE
LICENSE_PERMS_SIFTGPU= dist-mirror pkg-mirror auto-accept
LIB_DEPENDS= libPoseLib.so:graphics/poselib \
- libboost_filesystem.so:devel/boost-libs \
+ libboost_program_options.so:devel/boost-libs \
libceres.so:math/ceres-solver \
- libflann.so:math/flann \
+ libcurl.so:ftp/curl \
+ libfaiss.so:math/faiss \
libfreeimage.so:graphics/freeimage \
libglog.so:devel/glog \
- liblz4.so:archivers/liblz4 \
libmetis.so:math/metis
TEST_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gtest.pc:devel/googletest
USES= cmake:testing compiler:${OPENMP}c++11-lib desktop-file-utils eigen:3 gl \
- localbase python:env qt:5 sqlite
+ localbase python:env qt:5 sqlite ssl
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_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 65f2c01eccf4..5b5eeb3ba7a4 100644
--- a/graphics/colmap/distinfo
+++ b/graphics/colmap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1733745417
-SHA256 (colmap-colmap-3.11.1_GH0.tar.gz) = d2c20729ab5b1198e17725b720128f304f4cfae5c0a8c20d75c0e9c5bdee5860
-SIZE (colmap-colmap-3.11.1_GH0.tar.gz) = 3513052
+TIMESTAMP = 1754391753
+SHA256 (colmap-colmap-3.12.4_GH0.tar.gz) = 320cb5a411cd0aa713adc05e208ec34067638e776260efd8098271342d408997
+SIZE (colmap-colmap-3.12.4_GH0.tar.gz) = 3580471
diff --git a/graphics/colmap/files/patch-CMakeLists.txt b/graphics/colmap/files/patch-CMakeLists.txt
index d1c928a91f9c..022d12ffe97d 100644
--- a/graphics/colmap/files/patch-CMakeLists.txt
+++ b/graphics/colmap/files/patch-CMakeLists.txt
@@ -1,14 +1,11 @@
---- CMakeLists.txt.orig 2024-10-16 10:58:58 UTC
+--- CMakeLists.txt.orig 2025-07-04 10:48:20 UTC
+++ CMakeLists.txt
-@@ -125,9 +125,10 @@ endif()
+@@ -132,6 +132,8 @@ endif()
unset(CLANG_TIDY_EXE)
endif()
-+add_definitions("-DGLOG_USE_GLOG_EXPORT")
++add_compile_definitions(GLOG_USE_GLOG_EXPORT)
+
if(IS_MSVC)
# Some fixes for the Glog library.
-- add_definitions("-DGLOG_USE_GLOG_EXPORT")
- add_definitions("-DGLOG_NO_ABBREVIATED_SEVERITIES")
- add_definitions("-DGL_GLEXT_PROTOTYPES")
- add_definitions("-DNOMINMAX")
+ add_compile_definitions(GLOG_USE_GLOG_EXPORT)
diff --git a/graphics/colmap/files/patch-cmake_FindDependencies.cmake b/graphics/colmap/files/patch-cmake_FindDependencies.cmake
new file mode 100644
index 000000000000..cdb62cbe1cf7
--- /dev/null
+++ b/graphics/colmap/files/patch-cmake_FindDependencies.cmake
@@ -0,0 +1,19 @@
+--- cmake/FindDependencies.cmake.orig 2025-07-31 15:20:30 UTC
++++ cmake/FindDependencies.cmake
+@@ -21,8 +21,7 @@ find_package(Boost ${COLMAP_FIND_TYPE} COMPONENTS
+
+ find_package(Boost ${COLMAP_FIND_TYPE} COMPONENTS
+ graph
+- program_options
+- system)
++ program_options)
+
+ find_package(Eigen3 ${COLMAP_FIND_TYPE})
+
+@@ -247,4 +246,4 @@ if(OPENGL_ENABLED OR CUDA_ENABLED)
+ list(APPEND COLMAP_COMPILE_DEFINITIONS COLMAP_GPU_ENABLED)
+ message(STATUS "Enabling GPU support (OpenGL: ${OPENGL_ENABLED}, CUDA: ${CUDA_ENABLED})")
+ set(GPU_ENABLED ON)
+-endif()
+\ No newline at end of file
++endif()
diff --git a/graphics/colmap/pkg-plist b/graphics/colmap/pkg-plist
index 5d20b23dc333..1dae83c7ea7c 100644
--- a/graphics/colmap/pkg-plist
+++ b/graphics/colmap/pkg-plist
@@ -21,7 +21,6 @@ include/colmap/estimators/essential_matrix_poly.h
include/colmap/estimators/euclidean_transform.h
include/colmap/estimators/fundamental_matrix.h
include/colmap/estimators/generalized_absolute_pose.h
-include/colmap/estimators/generalized_absolute_pose_coeffs.h
include/colmap/estimators/generalized_pose.h
include/colmap/estimators/generalized_relative_pose.h
include/colmap/estimators/homography_matrix.h
@@ -50,9 +49,13 @@ include/colmap/feature/utils.h
include/colmap/geometry/essential_matrix.h
include/colmap/geometry/gps.h
include/colmap/geometry/homography_matrix.h
+include/colmap/geometry/normalization.h
include/colmap/geometry/pose.h
+include/colmap/geometry/pose_prior.h
include/colmap/geometry/rigid3.h
+include/colmap/geometry/rigid3_matchers.h
include/colmap/geometry/sim3.h
+include/colmap/geometry/sim3_matchers.h
include/colmap/geometry/triangulation.h
include/colmap/image/line.h
include/colmap/image/undistortion.h
@@ -79,6 +82,7 @@ include/colmap/mvs/model.h
include/colmap/mvs/normal_map.h
include/colmap/mvs/patch_match.h
include/colmap/mvs/patch_match_cuda.h
+include/colmap/mvs/patch_match_options.h
include/colmap/mvs/workspace.h
include/colmap/optim/combination_sampler.h
include/colmap/optim/least_absolute_deviations.h
@@ -93,21 +97,26 @@ include/colmap/retrieval/geometry.h
include/colmap/retrieval/inverted_file.h
include/colmap/retrieval/inverted_file_entry.h
include/colmap/retrieval/inverted_index.h
+include/colmap/retrieval/resources.h
include/colmap/retrieval/utils.h
include/colmap/retrieval/visual_index.h
include/colmap/retrieval/vote_and_verify.h
include/colmap/scene/camera.h
-include/colmap/scene/camera_rig.h
include/colmap/scene/correspondence_graph.h
include/colmap/scene/database.h
include/colmap/scene/database_cache.h
+include/colmap/scene/frame.h
include/colmap/scene/image.h
include/colmap/scene/point2d.h
include/colmap/scene/point3d.h
include/colmap/scene/projection.h
include/colmap/scene/reconstruction.h
include/colmap/scene/reconstruction_io.h
+include/colmap/scene/reconstruction_io_binary.h
+include/colmap/scene/reconstruction_io_text.h
+include/colmap/scene/reconstruction_io_utils.h
include/colmap/scene/reconstruction_manager.h
+include/colmap/scene/rig.h
include/colmap/scene/scene_clustering.h
include/colmap/scene/synthetic.h
include/colmap/scene/track.h
@@ -116,8 +125,10 @@ include/colmap/scene/visibility_pyramid.h
include/colmap/sensor/bitmap.h
include/colmap/sensor/database.h
include/colmap/sensor/models.h
+include/colmap/sensor/rig.h
include/colmap/sensor/specs.h
include/colmap/sfm/incremental_mapper.h
+include/colmap/sfm/incremental_mapper_impl.h
include/colmap/sfm/incremental_triangulator.h
include/colmap/sfm/observation_manager.h
include/colmap/thirdparty/LSD/lsd.h
@@ -253,8 +264,9 @@ include/colmap/util/cudacc.h
include/colmap/util/eigen_alignment.h
include/colmap/util/eigen_matchers.h
include/colmap/util/endian.h
-include/colmap/util/enum_to_string.h
+include/colmap/util/enum_utils.h
include/colmap/util/file.h
+include/colmap/util/glog_macros.h
include/colmap/util/logging.h
include/colmap/util/misc.h
include/colmap/util/opengl_utils.h
@@ -287,12 +299,11 @@ lib/libcolmap_ui.a
lib/libcolmap_util.a
lib/libcolmap_vlfeat.a
share/applications/COLMAP.desktop
+%%DATADIR%%/cmake/FindCryptoPP.cmake
%%DATADIR%%/cmake/FindDependencies.cmake
-%%DATADIR%%/cmake/FindFLANN.cmake
%%DATADIR%%/cmake/FindFreeImage.cmake
%%DATADIR%%/cmake/FindGlew.cmake
%%DATADIR%%/cmake/FindGlog.cmake
-%%DATADIR%%/cmake/FindLZ4.cmake
%%DATADIR%%/cmake/FindMetis.cmake
%%DATADIR%%/colmap-config-version.cmake
%%DATADIR%%/colmap-config.cmake
@@ -305,6 +316,7 @@ share/applications/COLMAP.desktop
%%PORTDOCS%%%%DOCSDIR%%/_sources/cameras.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/changelog.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/cli.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/concepts.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/contribution.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/database.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/datasets.rst.txt
@@ -313,10 +325,12 @@ share/applications/COLMAP.desktop
%%PORTDOCS%%%%DOCSDIR%%/_sources/gui.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/index.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/install.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/legacy.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/license.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/pycolmap/cost_functions.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/pycolmap/index.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/pycolmap/pycolmap.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/rigs.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/tutorial.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_static/_sphinx_javascript_frameworks_compat.js
%%PORTDOCS%%%%DOCSDIR%%/_static/basic.css
@@ -361,6 +375,7 @@ share/applications/COLMAP.desktop
%%PORTDOCS%%%%DOCSDIR%%/cameras.html
%%PORTDOCS%%%%DOCSDIR%%/changelog.html
%%PORTDOCS%%%%DOCSDIR%%/cli.html
+%%PORTDOCS%%%%DOCSDIR%%/concepts.html
%%PORTDOCS%%%%DOCSDIR%%/contribution.html
%%PORTDOCS%%%%DOCSDIR%%/database.html
%%PORTDOCS%%%%DOCSDIR%%/datasets.html
@@ -370,11 +385,13 @@ share/applications/COLMAP.desktop
%%PORTDOCS%%%%DOCSDIR%%/gui.html
%%PORTDOCS%%%%DOCSDIR%%/index.html
%%PORTDOCS%%%%DOCSDIR%%/install.html
+%%PORTDOCS%%%%DOCSDIR%%/legacy.html
%%PORTDOCS%%%%DOCSDIR%%/license.html
%%PORTDOCS%%%%DOCSDIR%%/objects.inv
%%PORTDOCS%%%%DOCSDIR%%/pycolmap/cost_functions.html
%%PORTDOCS%%%%DOCSDIR%%/pycolmap/index.html
%%PORTDOCS%%%%DOCSDIR%%/pycolmap/pycolmap.html
+%%PORTDOCS%%%%DOCSDIR%%/rigs.html
%%PORTDOCS%%%%DOCSDIR%%/search.html
%%PORTDOCS%%%%DOCSDIR%%/searchindex.js
%%PORTDOCS%%%%DOCSDIR%%/tutorial.html
diff --git a/graphics/colord-kde/Makefile b/graphics/colord-kde/Makefile
new file mode 100644
index 000000000000..13ccdafdea98
--- /dev/null
+++ b/graphics/colord-kde/Makefile
@@ -0,0 +1,18 @@
+PORTNAME= colord-kde
+DISTVERSION= ${KDE_APPLICATIONS_VERSION}
+CATEGORIES= graphics kde kde-applications
+
+MAINTAINER= kde@FreeBSD.org
+COMMENT= Color profiles manager
+WWW= https://invent.kde.org/graphics/colord-kde
+
+LIB_DEPENDS= liblcms2.so:graphics/lcms2
+
+USES= cmake gettext kde:6 pkgconfig qt:6 tar:xz xorg
+USE_KDE= coreaddons dbusaddons i18n itemmodels kcmutils \
+ widgetsaddons windowsystem \
+ ecm:build
+USE_QT= base declarative
+USE_XORG= x11 xcb xrandr
+
+.include <bsd.port.mk>
diff --git a/graphics/colord-kde/distinfo b/graphics/colord-kde/distinfo
new file mode 100644
index 000000000000..1d6fb37362d8
--- /dev/null
+++ b/graphics/colord-kde/distinfo
@@ -0,0 +1,3 @@
+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-kde/pkg-descr b/graphics/colord-kde/pkg-descr
new file mode 100644
index 000000000000..6a2d3fbf3caa
--- /dev/null
+++ b/graphics/colord-kde/pkg-descr
@@ -0,0 +1 @@
+This port provides interfaces and session daemon to colord service.
diff --git a/graphics/colord-kde/pkg-plist b/graphics/colord-kde/pkg-plist
new file mode 100644
index 000000000000..f9009580e399
--- /dev/null
+++ b/graphics/colord-kde/pkg-plist
@@ -0,0 +1,56 @@
+bin/colord-kde-icc-importer
+%%QT_PLUGINDIR%%/kf6/kded/colord.so
+%%QT_PLUGINDIR%%/plasma/kcms/systemsettings/kcm_colord.so
+share/applications/colordkdeiccimporter.desktop
+share/applications/kcm_colord.desktop
+share/locale/ar/LC_MESSAGES/colord-kde.mo
+share/locale/ast/LC_MESSAGES/colord-kde.mo
+share/locale/az/LC_MESSAGES/colord-kde.mo
+share/locale/bg/LC_MESSAGES/colord-kde.mo
+share/locale/bs/LC_MESSAGES/colord-kde.mo
+share/locale/ca/LC_MESSAGES/colord-kde.mo
+share/locale/ca@valencia/LC_MESSAGES/colord-kde.mo
+share/locale/cs/LC_MESSAGES/colord-kde.mo
+share/locale/da/LC_MESSAGES/colord-kde.mo
+share/locale/de/LC_MESSAGES/colord-kde.mo
+share/locale/el/LC_MESSAGES/colord-kde.mo
+share/locale/en_GB/LC_MESSAGES/colord-kde.mo
+share/locale/eo/LC_MESSAGES/colord-kde.mo
+share/locale/es/LC_MESSAGES/colord-kde.mo
+share/locale/et/LC_MESSAGES/colord-kde.mo
+share/locale/eu/LC_MESSAGES/colord-kde.mo
+share/locale/fi/LC_MESSAGES/colord-kde.mo
+share/locale/fr/LC_MESSAGES/colord-kde.mo
+share/locale/ga/LC_MESSAGES/colord-kde.mo
+share/locale/gl/LC_MESSAGES/colord-kde.mo
+share/locale/he/LC_MESSAGES/colord-kde.mo
+share/locale/hi/LC_MESSAGES/colord-kde.mo
+share/locale/hu/LC_MESSAGES/colord-kde.mo
+share/locale/ia/LC_MESSAGES/colord-kde.mo
+share/locale/id/LC_MESSAGES/colord-kde.mo
+share/locale/it/LC_MESSAGES/colord-kde.mo
+share/locale/ja/LC_MESSAGES/colord-kde.mo
+share/locale/ka/LC_MESSAGES/colord-kde.mo
+share/locale/km/LC_MESSAGES/colord-kde.mo
+share/locale/ko/LC_MESSAGES/colord-kde.mo
+share/locale/lt/LC_MESSAGES/colord-kde.mo
+share/locale/lv/LC_MESSAGES/colord-kde.mo
+share/locale/mr/LC_MESSAGES/colord-kde.mo
+share/locale/nl/LC_MESSAGES/colord-kde.mo
+share/locale/nn/LC_MESSAGES/colord-kde.mo
+share/locale/pa/LC_MESSAGES/colord-kde.mo
+share/locale/pl/LC_MESSAGES/colord-kde.mo
+share/locale/pt/LC_MESSAGES/colord-kde.mo
+share/locale/pt_BR/LC_MESSAGES/colord-kde.mo
+share/locale/ro/LC_MESSAGES/colord-kde.mo
+share/locale/ru/LC_MESSAGES/colord-kde.mo
+share/locale/sa/LC_MESSAGES/colord-kde.mo
+share/locale/sk/LC_MESSAGES/colord-kde.mo
+share/locale/sl/LC_MESSAGES/colord-kde.mo
+share/locale/sv/LC_MESSAGES/colord-kde.mo
+share/locale/ta/LC_MESSAGES/colord-kde.mo
+share/locale/tr/LC_MESSAGES/colord-kde.mo
+share/locale/ug/LC_MESSAGES/colord-kde.mo
+share/locale/uk/LC_MESSAGES/colord-kde.mo
+share/locale/zh_CN/LC_MESSAGES/colord-kde.mo
+share/locale/zh_TW/LC_MESSAGES/colord-kde.mo
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 6f9c48382907..3aca9d293f89 100644
--- a/graphics/converseen/Makefile
+++ b/graphics/converseen/Makefile
@@ -1,6 +1,6 @@
PORTNAME= converseen
DISTVERSIONPREFIX= v
-DISTVERSION= 0.14.0.0
+DISTVERSION= 0.15.0.2
CATEGORIES= graphics
MAINTAINER= fernape@FreeBSD.org
diff --git a/graphics/converseen/distinfo b/graphics/converseen/distinfo
index 5276e215f0d1..3e42924272cf 100644
--- a/graphics/converseen/distinfo
+++ b/graphics/converseen/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745754508
-SHA256 (Faster3ck-Converseen-v0.14.0.0_GH0.tar.gz) = 434ab5363b0a1399b51788473ccc6907ac790f90be743b30484223ef4273f3e3
-SIZE (Faster3ck-Converseen-v0.14.0.0_GH0.tar.gz) = 962236
+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 750b38964938..8f3b7fe970fb 100644
--- a/graphics/corrupter/Makefile
+++ b/graphics/corrupter/Makefile
@@ -1,7 +1,7 @@
PORTNAME= corrupter
DISTVERSIONPREFIX= v
DISTVERSION= 1.0
-PORTREVISION= 26
+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/cptutils/Makefile b/graphics/cptutils/Makefile
index ae829d60e967..5eba812a1251 100644
--- a/graphics/cptutils/Makefile
+++ b/graphics/cptutils/Makefile
@@ -1,5 +1,6 @@
PORTNAME= cptutils
PORTVERSION= 1.84
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://jjg.gitlab.io/src/
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 7183a5c25d4b..de42ba43c06d 100644
--- a/graphics/d2/Makefile
+++ b/graphics/d2/Makefile
@@ -1,7 +1,7 @@
PORTNAME= d2
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.0
-PORTREVISION= 2
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= adamw@FreeBSD.org
diff --git a/graphics/darktable/Makefile b/graphics/darktable/Makefile
index 1e8e5451862e..f6fcc534562c 100644
--- a/graphics/darktable/Makefile
+++ b/graphics/darktable/Makefile
@@ -1,5 +1,6 @@
PORTNAME= darktable
-PORTVERSION= 5.0.1
+PORTVERSION= 5.2.1
+PORTREVISION= 0
CATEGORIES= graphics
MASTER_SITES= https://github.com/darktable-org/${PORTNAME}/releases/download/release-${PORTVERSION:C/\.rc/rc/}/
@@ -42,7 +43,7 @@ LIB_DEPENDS= libavif.so:graphics/libavif \
libwebp.so:graphics/webp
USES= cmake compiler:c++11-lib desktop-file-utils gl gnome jpeg \
- llvm:17,build lua perl5 pkgconfig sdl shebangfix sqlite \
+ llvm:build lua perl5 pkgconfig sdl shebangfix sqlite \
tar:xz xorg
USE_GL= gl
USE_GNOME= cairo gtk30 intltool librsvg2 libxml2
@@ -58,7 +59,9 @@ CMAKE_BOOL+= BUILD_CMSTEST USE_AVIF USE_CAMERA_SUPPORT USE_HEIF \
USE_ISOBMFF USE_KWALLET USE_LUA USE_MAP USE_OPENEXR \
USE_OPENJPEG USE_WEBP RAWSPEED_ENABLE_LTO
-CFLAGS+= -fopenmp
+# darktable wraps pthread lock/release functions, causing false
+# compiler warnings from -Wthread-safety-analysis. Kill this warning.
+CFLAGS+= -fopenmp -Wno-thread-safety-analysis
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:C/\.rc/~rc/}
diff --git a/graphics/darktable/distinfo b/graphics/darktable/distinfo
index f9a0561a026c..137cdbfe3da3 100644
--- a/graphics/darktable/distinfo
+++ b/graphics/darktable/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739833136
-SHA256 (darktable-5.0.1.tar.xz) = 4a918d094ebba983ef67a10cc715c3d7e8ca738009920a9ff65d33417b6dd984
-SIZE (darktable-5.0.1.tar.xz) = 7247072
+TIMESTAMP = 1755067613
+SHA256 (darktable-5.2.1.tar.xz) = 02f1aa9ae93949e7bc54c34eeb5ff92c2b87f95d2547865df55c60467564ee11
+SIZE (darktable-5.2.1.tar.xz) = 7445076
diff --git a/graphics/darktable/pkg-plist b/graphics/darktable/pkg-plist
index 89d93ee37b90..8fc55ec1e2dd 100644
--- a/graphics/darktable/pkg-plist
+++ b/graphics/darktable/pkg-plist
@@ -90,6 +90,7 @@ lib/darktable/plugins/liboverexposed.so
lib/darktable/plugins/liboverlay.so
lib/darktable/plugins/libprimaries.so
lib/darktable/plugins/libprofile_gamma.so
+lib/darktable/plugins/librasterfile.so
lib/darktable/plugins/librawdenoise.so
lib/darktable/plugins/librawoverexposed.so
lib/darktable/plugins/librawprepare.so
@@ -236,7 +237,6 @@ share/applications/org.darktable.darktable.desktop
%%DATADIR%%/lua/darktable/debug.lua
%%DATADIR%%/luarc
%%DATADIR%%/noiseprofiles.json
-%%DATADIR%%/pixmaps/clock.svg
%%DATADIR%%/pixmaps/darktable.svg
%%DATADIR%%/pixmaps/dt_logo_128x128.png
%%DATADIR%%/pixmaps/dt_text.svg
@@ -900,6 +900,30 @@ share/applications/org.darktable.darktable.desktop
%%DATADIR%%/styles/darktable_Sony_ZV-1.dtstyle
%%DATADIR%%/styles/darktable_Sony_ZV-E1.dtstyle
%%DATADIR%%/styles/darktable_Sony_ZV-E10.dtstyle
+%%DATADIR%%/styles/examples_colors_autumn.dtstyle
+%%DATADIR%%/styles/examples_colors_blue LED lighting fix (strong).dtstyle
+%%DATADIR%%/styles/examples_colors_blue LED lighting fix.dtstyle
+%%DATADIR%%/styles/examples_colors_extreme saturation.dtstyle
+%%DATADIR%%/styles/examples_colors_faded.dtstyle
+%%DATADIR%%/styles/examples_colors_pastels.dtstyle
+%%DATADIR%%/styles/examples_colors_sepia.dtstyle
+%%DATADIR%%/styles/examples_contrast and sharpness_dehaze (strong, luminance only).dtstyle
+%%DATADIR%%/styles/examples_contrast and sharpness_extreme local contrast.dtstyle
+%%DATADIR%%/styles/examples_contrast and sharpness_sharpen finest details.dtstyle
+%%DATADIR%%/styles/examples_effects_4-up on US Letter paper.dtstyle
+%%DATADIR%%/styles/examples_effects_day for night.dtstyle
+%%DATADIR%%/styles/examples_effects_day for twilight.dtstyle
+%%DATADIR%%/styles/examples_effects_fog.dtstyle
+%%DATADIR%%/styles/examples_effects_motion blur.dtstyle
+%%DATADIR%%/styles/examples_effects_red-eye reduction.dtstyle
+%%DATADIR%%/styles/examples_spot color_blue.dtstyle
+%%DATADIR%%/styles/examples_spot color_cyan.dtstyle
+%%DATADIR%%/styles/examples_spot color_green.dtstyle
+%%DATADIR%%/styles/examples_spot color_magenta.dtstyle
+%%DATADIR%%/styles/examples_spot color_orange.dtstyle
+%%DATADIR%%/styles/examples_spot color_purple.dtstyle
+%%DATADIR%%/styles/examples_spot color_red.dtstyle
+%%DATADIR%%/styles/examples_spot color_yellow.dtstyle
%%DATADIR%%/themes/darktable-elegant-dark.css
%%DATADIR%%/themes/darktable-elegant-darker.css
%%DATADIR%%/themes/darktable-elegant-grey.css
@@ -946,12 +970,13 @@ share/icons/hicolor/scalable/apps/darktable.svg
%%NLS%%share/locale/fi/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/fr/LC_MESSAGES/darktable.mo
%%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/pl/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/darktable.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/sl/LC_MESSAGES/darktable.mo
-%%NLS%%share/locale/sv/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/sq/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/uk/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/zh_CN/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/dcmtk/Makefile b/graphics/dcmtk/Makefile
index 5894e8794dd3..527b3c685cee 100644
--- a/graphics/dcmtk/Makefile
+++ b/graphics/dcmtk/Makefile
@@ -1,7 +1,7 @@
PORTNAME= dcmtk
DISTVERSIONPREFIX= ${PORTNAME:tu}-
DISTVERSION= 3.6.9
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics devel
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/delaboratory/Makefile b/graphics/delaboratory/Makefile
index 49ab9d75535a..8aab87652f5e 100644
--- a/graphics/delaboratory/Makefile
+++ b/graphics/delaboratory/Makefile
@@ -1,6 +1,6 @@
PORTNAME= delaboratory
PORTVERSION= 0.8
-PORTREVISION= 14
+PORTREVISION= 15
CATEGORIES= graphics
MASTER_SITES= https://BSDforge.com/projects/source/graphics/delaboratory/
diff --git a/graphics/derelict-gl3/Makefile b/graphics/derelict-gl3/Makefile
index 46b350f548e3..c4c21ef43ea0 100644
--- a/graphics/derelict-gl3/Makefile
+++ b/graphics/derelict-gl3/Makefile
@@ -1,6 +1,6 @@
PORTNAME= derelict-gl3
PORTVERSION= 1.0.24
-PORTREVISION= 5
+PORTREVISION= 6
DISTVERSIONPREFIX= v
CATEGORIES= graphics
diff --git a/graphics/dia/Makefile b/graphics/dia/Makefile
index 76cd39ee0025..2dd755d5e39e 100644
--- a/graphics/dia/Makefile
+++ b/graphics/dia/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dia
PORTVERSION= 0.97.3
-PORTREVISION= 8
+PORTREVISION= 9
PORTEPOCH= 1
CATEGORIES= graphics gnome
MASTER_SITES= GNOME
diff --git a/graphics/dify/Makefile b/graphics/dify/Makefile
index 277a062186cc..23a73597fc23 100644
--- a/graphics/dify/Makefile
+++ b/graphics/dify/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dify
DISTVERSION= 0.6.0
-PORTREVISION= 21
+PORTREVISION= 22
CATEGORIES= graphics
MASTER_SITES= CRATESIO
# XXX Teach USES=cargo to have proper default
diff --git a/graphics/digikam/Makefile b/graphics/digikam/Makefile
index 95c74965234e..1931b993bb81 100644
--- a/graphics/digikam/Makefile
+++ b/graphics/digikam/Makefile
@@ -1,6 +1,6 @@
PORTNAME= digikam
DISTVERSION= 8.6.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics kde
MASTER_SITES= KDE/stable/${PORTNAME}/${PORTVERSION} \
https://files.kde.org/${PORTNAME}/%SUBDIR%/:aesthetic,autotags,face,yunet \
diff --git a/graphics/djvulibre/Makefile b/graphics/djvulibre/Makefile
index bfce4c9beaa0..009b574e3d52 100644
--- a/graphics/djvulibre/Makefile
+++ b/graphics/djvulibre/Makefile
@@ -1,6 +1,5 @@
PORTNAME= djvulibre
-PORTVERSION= 3.5.28
-PORTREVISION= 4
+PORTVERSION= 3.5.29
CATEGORIES= graphics www
MASTER_SITES= SF/djvu/DjVuLibre/${PORTVERSION}
diff --git a/graphics/djvulibre/distinfo b/graphics/djvulibre/distinfo
index b04e6577271d..17e318618c20 100644
--- a/graphics/djvulibre/distinfo
+++ b/graphics/djvulibre/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1613156151
-SHA256 (djvulibre-3.5.28.tar.gz) = fcd009ea7654fde5a83600eb80757bd3a76998e47d13c66b54c8db849f8f2edc
-SIZE (djvulibre-3.5.28.tar.gz) = 3701161
+TIMESTAMP = 1751742375
+SHA256 (djvulibre-3.5.29.tar.gz) = d3b4b03ae2bdca8516a36ef6eb27b777f0528c9eda26745d9962824a3fdfeccf
+SIZE (djvulibre-3.5.29.tar.gz) = 3716911
diff --git a/graphics/djvulibre/pkg-plist b/graphics/djvulibre/pkg-plist
index 8bf6fb568e45..b333de705d94 100644
--- a/graphics/djvulibre/pkg-plist
+++ b/graphics/djvulibre/pkg-plist
@@ -21,7 +21,7 @@ include/libdjvu/ddjvuapi.h
include/libdjvu/miniexp.h
lib/libdjvulibre.so
lib/libdjvulibre.so.21
-lib/libdjvulibre.so.21.7.0
+lib/libdjvulibre.so.21.8.0
libdata/pkgconfig/ddjvuapi.pc
%%ANY2DJVU%%share/man/man1/any2djvu.1.gz
share/man/man1/bzz.1.gz
diff --git a/graphics/drawio/Makefile b/graphics/drawio/Makefile
index 4d8151345c97..50f56e4ee0a3 100644
--- a/graphics/drawio/Makefile
+++ b/graphics/drawio/Makefile
@@ -1,6 +1,6 @@
PORTNAME= drawio
-PORTVERSION= 26.2.15
-PORTREVISION= 4
+PORTVERSION= 28.0.6
+PORTREVISION= 1
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 834315850c02..a1f43d6ecc00 100644
--- a/graphics/drawpile/Makefile
+++ b/graphics/drawpile/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Drawpile
DISTVERSION= 2.2.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/dssim/Makefile b/graphics/dssim/Makefile
index 8d29bf968c06..d5906884f249 100644
--- a/graphics/dssim/Makefile
+++ b/graphics/dssim/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dssim
DISTVERSION= 3.2.4
-PORTREVISION= 24
+PORTREVISION= 25
CATEGORIES= graphics
MASTER_SITES= CRATESIO
# XXX Teach USES=cargo to have proper default
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/eom/Makefile b/graphics/eom/Makefile
index f9fc31a6821c..0f3f10ecff7b 100644
--- a/graphics/eom/Makefile
+++ b/graphics/eom/Makefile
@@ -1,6 +1,6 @@
PORTNAME= eom
DISTVERSION= 1.28.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics mate
MASTER_SITES= MATE
DIST_SUBDIR= mate
diff --git a/graphics/evince/Makefile b/graphics/evince/Makefile
index 701c98aa258a..972382c18e18 100644
--- a/graphics/evince/Makefile
+++ b/graphics/evince/Makefile
@@ -1,5 +1,5 @@
PORTNAME= evince
-DISTVERSION= 48.0
+DISTVERSION= 48.1
CATEGORIES= graphics print gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome
@@ -20,14 +20,13 @@ BUILD_DEPENDS= gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas \
LIB_DEPENDS= libhandy-1.so:x11-toolkits/libhandy \
libpoppler-glib.so:graphics/poppler-glib \
libspectre.so:print/libspectre \
- libtiff.so:graphics/tiff \
- libdbus-1.so:devel/dbus
+ libtiff.so:graphics/tiff
RUN_DEPENDS= gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas
USES= compiler:c++11-lib cpe desktop-file-utils gettext gnome \
gstreamer libarchive localbase:ldflags meson pkgconfig \
python:build tar:xz xorg
-USE_GNOME= cairo gdkpixbuf gnomedesktop3 gtk30 introspection:build libxml2
+USE_GNOME= cairo gdkpixbuf gtk30 libxml2
USE_LDCONFIG= yes
USE_XORG= ice
CPE_VENDOR= gnome
@@ -42,7 +41,6 @@ MESON_ARGS+= -Dintrospection=false \
-Dpreviewer=false \
-Dthumbnail_cache=disabled \
-Dthumbnailer=false
-USE_GNOME+= libxml2
OPTIONS_EXCLUDE= DBUS
PLIST= ${.CURDIR}/pkg-plist-lite
PKGNAMESUFFIX= -lite
@@ -65,8 +63,8 @@ OPTIONS_DEFAULT= COMICS DBUS KEYRING SPELL XPS
COMICS_DESC= Comic book archives support
COMICS_MESON_ENABLED= comics
-DBUS_MESON_TRUE= dbus
-DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
+DBUS_MESON_TRUE= dbus
+DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
DJVU_DESC= DJVU support
DJVU_LIB_DEPENDS= libdjvulibre.so:graphics/djvulibre
diff --git a/graphics/evince/distinfo b/graphics/evince/distinfo
index f4c04d0ce3b6..ac8fd3452e4d 100644
--- a/graphics/evince/distinfo
+++ b/graphics/evince/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744639068
-SHA256 (gnome/evince-48.0.tar.xz) = cd2f658355fa9075fdf9e5b44aa0af3a7e0928c55614eb1042b36176cf451126
-SIZE (gnome/evince-48.0.tar.xz) = 2942540
+TIMESTAMP = 1751557151
+SHA256 (gnome/evince-48.1.tar.xz) = 7d8b9a6fa3a05d3f5b9048859027688c73a788ff6e923bc3945126884943fa10
+SIZE (gnome/evince-48.1.tar.xz) = 2942692
diff --git a/graphics/evince/pkg-plist b/graphics/evince/pkg-plist
index d4725ae61f2b..7dee2ca261ff 100644
--- a/graphics/evince/pkg-plist
+++ b/graphics/evince/pkg-plist
@@ -69,10 +69,10 @@ lib/girepository-1.0/EvinceDocument-%%VERSION%%.typelib
lib/girepository-1.0/EvinceView-%%VERSION%%.typelib
lib/libevdocument3.so
lib/libevdocument3.so.4
-lib/libevdocument3.so.%%GTK4_VERSION%%
+lib/libevdocument3.so.4.0.0
lib/libevview3.so
lib/libevview3.so.3
-lib/libevview3.so.%%GTK3_VERSION%%
+lib/libevview3.so.3.0.0
libdata/pkgconfig/evince-document-%%VERSION%%.pc
libdata/pkgconfig/evince-view-%%VERSION%%.pc
%%DBUS%%libexec/evinced
diff --git a/graphics/evince/pkg-plist-lite b/graphics/evince/pkg-plist-lite
index f072cf2f0402..c068f815bb8e 100644
--- a/graphics/evince/pkg-plist-lite
+++ b/graphics/evince/pkg-plist-lite
@@ -65,10 +65,10 @@ lib/evince/4/backends/tiffdocument.evince-backend
%%XPS%%lib/evince/4/backends/xpsdocument.evince-backend
lib/libevdocument3.so
lib/libevdocument3.so.4
-lib/libevdocument3.so.%%GTK4_VERSION%%
+lib/libevdocument3.so.4.0.0
lib/libevview3.so
lib/libevview3.so.3
-lib/libevview3.so.%%GTK3_VERSION%%
+lib/libevview3.so.3.0.0
libdata/pkgconfig/evince-document-%%VERSION%%.pc
libdata/pkgconfig/evince-view-%%VERSION%%.pc
share/man/man1/evince-previewer.1.gz
diff --git a/graphics/exifprobe/Makefile b/graphics/exifprobe/Makefile
index 36b66c4e5cda..19da04f02991 100644
--- a/graphics/exifprobe/Makefile
+++ b/graphics/exifprobe/Makefile
@@ -1,7 +1,7 @@
PORTNAME= exifprobe
DISTVERSION= 2.0.1
CATEGORIES= graphics
-MASTER_SITES= http://mirror.amdmi3.ru/distfiles/
+MASTER_SITES= https://mirror.amdmi3.ru/distfiles/
MAINTAINER= amdmi3@FreeBSD.org
COMMENT= Probes JPEG or TIFF images and reports contents and structure
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 7f4c86116bb0..07ac4520f1b6 100644
--- a/graphics/f3d/Makefile
+++ b/graphics/f3d/Makefile
@@ -1,7 +1,7 @@
PORTNAME= f3d
DISTVERSIONPREFIX= v
-DISTVERSION= 3.1.0
-PORTREVISION= 3
+DISTVERSION= 3.2.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -40,8 +40,8 @@ LDFLAGS+= -linotify
# dependency descroptions are in https://f3d.app/doc/dev/BUILD.html
OPTIONS_GROUP= MODULES PLUGINS
OPTIONS_GROUP_MODULES= EXTERNAL_RENDERING RAYTRACING
-OPTIONS_GROUP_PLUGINS= ALEMBIC ASSIMP DRACO EXODUS OCCT
-OPTIONS_DEFAULT= ALEMBIC ASSIMP DRACO EXODUS OCCT
+OPTIONS_GROUP_PLUGINS= ALEMBIC ASSIMP DRACO HDF OCCT VDB
+OPTIONS_DEFAULT= ALEMBIC ASSIMP DRACO HDF OCCT # VDB
OPTIONS_SUB= yes
MODULES_DESC= Build modules:
@@ -49,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
@@ -59,19 +59,23 @@ DRACO_DESC= Draco plugin
DRACO_CMAKE_BOOL= F3D_PLUGIN_BUILD_DRACO
DRACO_LIB_DEPENDS= libdraco.so:archivers/draco
-EXODUS_DESC= ExodusII plugin
-EXODUS_CMAKE_BOOL= F3D_PLUGIN_BUILD_EXODUS
-
EXTERNAL_RENDERING_DESC= External rendering module
EXTERNAL_RENDERING_CMAKE_BOOL= F3D_MODULE_EXTERNAL_RENDERING
EXTERNAL_RENDERING_BROKEN= Requires VTK::RenderingExternal enabled in VTK
+HDF_DESC= Support for VTKHDF (.vtkhdf), ExodusII (.ex2), and NetCDF (.nc) file formats
+HDF_CMAKE_BOOL= F3D_PLUGIN_BUILD_HDF
+
OCCT_DESC= OpenCASCADE plugin (for STEP and IGES files)
OCCT_USES= localbase:ldflags
OCCT_CMAKE_BOOL= F3D_PLUGIN_BUILD_OCCT
OCCT_LIB_DEPENDS= libTKBRep.so:cad/opencascade
OCCT_CMAKE_ON= -DOpenCASCADE_DIR=${LOCALBASE}/lib/cmake
+VDB_DESC= VDB plugin
+VDB_CMAKE_BOOL= F3D_PLUGIN_BUILD_VDB
+VDB_BROKEN= depends on the VTK module IOOpenVD that can't be enabled because OpenVDB doesn't install required cmake files, see https://github.com/AcademySoftwareFoundation/openvdb/issues/2058
+
RAYTRACING_DESC= Raytracing module
RAYTRACING_CMAKE_BOOL= F3D_MODULE_RAYTRACING
RAYTRACING_BROKEN= Requires VTK::RenderingRayTracing enabled in VTK
diff --git a/graphics/f3d/distinfo b/graphics/f3d/distinfo
index 531cd6078de7..4b7c92357910 100644
--- a/graphics/f3d/distinfo
+++ b/graphics/f3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748893025
-SHA256 (f3d-app-f3d-v3.1.0_GH0.tar.gz) = 93ba23078133122e929d9c1e2946c86da1f08fe56b9ffae40ebfd8185e91380a
-SIZE (f3d-app-f3d-v3.1.0_GH0.tar.gz) = 61473994
+TIMESTAMP = 1752141480
+SHA256 (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 2a3cff123821be41d99489e080a7153812e58a86598fa9f4988099660bf6a947
+SIZE (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 68125944
diff --git a/graphics/f3d/files/patch-plugins_assimp_CMakeLists.txt b/graphics/f3d/files/patch-plugins_assimp_CMakeLists.txt
deleted file mode 100644
index 1119e588b41b..000000000000
--- a/graphics/f3d/files/patch-plugins_assimp_CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- plugins/assimp/CMakeLists.txt.orig 2025-06-02 22:44:41 UTC
-+++ plugins/assimp/CMakeLists.txt
-@@ -11,7 +11,7 @@ endif()
- include(f3dPlugin)
- endif()
-
--find_package(assimp 5.4.0 REQUIRED)
-+find_package(assimp REQUIRED)
-
- set(F3D_ASSIMP_VERSION "${assimp_VERSION}" CACHE INTERNAL "")
- message(STATUS "Plugin: assimp ${assimp_VERSION} found")
diff --git a/graphics/f3d/pkg-plist b/graphics/f3d/pkg-plist
index 9d0032765f26..77289080d9c5 100644
--- a/graphics/f3d/pkg-plist
+++ b/graphics/f3d/pkg-plist
@@ -1,5 +1,4 @@
bin/f3d
-include/f3d/F3DUtils.h
include/f3d/camera.h
include/f3d/context.h
include/f3d/engine.h
@@ -14,10 +13,6 @@ include/f3d/reader.h
include/f3d/scene.h
include/f3d/types.h
include/f3d/utils.h
-include/f3d/vtkF3DFaceVaryingPointDispatcher.h
-include/f3d/vtkF3DGLTFImporter.h
-include/f3d/vtkF3DImporter.h
-include/f3d/vtkextModule.h
include/f3d/window.h
lib/cmake/f3d/application-config.cmake
lib/cmake/f3d/f3dConfig.cmake
@@ -28,24 +23,14 @@ lib/cmake/f3d/f3dLibraryTargets.cmake
lib/cmake/f3d/f3dTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/f3d/f3dTargets.cmake
lib/cmake/f3d/library-config.cmake
-lib/cmake/f3d_vtkext/f3d_vtkext-targets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/f3d_vtkext/f3d_vtkext-targets.cmake
-lib/cmake/f3d_vtkext/f3d_vtkext-vtk-module-properties.cmake
lib/libf3d.so
lib/libf3d.so.3
-lib/libf3d.so.3.1
+lib/libf3d.so.3.2
lib/libvtkext.so
-%%ALEMBIC%%lib/libvtkextAlembic.a
-%%ASSIMP%%lib/libvtkextAssimp.a
-%%DRACO%%lib/libvtkextDraco.a
-lib/libvtkextNative.a
-%%OCCT%%lib/libvtkextOCCT.a
-lib/libvtkextPrivate.a
-lib/vtk/hierarchy/f3d_vtkext/vtkext-hierarchy.txt
%%ALEMBIC%%share/applications/f3d-plugin-alembic.desktop
%%ASSIMP%%share/applications/f3d-plugin-assimp.desktop
%%DRACO%%share/applications/f3d-plugin-draco.desktop
-%%EXODUS%%share/applications/f3d-plugin-exodus.desktop
+%%HDF%%share/applications/f3d-plugin-hdf.desktop
share/applications/f3d-plugin-native.desktop
%%OCCT%%share/applications/f3d-plugin-occt.desktop
share/applications/f3d.desktop
@@ -56,20 +41,20 @@ share/doc/F3D/THIRD_PARTY_LICENSES.md
%%ALEMBIC%%%%DATADIR%%/configs/config.d/10_alembic.json
%%ASSIMP%%%%DATADIR%%/configs/config.d/10_assimp.json
%%DRACO%%%%DATADIR%%/configs/config.d/10_draco.json
-%%EXODUS%%%%DATADIR%%/configs/config.d/10_exodus.json
+%%HDF%%%%DATADIR%%/configs/config.d/10_hdf.json
%%DATADIR%%/configs/config.d/10_native.json
%%OCCT%%%%DATADIR%%/configs/config.d/10_occt.json
%%DATADIR%%/configs/thumbnail.d/05_all.json
%%ALEMBIC%%%%DATADIR%%/configs/thumbnail.d/10_alembic.json
%%ASSIMP%%%%DATADIR%%/configs/thumbnail.d/10_assimp.json
%%DRACO%%%%DATADIR%%/configs/thumbnail.d/10_draco.json
-%%EXODUS%%%%DATADIR%%/configs/thumbnail.d/10_exodus.json
+%%HDF%%%%DATADIR%%/configs/thumbnail.d/10_hdf.json
%%DATADIR%%/configs/thumbnail.d/10_native.json
%%OCCT%%%%DATADIR%%/configs/thumbnail.d/10_occt.json
%%ALEMBIC%%%%DATADIR%%/plugins/alembic.json
%%ASSIMP%%%%DATADIR%%/plugins/assimp.json
%%DRACO%%%%DATADIR%%/plugins/draco.json
-%%EXODUS%%%%DATADIR%%/plugins/exodus.json
+%%HDF%%%%DATADIR%%/plugins/hdf.json
%%DATADIR%%/plugins/native.json
%%OCCT%%%%DATADIR%%/plugins/occt.json
share/fish/vendor_completions.d/f3d.fish
@@ -87,13 +72,13 @@ share/mime/packages/f3d-3d-image-formats.xml
%%ALEMBIC%%share/mime/packages/f3d-alembic-formats.xml
%%ASSIMP%%share/mime/packages/f3d-assimp-formats.xml
%%DRACO%%share/mime/packages/f3d-draco-formats.xml
-%%EXODUS%%share/mime/packages/f3d-exodus-formats.xml
%%OCCT%%share/mime/packages/f3d-occt-formats.xml
+%%HDF%%share/mime/packages/f3d-hdf-formats.xml
share/mime/packages/f3d-vtk-formats.xml
%%ALEMBIC%%share/thumbnailers/f3d-plugin-alembic.thumbnailer
%%ASSIMP%%share/thumbnailers/f3d-plugin-assimp.thumbnailer
%%DRACO%%share/thumbnailers/f3d-plugin-draco.thumbnailer
-%%EXODUS%%share/thumbnailers/f3d-plugin-exodus.thumbnailer
+%%HDF%%share/thumbnailers/f3d-plugin-hdf.thumbnailer
share/thumbnailers/f3d-plugin-native.thumbnailer
%%OCCT%%share/thumbnailers/f3d-plugin-occt.thumbnailer
share/zsh/site-functions/_f3d
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/flam3/Makefile b/graphics/flam3/Makefile
index 7b5e7f49be9a..03e47b8c524f 100644
--- a/graphics/flam3/Makefile
+++ b/graphics/flam3/Makefile
@@ -1,7 +1,7 @@
PORTNAME= flam3
DISTVERSIONPREFIX= v
DISTVERSION= 3.1.1-5
-PORTREVISION= 4
+PORTREVISION= 5
DISTVERSIONSUFFIX= -g7fb50c8
CATEGORIES= graphics
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/fractgen/Makefile b/graphics/fractgen/Makefile
index e3b673a9b4fa..76261e0f6e24 100644
--- a/graphics/fractgen/Makefile
+++ b/graphics/fractgen/Makefile
@@ -1,5 +1,5 @@
PORTNAME= fractgen
-DISTVERSION= 3.0.3
+DISTVERSION= 3.0.5
CATEGORIES= graphics
MASTER_SITES= https://www.nntb.no/~dreibh/fractalgenerator/download/
diff --git a/graphics/fractgen/distinfo b/graphics/fractgen/distinfo
index 7729ffa69ba0..4b12900c51e7 100644
--- a/graphics/fractgen/distinfo
+++ b/graphics/fractgen/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747127562
-SHA256 (fractgen-3.0.3.tar.xz) = 8bfa98708b71e86500aea953dedc9bc4ca4b0e59d1041683697ba5a63984a911
-SIZE (fractgen-3.0.3.tar.xz) = 341264
+TIMESTAMP = 1751736940
+SHA256 (fractgen-3.0.5.tar.xz) = e6144cfb556f38ffbf2fe29c2526155c0f5677e0e090bd22053fdc0dc00b355f
+SIZE (fractgen-3.0.5.tar.xz) = 342408
diff --git a/graphics/frogr/Makefile b/graphics/frogr/Makefile
index 28aebf603a9e..d9414a7e0267 100644
--- a/graphics/frogr/Makefile
+++ b/graphics/frogr/Makefile
@@ -1,6 +1,6 @@
PORTNAME= frogr
PORTVERSION= 1.6
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
MASTER_SITES= GNOME
diff --git a/graphics/fyre/Makefile b/graphics/fyre/Makefile
index 1ff148ab8e80..724c770bebf1 100644
--- a/graphics/fyre/Makefile
+++ b/graphics/fyre/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fyre
PORTVERSION= 1.0.1
-PORTREVISION= 28
+PORTREVISION= 29
CATEGORIES= graphics
MASTER_SITES= http://releases.navi.cx/fyre/
diff --git a/graphics/gdal-grass/Makefile b/graphics/gdal-grass/Makefile
index c46a53b7fb40..d3ab1fe6a280 100644
--- a/graphics/gdal-grass/Makefile
+++ b/graphics/gdal-grass/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gdal-grass
-PORTVERSION= 1.0.3
-PORTREVISION= 2
+PORTVERSION= 1.0.4
PORTEPOCH= 1
CATEGORIES= graphics
diff --git a/graphics/gdal-grass/distinfo b/graphics/gdal-grass/distinfo
index 1544135cd2e9..33fb2482bf75 100644
--- a/graphics/gdal-grass/distinfo
+++ b/graphics/gdal-grass/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739116676
-SHA256 (OSGeo-gdal-grass-1.0.3_GH0.tar.gz) = 9c306b69f4943309c8d0d002ae67b08d08c3ec0b6eda07918e54530b8a1acd68
-SIZE (OSGeo-gdal-grass-1.0.3_GH0.tar.gz) = 346675
+TIMESTAMP = 1750954124
+SHA256 (OSGeo-gdal-grass-1.0.4_GH0.tar.gz) = 38d2ec03c2efadaec142999b0ed7d8556b08dfa3cb228832dcde199e44af0af6
+SIZE (OSGeo-gdal-grass-1.0.4_GH0.tar.gz) = 346968
diff --git a/graphics/gdal-grass/files/patch-ogrgrass.h b/graphics/gdal-grass/files/patch-ogrgrass.h
deleted file mode 100644
index 2252d7adb8b4..000000000000
--- a/graphics/gdal-grass/files/patch-ogrgrass.h
+++ /dev/null
@@ -1,25 +0,0 @@
---- ogrgrass.h.orig 2025-02-06 13:45:38 UTC
-+++ ogrgrass.h
-@@ -56,9 +56,9 @@ class OGRGRASSLayer final : public OGRLayer
- return poFeatureDefn;
- }
- GIntBig GetFeatureCount(int) override;
-- OGRErr GetExtent(OGREnvelope *psExtent, int bForce) override;
-+ OGRErr GetExtent(OGREnvelope *psExtent, int bForce);
- virtual OGRErr GetExtent(int iGeomField, OGREnvelope *psExtent,
-- int bForce) override
-+ int bForce)
- {
- return OGRLayer::GetExtent(iGeomField, psExtent, bForce);
- }
-@@ -73,8 +73,8 @@ class OGRGRASSLayer final : public OGRLayer
-
- // Filters
- virtual OGRErr SetAttributeFilter(const char *query) override;
-- virtual void SetSpatialFilter(OGRGeometry *poGeomIn) override;
-- virtual void SetSpatialFilter(int iGeomField, OGRGeometry *poGeom) override
-+ virtual void SetSpatialFilter(OGRGeometry *poGeomIn);
-+ virtual void SetSpatialFilter(int iGeomField, OGRGeometry *poGeom)
- {
- OGRLayer::SetSpatialFilter(iGeomField, poGeom);
- }
diff --git a/graphics/gdal/Makefile b/graphics/gdal/Makefile
index 1003fd054bad..62c09c9b8a78 100644
--- a/graphics/gdal/Makefile
+++ b/graphics/gdal/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gdal
-PORTVERSION= 3.11.0
+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/distinfo b/graphics/gdal/distinfo
index e132da71acea..9e9a4f020e0f 100644
--- a/graphics/gdal/distinfo
+++ b/graphics/gdal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747715310
-SHA256 (gdal-3.11.0.tar.xz) = ba1a17a74428bfd5c789ce293f59b6a3d8bfabab747431c33331ac0ac579ea71
-SIZE (gdal-3.11.0.tar.xz) = 9292588
+TIMESTAMP = 1752416410
+SHA256 (gdal-3.11.3.tar.xz) = ba0807729fa681eed55bb6d5588bb9e4bde2b691c46e8d6d375ff5eaf789b16a
+SIZE (gdal-3.11.3.tar.xz) = 9313768
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/gdk-pixbuf2/pkg-plist b/graphics/gdk-pixbuf2/pkg-plist
index a6d9d41d121f..77fd1e87f90a 100644
--- a/graphics/gdk-pixbuf2/pkg-plist
+++ b/graphics/gdk-pixbuf2/pkg-plist
@@ -277,7 +277,6 @@ libdata/pkgconfig/gdk-pixbuf-2.0.pc
%%DOCS%%share/doc/gdk-pixdata/SourceCodePro-It.ttf.woff
%%DOCS%%share/doc/gdk-pixdata/SourceCodePro-Regular.ttf.woff
%%DOCS%%share/doc/gdk-pixdata/SourceCodePro-Semibold.ttf.woff
-%%DOCS%%share/doc/gdk-pixdata/classes_hierarchy.html
%%DOCS%%share/doc/gdk-pixdata/const.PIXBUF_MAGIC_NUMBER.html
%%DOCS%%share/doc/gdk-pixdata/const.PIXDATA_HEADER_LENGTH.html
%%DOCS%%share/doc/gdk-pixdata/flags.PixdataDumpType.html
diff --git a/graphics/gegl/Makefile b/graphics/gegl/Makefile
index b8bb13fa84b3..cd7492e03f46 100644
--- a/graphics/gegl/Makefile
+++ b/graphics/gegl/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gegl
-DISTVERSION= 0.4.58
-PORTREVISION= 3
+DISTVERSION= 0.4.62
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= GIMP
@@ -41,7 +41,7 @@ MESON_ARGS= -Ddocs=false \
MESON_ARGS+= -Dopenmp=disabled
.endif
-GEGL_SHLIB= 0.457.1
+GEGL_SHLIB= 0.461.1
GEGL_VER= 0.4
PLIST_SUB+= GEGL_SHLIB=${GEGL_SHLIB} GEGL_VER=${GEGL_VER}
diff --git a/graphics/gegl/distinfo b/graphics/gegl/distinfo
index 9bec1ea7c920..6baf544fe586 100644
--- a/graphics/gegl/distinfo
+++ b/graphics/gegl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742856432
-SHA256 (gegl-0.4.58.tar.xz) = d5678bbd5fe535941b82f965b97fcc9385ce936f70c982bd565a53d5519d1bff
-SIZE (gegl-0.4.58.tar.xz) = 6020756
+TIMESTAMP = 1752052464
+SHA256 (gegl-0.4.62.tar.xz) = 5887576371ebf1d9e90797d10e4b9a7f1658228d4827583e79e1db3d94505c6c
+SIZE (gegl-0.4.62.tar.xz) = 6025372
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/gexiv2/Makefile b/graphics/gexiv2/Makefile
index f5ce9a6603a2..8106e39f84d8 100644
--- a/graphics/gexiv2/Makefile
+++ b/graphics/gexiv2/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gexiv2
-PORTVERSION= 0.14.5
+PORTVERSION= 0.14.6
CATEGORIES= graphics
MASTER_SITES= GNOME
@@ -28,6 +28,8 @@ OPTIONS_SUB= yes
DOCS_BUILD_DEPENDS= gtkdoc-scan:textproc/gtk-doc
DOCS_CONFIGURE_ON= -Dgtk_doc=true
+PORTSCOUT= limitw:1,even
+
pre-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/vala/vapi
diff --git a/graphics/gexiv2/distinfo b/graphics/gexiv2/distinfo
index 8a28b4a32020..d8d3025137a5 100644
--- a/graphics/gexiv2/distinfo
+++ b/graphics/gexiv2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748189417
-SHA256 (gexiv2-0.14.5.tar.xz) = 0913c53daabab1f1ab586afd55bb55370796f2b8abcc6e37640ab7704ad99ce1
-SIZE (gexiv2-0.14.5.tar.xz) = 390860
+TIMESTAMP = 1751909719
+SHA256 (gexiv2-0.14.6.tar.xz) = 606c28aaae7b1f3ef5c8eabe5e7dffd7c5a1c866d25b7671fb847fe287a72b8b
+SIZE (gexiv2-0.14.6.tar.xz) = 391436
diff --git a/graphics/gifski/Makefile b/graphics/gifski/Makefile
index f7445924ae48..dff5a9740e87 100644
--- a/graphics/gifski/Makefile
+++ b/graphics/gifski/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gifski
DISTVERSION= 1.10.3
-PORTREVISION= 19
+PORTREVISION= 20
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/gimp-lqr-plugin/Makefile b/graphics/gimp-lqr-plugin/Makefile
index 773813c547ea..706cb8d4566e 100644
--- a/graphics/gimp-lqr-plugin/Makefile
+++ b/graphics/gimp-lqr-plugin/Makefile
@@ -3,7 +3,7 @@ PORTVERSION= 0.7.2
PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= http://liquidrescale.wdfiles.com/local--files/en:download-page-sources/ \
- http://mirror.amdmi3.ru/distfiles/
+ https://mirror.amdmi3.ru/distfiles/
MAINTAINER= amdmi3@FreeBSD.org
COMMENT= Liquid rescale GIMP plug-in
diff --git a/graphics/gimp3-app/Makefile b/graphics/gimp3-app/Makefile
index 5cfd19b7bf98..1c4de063bbe6 100644
--- a/graphics/gimp3-app/Makefile
+++ b/graphics/gimp3-app/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gimp
-DISTVERSION= 3.0.2
+DISTVERSION= 3.0.4
PORTREVISION= 1
CATEGORIES?= graphics gnome
MASTER_SITES= GIMP/gimp/v${PORTVERSION:R}
@@ -80,8 +80,8 @@ MESON_ARGS= -Dappdata-test=disabled \
OPTIONS_DEFINE?= AALIB GHOSTSCRIPT HEIF HELP OPENJPEG JXL LIBMNG WMF DOCS VALA CFITSIO
OPTIONS_DEFAULT?= AALIB GHOSTSCRIPT HEIF OPENJPEG JXL WMF DOCS VALA LUA CFITSIO
-OPTIONS_RADIO= SCRIPTS
-OPTIONS_RADIO_SCRIPTS= LUA LUAJIT
+OPTIONS_SINGLE= SCRIPTS
+OPTIONS_SINGLE_SCRIPTS= LUA LUAJIT LUA_NONE
OPTIONS_SUB= yes
AALIB_LIB_DEPENDS= libaa.so:graphics/aalib
@@ -121,11 +121,15 @@ VALA_USES= vala:build
VALA_MESON_ENABLED= vala
LUA_USES= lua:51
-LUA_MESON_TRUE= lua
+LUA_BUILD_DEPENDS= ${LUA_REFMODLIBDIR}/lgi/corelgilua${LUA_VER_STR}.so:devel/lua-lgi@${LUA_FLAVOR}
+LUA_RUN_DEPENDS= ${LUA_REFMODLIBDIR}/lgi/corelgilua${LUA_VER_STR}.so:devel/lua-lgi@${LUA_FLAVOR}
LUAJIT_DESC?= Lua scripting language support via Luajit
LUAJIT_USES= luajit
-LUAJIT_MESON_TRUE= lua
+LUAJIT_BROKEN= LuaJIT cannot use devel/lua-lgi module yet
+
+LUA_NONE_DESC?= Disable Lua scripting language support
+LUA_NONE_MESON_FALSE= lua
LIBS+= -lexecinfo -lm
CPE_PRODUCT= gimp
@@ -134,12 +138,21 @@ CPE_VENDOR= gnu
SHEBANG_FILES= plug-ins/python/*.py \
plug-ins/python/python-console/*.py \
extensions/goat-exercises/*.py \
- extensions/goat-exercises/*.js
+ extensions/goat-exercises/*.js \
+ extensions/goat-exercises/*.lua
SHEBANG_LANG+= gjs
PLIST_SUB+= BINVER=${PORTVERSION:R:R} ABIVER=${PORTVERSION:R} SHLIBVER=${PORTVERSION:E}
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MLUA} || ${PORT_OPTIONS:MLUAJIT}
+PLIST_SUB+= LUASCRIPTS=""
+.else
+PLIST_SUB+= LUASCRIPTS="@comment "
+.endif
+
#post-patch:
#.for s in 16 22 24 32 48 64 256
# @${CP} ${WRKSRC}/desktop/${s}x${s}/gimp.png ${WRKSRC}/desktop/${s}x${s}/gimp3.png
diff --git a/graphics/gimp3-app/distinfo b/graphics/gimp3-app/distinfo
index 7b8033429275..d3ecf51f1c19 100644
--- a/graphics/gimp3-app/distinfo
+++ b/graphics/gimp3-app/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742896924
-SHA256 (gimp-3.0.2.tar.xz) = 546ddc30cb2d0e79123c7fcb4d78211e1ee7a6aace91a6a0ad8cbcbf6ea571a2
-SIZE (gimp-3.0.2.tar.xz) = 27019468
+TIMESTAMP = 1752051281
+SHA256 (gimp-3.0.4.tar.xz) = 8caa2ec275bf09326575654ac276afc083f8491e7cca45d19cf29e696aecab25
+SIZE (gimp-3.0.4.tar.xz) = 27060240
diff --git a/graphics/gimp3-app/files/patch-meson.build b/graphics/gimp3-app/files/patch-meson.build
new file mode 100644
index 000000000000..7c786ab3116a
--- /dev/null
+++ b/graphics/gimp3-app/files/patch-meson.build
@@ -0,0 +1,20 @@
+--- meson.build.orig 2025-05-17 22:51:03 UTC
++++ meson.build
+@@ -1208,7 +1208,7 @@ if have_lua
+ if have_lua
+ have_lua_lgi = false
+
+- foreach lua_bin : [ 'luajit', 'lua5.1', 'lua-5.1', 'lua' ]
++ foreach lua_bin : [ 'luajit', 'lua51', 'lua-5.1', 'lua' ]
+ lua = find_program(lua_bin, required: false)
+
+ if lua.found() and meson.can_run_host_binaries()
+@@ -1247,7 +1247,7 @@ if have_lua
+ if is_supported_lua
+ have_lua_lgi = run_command(lua, '-e',
+ '''
+- local lgi = require 'lgi'
++ local lgi = require("lgi")
+ ''',
+ check: false).returncode() == 0
+ endif
diff --git a/graphics/gimp3-app/pkg-plist b/graphics/gimp3-app/pkg-plist
index ca98162cec2f..106dbf39c02d 100644
--- a/graphics/gimp3-app/pkg-plist
+++ b/graphics/gimp3-app/pkg-plist
@@ -264,6 +264,7 @@ lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-c
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-c.c
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-gjs.js
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-py3.py
+%%LUASCRIPTS%%lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-lua.lua
%%VALA%%lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-vala
%%VALA%%lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-vala.vala
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/locale/ar/LC_MESSAGES/org.gimp.extension.goat-exercises.mo
@@ -335,6 +336,7 @@ lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/locale/zh_HK/LC
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/locale/zh_TW/LC_MESSAGES/org.gimp.extension.goat-exercises.mo
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/org.gimp.extension.goat-exercises.metainfo.xml
lib/gimp/%%ABIVER%%/interpreters/default.interp
+%%LUASCRIPTS%%lib/gimp/%%ABIVER%%/interpreters/lua.interp
lib/gimp/%%ABIVER%%/modules/libcolor-selector-cmyk.so
lib/gimp/%%ABIVER%%/modules/libcolor-selector-water.so
lib/gimp/%%ABIVER%%/modules/libcolor-selector-wheel.so
@@ -375,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
@@ -5106,7 +5108,7 @@ libexec/gimp-debug-tool-%%ABIVER%%
%%DATADIR%%/%%ABIVER%%/icons/hicolor/scalable/actions/switch-off-symbolic.svg
%%DATADIR%%/%%ABIVER%%/icons/hicolor/scalable/actions/switch-on-symbolic.svg
%%DATADIR%%/%%ABIVER%%/icons/hicolor/scalable/status/software-update-available-symbolic.svg
-%%DATADIR%%/%%ABIVER%%/images/gimp-devel-logo.png
+%%PORTDOCS%%%%DATADIR%%/%%ABIVER%%/images/gimp-devel-logo.png
%%DATADIR%%/%%ABIVER%%/images/gimp-logo.png
%%DATADIR%%/%%ABIVER%%/images/gimp-splash.png
%%DATADIR%%/%%ABIVER%%/menus/app-menu.ui
diff --git a/graphics/glslang/Makefile b/graphics/glslang/Makefile
index 1b31ac722a26..0e4b68c02b1c 100644
--- a/graphics/glslang/Makefile
+++ b/graphics/glslang/Makefile
@@ -1,8 +1,8 @@
PORTNAME= glslang
-DISTVERSION= 15.3.0
+DISTVERSION= 15.4.0
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= OpenGL and OpenGL ES shader front end and validator
WWW= https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
diff --git a/graphics/glslang/distinfo b/graphics/glslang/distinfo
index 6fb4f73074a3..18517b17b988 100644
--- a/graphics/glslang/distinfo
+++ b/graphics/glslang/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745537407
-SHA256 (KhronosGroup-glslang-15.3.0_GH0.tar.gz) = c6c21fe1873c37e639a6a9ac72d857ab63a5be6893a589f34e09a6c757174201
-SIZE (KhronosGroup-glslang-15.3.0_GH0.tar.gz) = 4023163
+TIMESTAMP = 1751036750
+SHA256 (KhronosGroup-glslang-15.4.0_GH0.tar.gz) = b16c78e7604b9be9f546ee35ad8b6db6f39bbbbfb19e8d038b6fe2ea5bba4ff4
+SIZE (KhronosGroup-glslang-15.4.0_GH0.tar.gz) = 4201376
diff --git a/graphics/glslang/pkg-plist b/graphics/glslang/pkg-plist
index 435b7f2856d3..3fca789ea3b0 100644
--- a/graphics/glslang/pkg-plist
+++ b/graphics/glslang/pkg-plist
@@ -14,7 +14,7 @@ include/glslang/SPIRV/Logger.h
include/glslang/SPIRV/SPVRemapper.h
include/glslang/SPIRV/SpvTools.h
include/glslang/SPIRV/disassemble.h
-include/glslang/SPIRV/spirv.hpp
+include/glslang/SPIRV/spirv.hpp11
include/glslang/build_info.h
lib/cmake/glslang/glslang-config-version.cmake
lib/cmake/glslang/glslang-config.cmake
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/goocanvasmm2/Makefile b/graphics/goocanvasmm2/Makefile
index 5cdec45dbdfd..dd2bce32d570 100644
--- a/graphics/goocanvasmm2/Makefile
+++ b/graphics/goocanvasmm2/Makefile
@@ -5,7 +5,7 @@ CATEGORIES= graphics
MASTER_SITES= GNOME
PKGNAMESUFFIX= 2
-MAINTAINER= kwm@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= C++ bindings for the goocanvas widget for GTK
WWW= https://sourceforge.net/projects/goocanvas/
diff --git a/graphics/gpaint/Makefile b/graphics/gpaint/Makefile
index 6621ba5d2ff3..88dcad028267 100644
--- a/graphics/gpaint/Makefile
+++ b/graphics/gpaint/Makefile
@@ -1,6 +1,7 @@
PORTNAME= gpaint
DISTVERSIONPREFIX= 2-
DISTVERSION= 0.3.4
+PORTREVISION= 1
CATEGORIES= graphics gnome
MASTER_SITES= GNU_ALPHA
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/gscan2pdf/Makefile b/graphics/gscan2pdf/Makefile
index 75b68da87c9f..f2c840acc459 100644
--- a/graphics/gscan2pdf/Makefile
+++ b/graphics/gscan2pdf/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gscan2pdf
PORTVERSION= 2.13.4
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MASTER_SITES= SF
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/gwenview/distinfo b/graphics/gwenview/distinfo
index c5da8098dea3..2d90abbd041b 100644
--- a/graphics/gwenview/distinfo
+++ b/graphics/gwenview/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036747
-SHA256 (KDE/release-service/25.04.2/gwenview-25.04.2.tar.xz) = f2ec1bbb71fefd041a656686e4eb8a3ed684f913cfa86e062a40d9222ca3143f
-SIZE (KDE/release-service/25.04.2/gwenview-25.04.2.tar.xz) = 6533516
+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 b34809b9c076..66b4fc1069ea 100644
--- a/graphics/hyprgraphics/Makefile
+++ b/graphics/hyprgraphics/Makefile
@@ -1,9 +1,10 @@
PORTNAME= hyprgraphics
DISTVERSIONPREFIX= v
-DISTVERSION= 0.1.4
+DISTVERSION= 0.1.5
+PORTREVISION= 2
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= Hyprland graphics / resource utilities
WWW= https://github.com/hyprwm/hyprgraphics
diff --git a/graphics/hyprgraphics/distinfo b/graphics/hyprgraphics/distinfo
index 1dad374865e8..7ff976cbdc91 100644
--- a/graphics/hyprgraphics/distinfo
+++ b/graphics/hyprgraphics/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750621377
-SHA256 (hyprwm-hyprgraphics-v0.1.4_GH0.tar.gz) = 8b4662a0e687351da703a19e9cd9fdbe4b4b053e7380957584cda112c96feb9f
-SIZE (hyprwm-hyprgraphics-v0.1.4_GH0.tar.gz) = 425677
+TIMESTAMP = 1752149140
+SHA256 (hyprwm-hyprgraphics-v0.1.5_GH0.tar.gz) = 03bdd5a6e456c31cc17f973656326220f94e58a5f4ab33b2450ccb5d6a697a4c
+SIZE (hyprwm-hyprgraphics-v0.1.5_GH0.tar.gz) = 426523
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/iccxml/Makefile b/graphics/iccxml/Makefile
index 24ae8f35c1f8..a1f6f1997828 100644
--- a/graphics/iccxml/Makefile
+++ b/graphics/iccxml/Makefile
@@ -1,6 +1,6 @@
PORTNAME= iccxml
PORTVERSION= 0.9.8
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/IccXML-Src/${DISTNAME}
DISTNAME= IccXML-${PORTVERSION}
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/inkscape/Makefile b/graphics/inkscape/Makefile
index f05e4b1a89e3..e3992c26c80b 100644
--- a/graphics/inkscape/Makefile
+++ b/graphics/inkscape/Makefile
@@ -1,16 +1,9 @@
PORTNAME= inkscape
-DISTVERSION= 1.4
-PORTREVISION= 6
+DISTVERSION= 1.4.2
+PORTREVISION= 1
CATEGORIES= graphics gnome
MASTER_SITES= https://media.inkscape.org/dl/resources/file/
-PATCH_SITES= https://gitlab.com/${PORTNAME}/${PORTNAME}/-/commit/
-PATCHFILES+= eb6dadcf1a5c660167ba43f3606c8e7cc6529787.patch:-p1 # https://gitlab.com/inkscape/inkscape/-/merge_requests/6755
-PATCHFILES+= 49604afa97be08608b65687633b1373eb9cf524b.patch:-p1 # https://gitlab.com/inkscape/inkscape/-/merge_requests/6839
-PATCHFILES+= b1bd016ee3f91f3f5b2dbb928655eb049e8f62e4.patch:-p1 \
- 8abd30721e9bf5b15d705657d8e3a2103593e2f3.patch:-p1 # https://gitlab.com/inkscape/inkscape/-/merge_requests/6857
-PATCHFILES+= 9754274ea0ee76d9888ec0b306885ecba6926702.patch:-p1 # https://gitlab.com/inkscape/inkscape/-/merge_requests/6981
-
MAINTAINER= gnome@FreeBSD.org
COMMENT= Full featured open source SVG editor
WWW= https://inkscape.org
@@ -44,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} \
@@ -56,11 +49,11 @@ 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
-DATETAG= 2024-10-09_e7c3feb100
+DATETAG= 2025-05-08_ebf0e940d0
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}_${DATETAG}
BINARY_ALIAS= python3=${PYTHON_CMD}
diff --git a/graphics/inkscape/distinfo b/graphics/inkscape/distinfo
index 03d732908ec7..1624044a0d7c 100644
--- a/graphics/inkscape/distinfo
+++ b/graphics/inkscape/distinfo
@@ -1,13 +1,3 @@
-TIMESTAMP = 1742882145
-SHA256 (inkscape-1.4.tar.xz) = c59a85453b699addebcd51c1dc07684dd96a10c8aec716b19551db50562e13f5
-SIZE (inkscape-1.4.tar.xz) = 46321868
-SHA256 (eb6dadcf1a5c660167ba43f3606c8e7cc6529787.patch) = 2c2e04d8524fb75e7758ba43742512ad66447ec0b56f28279f4679b96cd1425f
-SIZE (eb6dadcf1a5c660167ba43f3606c8e7cc6529787.patch) = 1149
-SHA256 (49604afa97be08608b65687633b1373eb9cf524b.patch) = 1c29e4cf3a09a76c1b8cf874c8baee38725aaa00574919d7b79aa638c01dbf66
-SIZE (49604afa97be08608b65687633b1373eb9cf524b.patch) = 2171
-SHA256 (b1bd016ee3f91f3f5b2dbb928655eb049e8f62e4.patch) = 52bbbaab550af4e65dacfacb8ab1325e9db12f24d8520f0a791ecbda249dd70f
-SIZE (b1bd016ee3f91f3f5b2dbb928655eb049e8f62e4.patch) = 2860
-SHA256 (8abd30721e9bf5b15d705657d8e3a2103593e2f3.patch) = 82554a7c3295b4c5016c73c0de72c2b74a577a63d2fa61b032e3f02177ea46e5
-SIZE (8abd30721e9bf5b15d705657d8e3a2103593e2f3.patch) = 19162
-SHA256 (9754274ea0ee76d9888ec0b306885ecba6926702.patch) = 3956a80a968d861b6f6ff060fa507b15cb65f7f9d6ca49f8632fad454436248c
-SIZE (9754274ea0ee76d9888ec0b306885ecba6926702.patch) = 7207
+TIMESTAMP = 1749560080
+SHA256 (inkscape-1.4.2.tar.xz) = 2000530c7917e5260c9e8575a7154ff6926643d2006487d714e304a963f0c782
+SIZE (inkscape-1.4.2.tar.xz) = 53278452
diff --git a/graphics/inkscape/pkg-plist b/graphics/inkscape/pkg-plist
index a89a1abe0fcf..227a6dc1a69a 100644
--- a/graphics/inkscape/pkg-plist
+++ b/graphics/inkscape/pkg-plist
@@ -1,7 +1,7 @@
bin/inkscape
bin/inkview
lib/inkscape/libinkscape_base.so
-lib/inkscape/libinkscape_base.so.1.4.0.0
+lib/inkscape/libinkscape_base.so.1.4.2.0
share/applications/org.inkscape.Inkscape.desktop
share/bash-completion/completions/inkscape
share/icons/hicolor/16x16/apps/org.inkscape.Inkscape.png
@@ -189,6 +189,8 @@ share/icons/hicolor/symbolic/apps/org.inkscape.Inkscape-symbolic.svg
%%DATADIR%%/extensions/cgm_input.inx
%%DATADIR%%/extensions/cgm_input.py
%%DATADIR%%/extensions/cgm_parse.py
+%%DATADIR%%/extensions/clean_up_path.inx
+%%DATADIR%%/extensions/clean_up_path.py
%%DATADIR%%/extensions/color_blackandwhite.inx
%%DATADIR%%/extensions/color_blackandwhite.py
%%DATADIR%%/extensions/color_brighter.inx
@@ -553,6 +555,7 @@ share/icons/hicolor/symbolic/apps/org.inkscape.Inkscape-symbolic.svg
%%DATADIR%%/extensions/inkex/paths/quadratic.py
%%DATADIR%%/extensions/inkex/ports.py
%%DATADIR%%/extensions/inkex/properties.py
+%%DATADIR%%/extensions/inkex/py.typed
%%DATADIR%%/extensions/inkex/styles.py
%%DATADIR%%/extensions/inkex/tester/__init__.py
%%DATADIR%%/extensions/inkex/tester/decorators.py
@@ -722,14 +725,41 @@ share/icons/hicolor/symbolic/apps/org.inkscape.Inkscape-symbolic.svg
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/parser/types.py
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/parser/utils.py
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/__init__.py
+%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/adjustment.py
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/convert.py
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/curve.py
+%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/enhance.py
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/fill.py
+%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/raster.py
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/shape.py
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/styles.py
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/text.py
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/svg/util.py
%%DATADIR%%/extensions/other/extension-afdesign/inkaf/utils.py
+%%DATADIR%%/extensions/other/extension-curve/LICENSE
+%%DATADIR%%/extensions/other/extension-curve/inkvn-curve.inx
+%%DATADIR%%/extensions/other/extension-curve/inkvn.inx
+%%DATADIR%%/extensions/other/extension-curve/inkvn/__init__.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/__main__.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/elements/__init__.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/elements/artboard.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/elements/base.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/elements/group.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/elements/guide.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/elements/image.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/elements/path.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/elements/styles.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/elements/text.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/reader/__init__.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/reader/decode.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/reader/decode_vn.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/reader/extract.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/reader/read.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/reader/text.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/svg/__init__.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/svg/convert.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/utils.py
+%%DATADIR%%/extensions/other/extension-curve/inkvn/vninput.py
%%DATADIR%%/extensions/other/extension-xaml/LICENSE.txt
%%DATADIR%%/extensions/other/extension-xaml/docs/svg2xaml.rst
%%DATADIR%%/extensions/other/extension-xaml/inkxaml/__init__.py
@@ -4579,7 +4609,8 @@ share/icons/hicolor/symbolic/apps/org.inkscape.Inkscape-symbolic.svg
%%DATADIR%%/ui/highlight-colors.css
%%DATADIR%%/ui/image-properties.glade
%%DATADIR%%/ui/inkscape-about.glade
-%%DATADIR%%/ui/inkscape-start.glade
+%%DATADIR%%/ui/inkscape-splash.glade
+%%DATADIR%%/ui/inkscape-welcome.glade
%%DATADIR%%/ui/inkview-controls.ui
%%DATADIR%%/ui/inline-css.lang
%%DATADIR%%/ui/mac.css
@@ -4620,6 +4651,7 @@ share/icons/hicolor/symbolic/apps/org.inkscape.Inkscape-symbolic.svg
%%DATADIR%%/ui/toolbar-measure.ui
%%DATADIR%%/ui/toolbar-mesh.ui
%%DATADIR%%/ui/toolbar-node.ui
+%%DATADIR%%/ui/toolbar-objectpicker.ui
%%DATADIR%%/ui/toolbar-page.ui
%%DATADIR%%/ui/toolbar-paintbucket.ui
%%DATADIR%%/ui/toolbar-pencil.ui
diff --git a/graphics/jp/Makefile b/graphics/jp/Makefile
index 8aa5670f72c6..a669a6a42f0a 100644
--- a/graphics/jp/Makefile
+++ b/graphics/jp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= jp
DISTVERSION= 1.1.12
-PORTREVISION= 29
+PORTREVISION= 31
CATEGORIES= graphics
MAINTAINER= 0mp@FreeBSD.org
diff --git a/graphics/kamera/distinfo b/graphics/kamera/distinfo
index 4aa26de4c2d6..f813b7a1efa6 100644
--- a/graphics/kamera/distinfo
+++ b/graphics/kamera/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036750
-SHA256 (KDE/release-service/25.04.2/kamera-25.04.2.tar.xz) = a45fd021f95aa334d2f9994ddeaafa290f71580277192b6c5d2829637a8dc7e8
-SIZE (KDE/release-service/25.04.2/kamera-25.04.2.tar.xz) = 133004
+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 1755462bdd91..ff3812bfd25f 100644
--- a/graphics/kcolorchooser/distinfo
+++ b/graphics/kcolorchooser/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036752
-SHA256 (KDE/release-service/25.04.2/kcolorchooser-25.04.2.tar.xz) = 749f3a80498fb5632d5c835f4ac17eedd16d891dd74b8af06ca12445c7bc6a0f
-SIZE (KDE/release-service/25.04.2/kcolorchooser-25.04.2.tar.xz) = 36364
+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 ab17df618787..32811192bb05 100644
--- a/graphics/kdegraphics-mobipocket/distinfo
+++ b/graphics/kdegraphics-mobipocket/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036755
-SHA256 (KDE/release-service/25.04.2/kdegraphics-mobipocket-25.04.2.tar.xz) = ddd546e8fff5552e5b7e7294f3c63b6130d9a98f6155ea280fa861f793cf2337
-SIZE (KDE/release-service/25.04.2/kdegraphics-mobipocket-25.04.2.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 6e3d16bd30b0..c25ad0292e9d 100644
--- a/graphics/kdegraphics-svgpart/distinfo
+++ b/graphics/kdegraphics-svgpart/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036757
-SHA256 (KDE/release-service/25.04.2/svgpart-25.04.2.tar.xz) = afba527031489d32151134e31c2be13207be1f224ed7963f1d8170a2a28d2a9c
-SIZE (KDE/release-service/25.04.2/svgpart-25.04.2.tar.xz) = 30232
+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 fd49614c3fae..490086c93049 100644
--- a/graphics/kdegraphics-thumbnailers/distinfo
+++ b/graphics/kdegraphics-thumbnailers/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036760
-SHA256 (KDE/release-service/25.04.2/kdegraphics-thumbnailers-25.04.2.tar.xz) = 65a3caffe98aadb5e94023c674d163d1a3efb3da1f3b222f3d883143e2f7fe7c
-SIZE (KDE/release-service/25.04.2/kdegraphics-thumbnailers-25.04.2.tar.xz) = 49136
+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 9de6763b672b..3b6d678807e2 100644
--- a/graphics/kdegraphics/Makefile
+++ b/graphics/kdegraphics/Makefile
@@ -7,9 +7,9 @@ COMMENT= Graphics applications for KDE (meta port)
WWW= https://apps.kde.org/categories/graphics/
USES= kde:6 metaport qt:6
-USE_QT= #
-OPTIONS_DEFINE= GPHOTO \
+OPTIONS_DEFINE= COLORD \
+ GPHOTO \
GWENVIEW \
KCOLORCHOOSER \
KOLOURPAINT \
@@ -21,6 +21,9 @@ OPTIONS_DEFINE= GPHOTO \
OPTIONS_DEFAULT= ${OPTIONS_DEFINE}
+COLORD_DESC= Color profiles manager
+COLORD_RUN_DEPENDS= colord-kde>=0:graphics/colord-kde
+
GPHOTO_DESC= Digital camera manager
GPHOTO_RUN_DEPENDS= kamera>=${KDE_APPLICATIONS_VERSION}:graphics/kamera
diff --git a/graphics/kf5-kimageformats/Makefile b/graphics/kf5-kimageformats/Makefile
index 482c2b3a8726..808cc14b2c55 100644
--- a/graphics/kf5-kimageformats/Makefile
+++ b/graphics/kf5-kimageformats/Makefile
@@ -1,6 +1,6 @@
PORTNAME= kimageformats
DISTVERSION= ${KDE_FRAMEWORKS_VERSION}
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics kde kde-frameworks
MAINTAINER= kde@FreeBSD.org
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 7ab2e81fa96d..492efc844aa5 100644
--- a/graphics/kgraphviewer/distinfo
+++ b/graphics/kgraphviewer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036762
-SHA256 (KDE/release-service/25.04.2/kgraphviewer-25.04.2.tar.xz) = 484bf8132a1ecbec0a9fcf05274bb08081e6d288882a9835e86cb3177a7742bf
-SIZE (KDE/release-service/25.04.2/kgraphviewer-25.04.2.tar.xz) = 1595592
+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 9fc2b21de8a7..0da0e37b3a33 100644
--- a/graphics/kimagemapeditor/distinfo
+++ b/graphics/kimagemapeditor/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036765
-SHA256 (KDE/release-service/25.04.2/kimagemapeditor-25.04.2.tar.xz) = 53e9efb9f1807dd9feeb78590301e2607f831656c807d53852c14e67964d8d8d
-SIZE (KDE/release-service/25.04.2/kimagemapeditor-25.04.2.tar.xz) = 1077232
+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 6f6f1dda0a8c..2d6cd1efc4b3 100644
--- a/graphics/kolourpaint/distinfo
+++ b/graphics/kolourpaint/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036767
-SHA256 (KDE/release-service/25.04.2/kolourpaint-25.04.2.tar.xz) = 74e495d8c102fe206bc4e173fe53134a4397a0d7b52ce06289af21805baa5210
-SIZE (KDE/release-service/25.04.2/kolourpaint-25.04.2.tar.xz) = 5315008
+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 6c8591449c27..5d2c427a5725 100644
--- a/graphics/kontrast/distinfo
+++ b/graphics/kontrast/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036769
-SHA256 (KDE/release-service/25.04.2/kontrast-25.04.2.tar.xz) = 410ffa280235a4e3277a8efe953c4e134714dd7241913165bc24aaaa1350c1c2
-SIZE (KDE/release-service/25.04.2/kontrast-25.04.2.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 6e43d3c5368f..f4e06aa7a1d6 100644
--- a/graphics/kqtquickcharts/distinfo
+++ b/graphics/kqtquickcharts/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036772
-SHA256 (KDE/release-service/25.04.2/kqtquickcharts-25.04.2.tar.xz) = f1691c48efeea44285a36754697441027d87e078b6c0c421249571441f3179aa
-SIZE (KDE/release-service/25.04.2/kqtquickcharts-25.04.2.tar.xz) = 30868
+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 8a90c0ad7b66..b9f37d03bfe9 100644
--- a/graphics/ksanecore/distinfo
+++ b/graphics/ksanecore/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036774
-SHA256 (KDE/release-service/25.04.2/ksanecore-25.04.2.tar.xz) = 7039e9c4c1f2c295359a68d9581f07c0674572848391ac7ccbb1af22c07915d8
-SIZE (KDE/release-service/25.04.2/ksanecore-25.04.2.tar.xz) = 53996
+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/libetonyek01/Makefile b/graphics/libetonyek01/Makefile
index 680979c9bd0e..ec330333ec5a 100644
--- a/graphics/libetonyek01/Makefile
+++ b/graphics/libetonyek01/Makefile
@@ -1,5 +1,6 @@
PORTNAME= libetonyek
DISTVERSION= 0.1.12
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= graphics
MASTER_SITES= LODEV/${PORTNAME}
diff --git a/graphics/libgphoto2/Makefile b/graphics/libgphoto2/Makefile
index 529ea779fd27..10e9ddfdcf9a 100644
--- a/graphics/libgphoto2/Makefile
+++ b/graphics/libgphoto2/Makefile
@@ -1,5 +1,6 @@
PORTNAME= libgphoto2
PORTVERSION= 2.5.31
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= SF/gphoto/libgphoto/${PORTVERSION}
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 fcc9bded1bb9..acff213ed8dc 100644
--- a/graphics/libimagequant/Makefile
+++ b/graphics/libimagequant/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libimagequant
PORTVERSION= 4.3.4
-PORTREVISION= 3
+PORTREVISION= 4
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 ba02cda01df2..743ff369f367 100644
--- a/graphics/libkdcraw/distinfo
+++ b/graphics/libkdcraw/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036777
-SHA256 (KDE/release-service/25.04.2/libkdcraw-25.04.2.tar.xz) = de7bc44d0437a0dca94a1005360b96b00da4ffc501f513eff466c3eb2755fd8a
-SIZE (KDE/release-service/25.04.2/libkdcraw-25.04.2.tar.xz) = 37348
+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 c528b26aaca6..ba2778e7f8f1 100644
--- a/graphics/libkexiv2/distinfo
+++ b/graphics/libkexiv2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036779
-SHA256 (KDE/release-service/25.04.2/libkexiv2-25.04.2.tar.xz) = 9eebb0d9ec9773fc4a3db7fa19f6df6923860920ea2192ca9f9d9df96bc997d1
-SIZE (KDE/release-service/25.04.2/libkexiv2-25.04.2.tar.xz) = 60644
+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 2a94bf23b219..240d831a1b69 100644
--- a/graphics/libksane/distinfo
+++ b/graphics/libksane/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036782
-SHA256 (KDE/release-service/25.04.2/libksane-25.04.2.tar.xz) = c458fcc2f0ff52be768e77cb4cb3ca2150db8986ed8403cb19ff08bf5dadcec3
-SIZE (KDE/release-service/25.04.2/libksane-25.04.2.tar.xz) = 155908
+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/liblqr-1/Makefile b/graphics/liblqr-1/Makefile
index 77e92990cffd..62af1fc14566 100644
--- a/graphics/liblqr-1/Makefile
+++ b/graphics/liblqr-1/Makefile
@@ -2,7 +2,7 @@ PORTNAME= liblqr-1
PORTVERSION= 0.4.2
CATEGORIES= graphics
MASTER_SITES= http://liblqr.wdfiles.com/local--files/en:download-page/ \
- http://mirror.amdmi3.ru/distfiles/
+ https://mirror.amdmi3.ru/distfiles/
MAINTAINER= amdmi3@FreeBSD.org
COMMENT= Easy to use C/C++ seam carving library
diff --git a/graphics/libmypaint/Makefile b/graphics/libmypaint/Makefile
index 391a2a56ef64..cce8505134f6 100644
--- a/graphics/libmypaint/Makefile
+++ b/graphics/libmypaint/Makefile
@@ -4,7 +4,7 @@ PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= https://github.com/mypaint/libmypaint/releases/download/v${PORTVERSION}/
-MAINTAINER= kwm@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Brush library from the MyPaint project
WWW= http://mypaint.org/
diff --git a/graphics/libopendrive/Makefile b/graphics/libopendrive/Makefile
index b96a228fdbf8..e0aff6c9efeb 100644
--- a/graphics/libopendrive/Makefile
+++ b/graphics/libopendrive/Makefile
@@ -1,5 +1,6 @@
PORTNAME= libopendrive
PORTVERSION= 0.6.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= sunpoet@FreeBSD.org
@@ -9,13 +10,22 @@ WWW= https://github.com/pageldev/libOpenDRIVE
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= cmake compiler:c++14-lang
+BUILD_DEPENDS= catch2>=3.4.0:devel/catch2 \
+ pugixml>=1.14:textproc/pugixml
+LIB_DEPENDS= libpugixml.so:textproc/pugixml
+
+USES= cmake compiler:c++17-lang
CMAKE_ON= BUILD_SHARED_LIBS
USE_GITHUB= yes
GH_ACCOUNT= pageldev
GH_PROJECT= libOpenDRIVE
-GH_TAGNAME= edfd564
+GH_TAGNAME= 82c2dd9
+
+post-patch:
+ @${MKDIR} ${WRKSRC}/pugixml/
+ @${LN} -s ${LOCALBASE}/include/pugixml.hpp ${WRKSRC}/pugixml/pugixml.hpp
+ @${LN} -s ${LOCALBASE}/include/pugiconfig.hpp ${WRKSRC}/pugixml/pugiconfig.hpp
.include <bsd.port.mk>
diff --git a/graphics/libopendrive/distinfo b/graphics/libopendrive/distinfo
index 393438c08144..156664e687d5 100644
--- a/graphics/libopendrive/distinfo
+++ b/graphics/libopendrive/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748107894
-SHA256 (pageldev-libOpenDRIVE-0.6.0-edfd564_GH0.tar.gz) = 89184e50350f715e88d921dda95879b8693efd14d47d0a8cb8d6bc8635089e7e
-SIZE (pageldev-libOpenDRIVE-0.6.0-edfd564_GH0.tar.gz) = 132294
+TIMESTAMP = 1751375029
+SHA256 (pageldev-libOpenDRIVE-0.6.0-82c2dd9_GH0.tar.gz) = 366063848456c376b1a1e499b9f262bc0c024f579dae300ee190882900615cf5
+SIZE (pageldev-libOpenDRIVE-0.6.0-82c2dd9_GH0.tar.gz) = 152194
diff --git a/graphics/libopendrive/files/patch-CMakeLists.txt b/graphics/libopendrive/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..32b6609c0b7b
--- /dev/null
+++ b/graphics/libopendrive/files/patch-CMakeLists.txt
@@ -0,0 +1,62 @@
+--- CMakeLists.txt.orig 2025-07-04 08:27:24 UTC
++++ CMakeLists.txt
+@@ -20,22 +20,10 @@ include(CTest)
+ endif()
+
+ include(CTest)
+-include(FetchContent)
+ include(GNUInstallDirs)
+
+-FetchContent_Declare(
+- pugixml
+- GIT_REPOSITORY https://github.com/zeux/pugixml.git
+- GIT_TAG v1.14
+-)
+-FetchContent_MakeAvailable(pugixml)
+-
+-FetchContent_Declare(
+- Catch2
+- GIT_REPOSITORY https://github.com/catchorg/Catch2.git
+- GIT_TAG v3.4.0
+-)
+-FetchContent_MakeAvailable(Catch2)
++find_package(pugixml 1.14 REQUIRED)
++find_package(Catch2 3.4.0 REQUIRED)
+ include(Catch)
+
+ set(SOURCES
+@@ -59,19 +47,18 @@ set(SOURCES
+ src/RoadObject.cpp
+ src/RoadSignal.cpp
+ src/RoutingGraph.cpp
+- ${pugixml_SOURCE_DIR}/src/pugixml.cpp
+ )
+
+ add_library(OpenDrive ${SOURCES})
+ target_include_directories(
+ OpenDrive PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/pugixml>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+- $<BUILD_INTERFACE:${pugixml_SOURCE_DIR}/src>
+ )
+
+ add_executable(tests tests/test.cpp)
+-target_link_libraries(tests PRIVATE OpenDrive Catch2::Catch2WithMain)
++target_link_libraries(tests PRIVATE OpenDrive pugixml::pugixml Catch2::Catch2WithMain)
+ catch_discover_tests(tests WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tests)
+
+ install(
+@@ -80,12 +67,6 @@ install(
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+-)
+-install(
+- FILES
+- ${pugixml_SOURCE_DIR}/src/pugixml.hpp
+- ${pugixml_SOURCE_DIR}/src/pugiconfig.hpp
+- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ )
+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ install(TARGETS OpenDrive EXPORT OpenDriveConfig)
diff --git a/graphics/libopendrive/pkg-plist b/graphics/libopendrive/pkg-plist
index e54966418ff0..b94183fd63c1 100644
--- a/graphics/libopendrive/pkg-plist
+++ b/graphics/libopendrive/pkg-plist
@@ -1,4 +1,3 @@
-bin/test-xodr
cmake/OpenDriveConfig-%%CMAKE_BUILD_TYPE%%.cmake
cmake/OpenDriveConfig.cmake
include/CubicBezier.hpp
@@ -13,6 +12,7 @@ include/Junction.h
include/Lane.h
include/LaneSection.h
include/LaneValidityRecord.h
+include/Log.h
include/Math.hpp
include/Mesh.h
include/OpenDriveMap.h
@@ -25,6 +25,5 @@ include/RoadSignal.h
include/RoutingGraph.h
include/Utils.hpp
include/XmlNode.h
-include/pugixml/pugiconfig.hpp
-include/pugixml/pugixml.hpp
+include/earcut.hpp
lib/libOpenDrive.so
diff --git a/graphics/libopenraw/Makefile b/graphics/libopenraw/Makefile
index 9f35e0deeeba..928c93b1ffaf 100644
--- a/graphics/libopenraw/Makefile
+++ b/graphics/libopenraw/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libopenraw
PORTVERSION= 0.3.7
-PORTREVISION= 16
+PORTREVISION= 17
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/libplacebo/Makefile b/graphics/libplacebo/Makefile
index df9d9e7cb0a7..104571959fb1 100644
--- a/graphics/libplacebo/Makefile
+++ b/graphics/libplacebo/Makefile
@@ -1,6 +1,7 @@
PORTNAME= libplacebo
DISTVERSIONPREFIX= v
DISTVERSION= 7.351.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= jbeich@FreeBSD.org
diff --git a/graphics/librasterlite2/Makefile b/graphics/librasterlite2/Makefile
index d9c6b0779455..c787276f20fb 100644
--- a/graphics/librasterlite2/Makefile
+++ b/graphics/librasterlite2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= librasterlite2
PORTVERSION= 1.1.0
-PORTREVISION= 11
+PORTREVISION= 12
DISTVERSIONSUFFIX=-beta1
CATEGORIES= graphics geography
MASTER_SITES= http://www.gaia-gis.it/gaia-sins/librasterlite2-sources/
diff --git a/graphics/librsvg2-rust/Makefile b/graphics/librsvg2-rust/Makefile
index 008b63dffe83..93a33e2bb2ac 100644
--- a/graphics/librsvg2-rust/Makefile
+++ b/graphics/librsvg2-rust/Makefile
@@ -1,6 +1,6 @@
PORTNAME= librsvg
DISTVERSION= 2.60.0
-PORTREVISION= 2
+PORTREVISION= 4
CATEGORIES= graphics gnome
MASTER_SITES= GNOME
PKGNAMESUFFIX= 2-rust
diff --git a/graphics/librsvg2/Makefile b/graphics/librsvg2/Makefile
index 58e5ec83bdbf..9bc0e9c458be 100644
--- a/graphics/librsvg2/Makefile
+++ b/graphics/librsvg2/Makefile
@@ -1,10 +1,10 @@
PORTNAME= librsvg
PORTVERSION= 2.40.21
-PORTREVISION= 4
+PORTREVISION= 6
CATEGORIES= graphics gnome
MASTER_SITES= GNOME
PKGNAMESUFFIX= 2
-DIST_SUBDIR= gnome2
+DIST_SUBDIR= gnome
MAINTAINER= desktop@FreeBSD.org
COMMENT= Library for parsing and rendering SVG vector-graphic files
@@ -13,8 +13,6 @@ WWW= https://live.gnome.org/LibRsvg
LICENSE= GPLv2 LGPL20
LICENSE_COMB= multi
-BROKEN= Fails to build with libxml2 2.13+, error: unknown type name 'xmlParserCtxtPtr'
-
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libfontconfig.so:x11-fonts/fontconfig \
libpng.so:graphics/png \
@@ -22,21 +20,6 @@ LIB_DEPENDS= libfreetype.so:print/freetype2 \
USES= cpe gmake gnome libtool localbase pathfix pkgconfig tar:xz
-CONFLICTS_INSTALL= librsvg2-rust
-# librsvg2 2.42+ needs rust to build, which is not available on all
-# FreeBSD archs. So limit pure C version 2.40.x.
-PORTSCOUT= limit:^2\.40\.
-
-OPTIONS_DEFINE= DOCS VAPI
-OPTIONS_DEFAULT= DOCS VAPI
-OPTIONS_SUB= yes
-
-DOCS_CONFIGURE_ENABLE= grk-doc-html
-
-VAPI_USES= vala:build
-VAPI_CONFIGURE_ON= --enable-vala=yes
-VAPI_CONFIGURE_OFF= --enable-vala=no
-
USE_GNOME= cairo gnomeprefix gdkpixbuf introspection:build \
libxml2 pango
CPE_VENDOR= gnome
@@ -44,6 +27,7 @@ USE_LDCONFIG= yes
GNU_CONFIGURE= yes
GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
INSTALL_TARGET= install-strip
+TEST_TARGET= check
CONFIGURE_ARGS= --disable-Bsymbolic
DOCSDIR?= ${PREFIX}/share/doc
@@ -51,6 +35,22 @@ GNOME_HTML_DIR= ${DOCSDIR}
PLIST_SUB+= PORTVERSION=${PORTVERSION}
+CONFLICTS_INSTALL= librsvg2-rust
+# librsvg2 2.42+ needs rust to build, which is not available on all
+# FreeBSD archs. So limit pure C version 2.40.x.
+PORTSCOUT= limit:^2\.40\.
+
+OPTIONS_DEFINE= DOCS VAPI
+OPTIONS_DEFAULT= DOCS VAPI
+OPTIONS_SUB= yes
+
+DOCS_BUILD_DEPENDS= gtkdocize:textproc/gtk-doc
+DOCS_CONFIGURE_ENABLE= gtk-doc gtk-doc-html
+
+VAPI_USES= vala:build
+VAPI_CONFIGURE_ON= --enable-vala=yes
+VAPI_CONFIGURE_OFF= --enable-vala=no
+
post-patch:
@${REINPLACE_CMD} -e 's|GTK3_REQUIRED=3.[0-9][0-9].[0-9]|GTK3_REQUIRED=9.90.0|g' \
${WRKSRC}/configure
diff --git a/graphics/librsvg2/distinfo b/graphics/librsvg2/distinfo
index f9e4bc6ed69f..6022f5fd9fcf 100644
--- a/graphics/librsvg2/distinfo
+++ b/graphics/librsvg2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1583164702
-SHA256 (gnome2/librsvg-2.40.21.tar.xz) = f7628905f1cada84e87e2b14883ed57d8094dca3281d5bcb24ece4279e9a92ba
-SIZE (gnome2/librsvg-2.40.21.tar.xz) = 1655860
+TIMESTAMP = 1750895954
+SHA256 (gnome/librsvg-2.40.21.tar.xz) = f7628905f1cada84e87e2b14883ed57d8094dca3281d5bcb24ece4279e9a92ba
+SIZE (gnome/librsvg-2.40.21.tar.xz) = 1655860
diff --git a/graphics/librsvg2/files/patch-rsvg-css.c b/graphics/librsvg2/files/patch-rsvg-css.c
new file mode 100644
index 000000000000..396724399710
--- /dev/null
+++ b/graphics/librsvg2/files/patch-rsvg-css.c
@@ -0,0 +1,14 @@
+--- rsvg-css.c.orig 2018-10-01 22:50:22 UTC
++++ rsvg-css.c
+@@ -839,7 +839,11 @@ static void
+ }
+
+ static void
++#if LIBXML_VERSION < 21200
+ rsvg_xml_noerror (void *data, xmlErrorPtr error)
++#else
++rsvg_xml_noerror (void *data, const xmlError *error)
++#endif
+ {
+ }
+
diff --git a/graphics/librsvg2/files/patch-rsvg-private.h b/graphics/librsvg2/files/patch-rsvg-private.h
new file mode 100644
index 000000000000..9088e892fe56
--- /dev/null
+++ b/graphics/librsvg2/files/patch-rsvg-private.h
@@ -0,0 +1,10 @@
+--- rsvg-private.h.orig 2020-02-26 17:40:25 UTC
++++ rsvg-private.h
+@@ -32,6 +32,7 @@
+ #include "rsvg.h"
+
+ #include <libxml/SAX.h>
++#include <libxml/tree.h>
+ #include <libxml/xmlmemory.h>
+ #include <pango/pango.h>
+ #include <glib.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/maim/Makefile b/graphics/maim/Makefile
index 8ffd0188e69a..101e44468372 100644
--- a/graphics/maim/Makefile
+++ b/graphics/maim/Makefile
@@ -1,7 +1,7 @@
PORTNAME= maim
DISTVERSIONPREFIX= v
DISTVERSION= 5.8.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= 0mp@FreeBSD.org
diff --git a/graphics/mapnik/Makefile b/graphics/mapnik/Makefile
index 86242dcdde9e..1d31f4d9ec53 100644
--- a/graphics/mapnik/Makefile
+++ b/graphics/mapnik/Makefile
@@ -1,6 +1,7 @@
PORTNAME= mapnik
DISTVERSIONPREFIX= v
DISTVERSION= 4.1.0
+PORTREVISION= 1
CATEGORIES= graphics geography
MAINTAINER= hummeltech@sherpaguru.com
diff --git a/graphics/mapserver/Makefile b/graphics/mapserver/Makefile
index b4063e29fcdc..b2a9f1abd37a 100644
--- a/graphics/mapserver/Makefile
+++ b/graphics/mapserver/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mapserver
DISTVERSION= 8.4.0
-PORTREVISION= 1
+PORTREVISION= 3
CATEGORIES= graphics www geography
MASTER_SITES= https://download.osgeo.org/${PORTNAME}/ \
https://github.com/MapServer/MapServer/releases/download/rel-${DISTVERSION:S|.|-|g}/
diff --git a/graphics/menyoki/Makefile b/graphics/menyoki/Makefile
index 6d2b1af82cba..f4fbd570362b 100644
--- a/graphics/menyoki/Makefile
+++ b/graphics/menyoki/Makefile
@@ -1,7 +1,7 @@
PORTNAME= menyoki
DISTVERSIONPREFIX= v
DISTVERSION= 1.7.0
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/mesa-devel/Makefile b/graphics/mesa-devel/Makefile
index 64fef66afd57..e29686ccf786 100644
--- a/graphics/mesa-devel/Makefile
+++ b/graphics/mesa-devel/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mesa
-DISTVERSION= 25.1-branchpoint-3084
-DISTVERSIONSUFFIX= -g906d4d5dfe1
+DISTVERSION= 25.2-branchpoint-1603
+DISTVERSIONSUFFIX= -g071a7e5f8f5
CATEGORIES= graphics
PKGNAMESUFFIX= -devel
@@ -46,8 +46,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 +81,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 +95,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}
@@ -112,6 +117,7 @@ OPENCL_LIB_DEPENDS= libLLVMSPIRVLib.so.${OPENCL_SOVERSION}:devel/spirv-llvm-tran
OPENCL_RUN_DEPENDS= libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T}
OPENCL_SOVERSION= ${LLVM_VERSION}${${LLVM_VERSION}>=18:?.1:}
OPENCL_CONFIGURE_ENV= PKG_CONFIG_PATH="${LLVM_PREFIX}/libdata/pkgconfig"
+OPENCL_MESON_FALSE= b_lundef # environ
OPENCL_MESON_TRUE= gallium-rusticl
OPENCL_IMPLIES= LLVM ${"${PORT_OPTIONS:Miris}":?iris:radeonsi} # any from OPTIONS_GROUP_GALLIUM
@@ -127,7 +133,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 e2f55c780d07..f9a923ff67cb 100644
--- a/graphics/mesa-devel/distinfo
+++ b/graphics/mesa-devel/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1750721244
-SHA256 (mesa-25.1-branchpoint-3084-g906d4d5dfe1.tar.bz2) = 22c9940102f8e518c0917eb1644ab7e4294903aebe1048ada0696b5f638f1471
-SIZE (mesa-25.1-branchpoint-3084-g906d4d5dfe1.tar.bz2) = 58071653
+TIMESTAMP = 1755381390
+SHA256 (mesa-25.2-branchpoint-1603-g071a7e5f8f5.tar.bz2) = df2951843c660c76d3767c33412001db18e46cd7ddbeb19ce955fb647e5cd584
+SIZE (mesa-25.2-branchpoint-1603-g071a7e5f8f5.tar.bz2) = 58558251
SHA256 (700efacda59c.patch) = 0d567fe737ad1404e1f12d7cd018826d9095c23835f1ed5aaa1c81cb58d3d008
SIZE (700efacda59c.patch) = 983
SHA256 (2930dcbb3329.patch) = f90ab77950ba1a56d165f0bc8a3cbd9c5f624bb5c67d1c7f337316027e8295e8
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 b/graphics/mesa-dri/Makefile
index a3bec451e098..8f19ef46964e 100644
--- a/graphics/mesa-dri/Makefile
+++ b/graphics/mesa-dri/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mesa-dri
PORTVERSION= ${MESAVERSION}
-PORTREVISION= 6
+PORTREVISION= 8
CATEGORIES= graphics
COMMENT= OpenGL hardware acceleration drivers for DRI2+
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/minder/Makefile b/graphics/minder/Makefile
index 8b22d90e9cb5..aaa5242e945c 100644
--- a/graphics/minder/Makefile
+++ b/graphics/minder/Makefile
@@ -1,5 +1,6 @@
PORTNAME= minder
PORTVERSION= 1.17.0
+PORTREVISION= 1
CATEGORIES= graphics
# avoid PKGBASE collision with net-p2p/minder
PKGNAMESUFFIX= -app
diff --git a/graphics/mirtk/Makefile b/graphics/mirtk/Makefile
index fb5967d48c4c..28b3fa763607 100644
--- a/graphics/mirtk/Makefile
+++ b/graphics/mirtk/Makefile
@@ -1,13 +1,14 @@
PORTNAME= mirtk
DISTVERSIONPREFIX= v
-DISTVERSION= 2.0.0-178
-PORTREVISION= 12
-DISTVERSIONSUFFIX= -g973ce2f
+DISTVERSION= 2.0.0-179
+PORTREVISION= 1
+DISTVERSIONSUFFIX= -gef71a17
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
COMMENT= Medical Image Registration ToolKit (MIRTK)
-WWW= https://mirtk.github.io/
+WWW= https://mirtk.github.io/ \
+ https://github.com/BioMedIA/MIRTK
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
@@ -17,13 +18,15 @@ BUILD_DEPENDS= boost-libs>0:devel/boost-libs \
LIB_DEPENDS= libpng16.so:graphics/png
USES= cmake compiler:c++11-lang eigen:3 perl5 python
+USE_CXXSTD= c++14
+USE_LDCONFIG= yes
+
USE_GITHUB= yes
GH_ACCOUNT= BioMedIA
GH_PROJECT= ${PORTNAME:tu}
-USE_LDCONFIG= yes
OPTIONS_DEFINE= TBB VTK
-OPTIONS_DEFAULT= TBB VTK
+OPTIONS_DEFAULT= TBB #VTK
TBB_DESC= Build with TBB
TBB_CMAKE_BOOL= WITH_TBB
@@ -33,6 +36,7 @@ VTK_DESC= Build with the VTK toolkit
VTK_CMAKE_BOOL= WITH_VTK
VTK_LIB_DEPENDS= libvtkCommonCore-${VTK_VER}.so:math/vtk${VTK_VER:R} \
libexpat.so:textproc/expat2
+VTK_BROKEN= causes compilation failure due to use of deprecated feature using std::bind1st, see https://github.com/BioMedIA/MIRTK/issues/789
.include <../../math/vtk9/Makefile.version>
.include <bsd.port.mk>
diff --git a/graphics/mirtk/distinfo b/graphics/mirtk/distinfo
index 063e17f809ef..8c77f474687e 100644
--- a/graphics/mirtk/distinfo
+++ b/graphics/mirtk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1659025897
-SHA256 (BioMedIA-MIRTK-v2.0.0-178-g973ce2f_GH0.tar.gz) = 58e2f1ab1f9f161d63faa3a044bbe31dea315897d30a1b5754a3de83176765c0
-SIZE (BioMedIA-MIRTK-v2.0.0-178-g973ce2f_GH0.tar.gz) = 2905912
+TIMESTAMP = 1750917659
+SHA256 (BioMedIA-MIRTK-v2.0.0-179-gef71a17_GH0.tar.gz) = 7f95229472dda2979bcefbb80a37942817f28a845eb10fa75462405ff02df2dd
+SIZE (BioMedIA-MIRTK-v2.0.0-179-gef71a17_GH0.tar.gz) = 2905635
diff --git a/graphics/mupdf/Makefile b/graphics/mupdf/Makefile
index 057881eb99c8..4dfeb91496f5 100644
--- a/graphics/mupdf/Makefile
+++ b/graphics/mupdf/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mupdf
-DISTVERSION= 1.25.6
+DISTVERSION= 1.26.5
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..e3da45cbc77e 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 = 1755063764
+SHA256 (mupdf-1.26.5-source.tar.gz) = a52daf7b2f41c5dc94d4691cd1e7cae25fc488556e614d8c3c4491d327473c40
+SIZE (mupdf-1.26.5-source.tar.gz) = 64529860
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/nip2/Makefile b/graphics/nip2/Makefile
index edd543bb23df..05cc0ee67ddf 100644
--- a/graphics/nip2/Makefile
+++ b/graphics/nip2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= nip2
PORTVERSION= 8.7.1
-PORTREVISION= 14
+PORTREVISION= 15
CATEGORIES= graphics
MASTER_SITES= https://github.com/libvips/${PORTNAME}/releases/download/v${PORTVERSION}/
diff --git a/graphics/noaa-apt/Makefile b/graphics/noaa-apt/Makefile
index 8231ba2d6242..c688f52664cd 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= 12
+PORTREVISION= 13
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 b6bfde43b6f3..9629da9e33f4 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
+NVIDIA_DISTVERSION?= 575.64.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 7946a22f9991..079b427dbece 100644
--- a/graphics/nvidia-drm-510-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-510-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750513021
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452
+TIMESTAMP = 1753242855
+SHA256 (NVIDIA-FreeBSD-x86_64-575.64.05.tar.xz) = 8831b28b41b821fac90db30a9cfe13481a9d8bd46d0ffeb544fd8c4fbbab538f
+SIZE (NVIDIA-FreeBSD-x86_64-575.64.05.tar.xz) = 287953228
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..22045b12adc1 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 = 1754443072
+SHA256 (NVIDIA-FreeBSD-x86_64-570.181.tar.xz) = b5e5f1acc5d2f55be9b34ba209c308fa3a716ac489f37a1805d5e9ae5d8ce166
+SIZE (NVIDIA-FreeBSD-x86_64-570.181.tar.xz) = 261233752
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 c82bf66cc78e..1be93d31e8a5 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
+NVIDIA_DISTVERSION?= 575.64.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 c30652a950d9..3ff96f22f8df 100644
--- a/graphics/nvidia-drm-515-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-515-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750497473
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452
+TIMESTAMP = 1753243021
+SHA256 (NVIDIA-FreeBSD-x86_64-575.64.05.tar.xz) = 8831b28b41b821fac90db30a9cfe13481a9d8bd46d0ffeb544fd8c4fbbab538f
+SIZE (NVIDIA-FreeBSD-x86_64-575.64.05.tar.xz) = 287953228
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..a500ead57db8 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 = 1754443102
+SHA256 (NVIDIA-FreeBSD-x86_64-570.181.tar.xz) = b5e5f1acc5d2f55be9b34ba209c308fa3a716ac489f37a1805d5e9ae5d8ce166
+SIZE (NVIDIA-FreeBSD-x86_64-570.181.tar.xz) = 261233752
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 d059040f5e2f..f8d1c8cfff8a 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
+NVIDIA_DISTVERSION?= 575.64.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 934b49d0bd27..3bcfa21add5b 100644
--- a/graphics/nvidia-drm-61-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-61-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750497952
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452
+TIMESTAMP = 1753243692
+SHA256 (NVIDIA-FreeBSD-x86_64-575.64.05.tar.xz) = 8831b28b41b821fac90db30a9cfe13481a9d8bd46d0ffeb544fd8c4fbbab538f
+SIZE (NVIDIA-FreeBSD-x86_64-575.64.05.tar.xz) = 287953228
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..2c6bc1e046d9 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 = 1754443116
+SHA256 (NVIDIA-FreeBSD-x86_64-570.181.tar.xz) = b5e5f1acc5d2f55be9b34ba209c308fa3a716ac489f37a1805d5e9ae5d8ce166
+SIZE (NVIDIA-FreeBSD-x86_64-570.181.tar.xz) = 261233752
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 09c5db366d3f..36b1a7fc5084 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
+NVIDIA_DISTVERSION?= 575.64.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 db68437d2905..d855415e360e 100644
--- a/graphics/nvidia-drm-66-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-66-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750498510
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452
+TIMESTAMP = 1753243532
+SHA256 (NVIDIA-FreeBSD-x86_64-575.64.05.tar.xz) = 8831b28b41b821fac90db30a9cfe13481a9d8bd46d0ffeb544fd8c4fbbab538f
+SIZE (NVIDIA-FreeBSD-x86_64-575.64.05.tar.xz) = 287953228
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..95f7ac50e124 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 = 1754443131
+SHA256 (NVIDIA-FreeBSD-x86_64-570.181.tar.xz) = b5e5f1acc5d2f55be9b34ba209c308fa3a716ac489f37a1805d5e9ae5d8ce166
+SIZE (NVIDIA-FreeBSD-x86_64-570.181.tar.xz) = 261233752
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 1f5bfb06325a..14acc6b83160 100644
--- a/graphics/nvidia-drm-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-DISTVERSION= 575.64
+DISTVERSION?= 575.64.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 5bdea71b7f3c..53c23bdb42db 100644
--- a/graphics/ocrs/Makefile
+++ b/graphics/ocrs/Makefile
@@ -1,7 +1,6 @@
PORTNAME= ocrs
DISTVERSIONPREFIX= ocrs-cli-v
-DISTVERSION= 0.10.3
-PORTREVISION= 1
+DISTVERSION= 0.10.4
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -50,7 +49,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 +65,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 +91,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 65b88eb23eab..bd4426eaf6bc 100644
--- a/graphics/oculante/Makefile
+++ b/graphics/oculante/Makefile
@@ -1,6 +1,6 @@
PORTNAME= oculante
DISTVERSION= 0.9.2
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/ogre3d/Makefile b/graphics/ogre3d/Makefile
index 3bfecb0bee0a..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
@@ -79,10 +80,17 @@ PYTHON_USES= python
CXXFLAGS+= -DNDEBUG -I${LOCALBASE}/include -I${LOCALBASE}/include/Imath
PLIST_SUB+= LIBVERSION=${PORTVERSION:R}
+.include <bsd.port.options.mk>
+
post-patch:
@${REINPLACE_CMD} -e '\
s,defined(__x86_64__),& || defined(__amd64__),' \
${WRKSRC}/OgreMain/include/OgrePlatform.h
+.if ${ARCH:Naarch64:Namd64}
+ @${REINPLACE_CMD} -e '\
+ /check_cxx_compiler_flag(-msse OGRE_GCC_HAS_SSE)/d' \
+ ${WRKSRC}/CMakeLists.txt
+.endif
post-patch-PYTHON-on:
@${REINPLACE_CMD} -e 's/\(Python_ADDITIONAL_VERSIONS\) [0-9\.]*/\$1 ${PYTHON_VER}/' \
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 ed9d8884b8d2..05163ec792c6 100644
--- a/graphics/okular/distinfo
+++ b/graphics/okular/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036784
-SHA256 (KDE/release-service/25.04.2/okular-25.04.2.tar.xz) = bf2102fe7769b504e1934d46bf299398a6529fa2a96ca302bf7898c131b25cea
-SIZE (KDE/release-service/25.04.2/okular-25.04.2.tar.xz) = 8191024
+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/opencollada/Makefile b/graphics/opencollada/Makefile
index cdb5c673c2a8..be79b65ea1a7 100644
--- a/graphics/opencollada/Makefile
+++ b/graphics/opencollada/Makefile
@@ -1,7 +1,7 @@
PORTNAME= opencollada
DISTVERSIONPREFIX= v
PORTVERSION= 1.6.68
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics devel
MAINTAINER= sunpoet@FreeBSD.org
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 a3c6ed6b53cb..855ea787d443 100644
--- a/graphics/opencv/Makefile
+++ b/graphics/opencv/Makefile
@@ -1,8 +1,11 @@
PORTNAME= opencv
DISTVERSION= 4.11.0
-PORTREVISION= 1
+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/openfx-arena/Makefile b/graphics/openfx-arena/Makefile
index cb589b0eb22b..71fa2eaf0a7b 100644
--- a/graphics/openfx-arena/Makefile
+++ b/graphics/openfx-arena/Makefile
@@ -1,7 +1,7 @@
PORTNAME= openfx-arena
PORTVERSION= 2.4.3
DISTVERSIONPREFIX= Natron-
-PORTREVISION= 20
+PORTREVISION= 21
CATEGORIES= graphics
MAINTAINER= olivier@FreeBSD.org
diff --git a/graphics/openimageio/Makefile b/graphics/openimageio/Makefile
index 092b897889ee..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?= 8
+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/openslide/Makefile b/graphics/openslide/Makefile
index 030f5a1657f7..8ce31d1bc1a2 100644
--- a/graphics/openslide/Makefile
+++ b/graphics/openslide/Makefile
@@ -1,7 +1,7 @@
PORTNAME= openslide
DISTVERSIONPREFIX= v
DISTVERSION= 4.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/openxr/Makefile b/graphics/openxr/Makefile
index 1582af4ad9e1..628f543d4e94 100644
--- a/graphics/openxr/Makefile
+++ b/graphics/openxr/Makefile
@@ -1,6 +1,6 @@
PORTNAME= openxr
DISTVERSIONPREFIX= release-
-DISTVERSION= 1.1.49
+DISTVERSION= 1.1.50
CATEGORIES= graphics
MAINTAINER= vvd@FreeBSD.org
diff --git a/graphics/openxr/distinfo b/graphics/openxr/distinfo
index 7ca8036e5fc5..94dcfc57d04f 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 = 1753960000
+SHA256 (KhronosGroup-OpenXR-SDK-release-1.1.50_GH0.tar.gz) = 9e077d464c688b5063f838e13357ee9639ea33dacc50a9e8207c79a8a93c94c6
+SIZE (KhronosGroup-OpenXR-SDK-release-1.1.50_GH0.tar.gz) = 709092
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 4732c45355a7..d40d201ac11e 100644
--- a/graphics/osg34/Makefile
+++ b/graphics/osg34/Makefile
@@ -1,11 +1,11 @@
PORTNAME= osg
PORTVERSION= 3.4.1
DISTVERSIONPREFIX= OpenSceneGraph-
-PORTREVISION= 64
+PORTREVISION= 65
CATEGORIES= graphics
PKGNAMESUFFIX= 34
-MAINTAINER= amdmi3@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= C++ OpenGL scene graph library for real-time rendering
WWW= https://www.openscenegraph.org/
@@ -14,6 +14,9 @@ LICENSE_NAME= OpenSceneGraph Public License
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+DEPRECATED= Obsolete version released in 2015
+EXPIRATION_DATE=2025-09-10
+
LIB_DEPENDS= libpng.so:graphics/png \
libtiff.so:graphics/tiff
diff --git a/graphics/oxipng/Makefile b/graphics/oxipng/Makefile
index 83b5c2833c5a..9bc49affc10f 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= 1
+PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= eduardo@FreeBSD.org
diff --git a/graphics/oyranos/Makefile b/graphics/oyranos/Makefile
index 75dde74cca74..699efa6b02b6 100644
--- a/graphics/oyranos/Makefile
+++ b/graphics/oyranos/Makefile
@@ -1,6 +1,6 @@
PORTNAME= oyranos
PORTVERSION= 0.9.6
-PORTREVISION= 17
+PORTREVISION= 18
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/p5-Cairo/Makefile b/graphics/p5-Cairo/Makefile
index e7e20d61515f..2d6f99f601dd 100644
--- a/graphics/p5-Cairo/Makefile
+++ b/graphics/p5-Cairo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Cairo
PORTVERSION= 1.109
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics perl5
MASTER_SITES= CPAN \
SF/gtk2-perl/Cairo/${PORTVERSION}
diff --git a/graphics/p5-Cairo/files/patch-Makefile.PL b/graphics/p5-Cairo/files/patch-Makefile.PL
new file mode 100644
index 000000000000..b90da87f1d95
--- /dev/null
+++ b/graphics/p5-Cairo/files/patch-Makefile.PL
@@ -0,0 +1,14 @@
+Propagate Perl's ccflags to make sure it uses Perl's headers the same way as
+Perl itself.
+
+--- Makefile.PL.orig 2021-01-19 17:26:47 UTC
++++ Makefile.PL
+@@ -612,7 +612,7 @@ my $dep = ExtUtils::Depends->new ('Cairo');
+ push @typemaps, 'cairo-perl.typemap';
+
+ my $dep = ExtUtils::Depends->new ('Cairo');
+-$dep->set_inc ('-I. -I'.$autogen_dir.' '.$cairo_cfg{cflags});
++$dep->set_inc ('-I. -I'.$autogen_dir.' '.$cairo_cfg{cflags}.' '.$Config::Config{ccflags});
+ $dep->set_libs ($cairo_cfg{libs});
+ $dep->add_xs (@xs_files);
+ $dep->add_c (qw/cairo-perl-enums.c cairo-perl-flags.c/);
diff --git a/graphics/p5-Chart-Clicker/Makefile b/graphics/p5-Chart-Clicker/Makefile
index 2e1081d4b90f..9aa285befe17 100644
--- a/graphics/p5-Chart-Clicker/Makefile
+++ b/graphics/p5-Chart-Clicker/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Chart-Clicker
PORTVERSION= 2.90
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
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-Geo-GDAL-FFI/Makefile b/graphics/p5-Geo-GDAL-FFI/Makefile
index 29bea464759d..65aa139595f8 100644
--- a/graphics/p5-Geo-GDAL-FFI/Makefile
+++ b/graphics/p5-Geo-GDAL-FFI/Makefile
@@ -1,6 +1,5 @@
PORTNAME= Geo-GDAL-FFI
-PORTVERSION= 0.12
-PORTREVISION= 3
+PORTVERSION= 0.13
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
diff --git a/graphics/p5-Geo-GDAL-FFI/distinfo b/graphics/p5-Geo-GDAL-FFI/distinfo
index 739b34255ae7..753e65589ae6 100644
--- a/graphics/p5-Geo-GDAL-FFI/distinfo
+++ b/graphics/p5-Geo-GDAL-FFI/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1720022746
-SHA256 (Geo-GDAL-FFI-0.12.tar.gz) = 318223323b15c927cd657cb44556bd0658e5da2f1d04a3cc5cc0231b7b46baa2
-SIZE (Geo-GDAL-FFI-0.12.tar.gz) = 53610
+TIMESTAMP = 1750954158
+SHA256 (Geo-GDAL-FFI-0.13.tar.gz) = 4dbe4a78d282be9ec3cdf4e1050297a71cc8e2ecc15360ddfe8587303bcc485d
+SIZE (Geo-GDAL-FFI-0.13.tar.gz) = 53744
diff --git a/graphics/p5-Gimp/Makefile b/graphics/p5-Gimp/Makefile
index f6d7e1b34eae..d20507687cf6 100644
--- a/graphics/p5-Gimp/Makefile
+++ b/graphics/p5-Gimp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Gimp
PORTVERSION= 2.38
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -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-Graphics-Primitive-Driver-Cairo/Makefile b/graphics/p5-Graphics-Primitive-Driver-Cairo/Makefile
index 12228117675b..ed566295beeb 100644
--- a/graphics/p5-Graphics-Primitive-Driver-Cairo/Makefile
+++ b/graphics/p5-Graphics-Primitive-Driver-Cairo/Makefile
@@ -1,5 +1,6 @@
PORTNAME= Graphics-Primitive-Driver-Cairo
PORTVERSION= 0.47
+PORTREVISION= 1
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
diff --git a/graphics/p5-Image-ExifTool-devel/Makefile b/graphics/p5-Image-ExifTool-devel/Makefile
index d21dc195fa69..3c49754cec8d 100644
--- a/graphics/p5-Image-ExifTool-devel/Makefile
+++ b/graphics/p5-Image-ExifTool-devel/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Image-ExifTool
-DISTVERSION= 13.31
+DISTVERSION= 13.33
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 cd94ac1c8c1b..ddf0a5f0c82f 100644
--- a/graphics/p5-Image-ExifTool-devel/distinfo
+++ b/graphics/p5-Image-ExifTool-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750413449
-SHA256 (Image-ExifTool-13.31.tar.gz) = 3894786f28ef6b625646bf26f033938c104216baefdf94d0178f46a16c5ad5c0
-SIZE (Image-ExifTool-13.31.tar.gz) = 7459422
+TIMESTAMP = 1753562706
+SHA256 (Image-ExifTool-13.33.tar.gz) = 0cc6ecb10d529969a7e7766f5160ad591efa9bba7513b9185c8a1e6c54421fed
+SIZE (Image-ExifTool-13.33.tar.gz) = 7487576
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/rigsofrods-pagedgeometry/Makefile b/graphics/pagedgeometry/Makefile
index 46b5caa013ec..6faca757849a 100644
--- a/graphics/rigsofrods-pagedgeometry/Makefile
+++ b/graphics/pagedgeometry/Makefile
@@ -1,7 +1,6 @@
-PORTNAME= rigsofrods-pagedgeometry
+PORTNAME= pagedgeometry
DISTVERSIONPREFIX= v
-DISTVERSION= 1.2.0.20240708
-PORTREVISION= 1
+DISTVERSION= 1.2.0.20250527
CATEGORIES= graphics
MAINTAINER= monwarez@mailoo.org
@@ -9,7 +8,7 @@ COMMENT= OGRE plugin for real-time dense forests
WWW= https://www.ogre3d.org/tikiwiki/PagedGeometry+Engine
LICENSE= ZLIB
-LICENSE_FILE= ${WRKSRC}/zlib.txt
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
LIB_DEPENDS= libOgreMain.so:graphics/ogre3d
@@ -17,9 +16,9 @@ USES= cmake dos2unix pathfix pkgconfig
DOS2UNIX_GLOB= *.cpp *.h *.txt
USE_CXXSTD= c++14
USE_GITHUB= yes
-GH_ACCOUNT= RigsOfRods
+GH_ACCOUNT= OGRECave
GH_PROJECT= ogre-pagedgeometry
-GH_TAGNAME= 428a57a
+GH_TAGNAME= 5776681
USE_LDCONFIG= yes
CMAKE_ARGS= -DPAGEDGEOMETRY_BUILD_SAMPLES=FALSE
diff --git a/graphics/pagedgeometry/distinfo b/graphics/pagedgeometry/distinfo
new file mode 100644
index 000000000000..dc65097a7c67
--- /dev/null
+++ b/graphics/pagedgeometry/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1750960417
+SHA256 (OGRECave-ogre-pagedgeometry-v1.2.0.20250527-5776681_GH0.tar.gz) = f51eaf5a8b13f4513224ad419cc7f2a1e3183b27fcd52f2bc375369df4f7cd75
+SIZE (OGRECave-ogre-pagedgeometry-v1.2.0.20250527-5776681_GH0.tar.gz) = 10903123
diff --git a/graphics/rigsofrods-pagedgeometry/pkg-descr b/graphics/pagedgeometry/pkg-descr
index 637fc9f60ca6..637fc9f60ca6 100644
--- a/graphics/rigsofrods-pagedgeometry/pkg-descr
+++ b/graphics/pagedgeometry/pkg-descr
diff --git a/graphics/rigsofrods-pagedgeometry/pkg-plist b/graphics/pagedgeometry/pkg-plist
index 9e2f26821e63..6649f05e21ec 100644
--- a/graphics/rigsofrods-pagedgeometry/pkg-plist
+++ b/graphics/pagedgeometry/pkg-plist
@@ -11,5 +11,9 @@ include/PagedGeometry/TreeLoader2D.h
include/PagedGeometry/TreeLoader3D.h
include/PagedGeometry/WindBatchPage.h
include/PagedGeometry/WindBatchedGeometry.h
+lib/cmake/PagedGeometry/PagedGeometryConfig.cmake
+lib/cmake/PagedGeometry/PagedGeometryConfigVersion.cmake
+lib/cmake/PagedGeometry/PagedGeometryTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/PagedGeometry/PagedGeometryTargets.cmake
lib/libPagedGeometry.a
libdata/pkgconfig/PagedGeometry.pc
diff --git a/graphics/pastel/Makefile b/graphics/pastel/Makefile
index 427ac0110d68..332db5718b0c 100644
--- a/graphics/pastel/Makefile
+++ b/graphics/pastel/Makefile
@@ -1,12 +1,11 @@
PORTNAME= pastel
DISTVERSIONPREFIX= v
-DISTVERSION= 0.9.0
-PORTREVISION= 23
+DISTVERSION= 0.10.0
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 +15,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/pcl-pointclouds/Makefile b/graphics/pcl-pointclouds/Makefile
index 1e5e23d47a4b..773481c48ddc 100644
--- a/graphics/pcl-pointclouds/Makefile
+++ b/graphics/pcl-pointclouds/Makefile
@@ -1,7 +1,7 @@
PORTNAME= pcl
DISTVERSIONPREFIX= pcl-
DISTVERSION= 1.15.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics math
#MASTER_SITES= https://github.com/PointCloudLibrary/${PORTNAME}/releases/download/${PORTNAME}-${DISTVERSION}/
PKGNAMESUFFIX= -pointclouds
diff --git a/graphics/pecl-geospatial/Makefile b/graphics/pecl-geospatial/Makefile
index 77d642457627..9cba37ef2cc7 100644
--- a/graphics/pecl-geospatial/Makefile
+++ b/graphics/pecl-geospatial/Makefile
@@ -1,5 +1,5 @@
PORTNAME= geospatial
-PORTVERSION= 0.3.2
+PORTVERSION= 0.3.3
CATEGORIES= graphics
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/graphics/pecl-geospatial/distinfo b/graphics/pecl-geospatial/distinfo
index da24860c53f9..ec1ee06cd206 100644
--- a/graphics/pecl-geospatial/distinfo
+++ b/graphics/pecl-geospatial/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1715842482
-SHA256 (PECL/geospatial-0.3.2.tgz) = 3b704d44c4851f04da78ceafca14358257345b8a22d71b2fa0bd5ac705475449
-SIZE (PECL/geospatial-0.3.2.tgz) = 12502
+TIMESTAMP = 1750954164
+SHA256 (PECL/geospatial-0.3.3.tgz) = 370f1f72bbd4d7d48f2b925f94aab5d35b587f82fe0366a9e09c92aa3bcf337d
+SIZE (PECL/geospatial-0.3.3.tgz) = 12972
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/php85-exif/Makefile b/graphics/php85-exif/Makefile
new file mode 100644
index 000000000000..5c5291702f25
--- /dev/null
+++ b/graphics/php85-exif/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES= graphics
+
+MASTERDIR= ${.CURDIR}/../../lang/php85
+
+PKGNAMESUFFIX= -exif
+
+.include "${MASTERDIR}/Makefile"
diff --git a/graphics/php85-gd/Makefile b/graphics/php85-gd/Makefile
new file mode 100644
index 000000000000..71249f74c62d
--- /dev/null
+++ b/graphics/php85-gd/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES= graphics
+
+MASTERDIR= ${.CURDIR}/../../lang/php85
+
+PKGNAMESUFFIX= -gd
+
+.include "${MASTERDIR}/Makefile"
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 9a4520bb30ac..1ec00929ca5e 100644
--- a/graphics/plasma6-spectacle/distinfo
+++ b/graphics/plasma6-spectacle/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750789608
-SHA256 (KDE/plasma/6.4.1/spectacle-6.4.1.tar.xz) = 547b8cc651730916104a8b1313504814eca7fe6a5abce254c10b37ffa1b13e34
-SIZE (KDE/plasma/6.4.1/spectacle-6.4.1.tar.xz) = 1597848
+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 6edaf5cb957c..c8beffdfb75a 100644
--- a/graphics/podofo/Makefile
+++ b/graphics/podofo/Makefile
@@ -1,5 +1,6 @@
PORTNAME= podofo
PORTVERSION= 0.10.4
+PORTREVISION= 2
CATEGORIES= graphics print
MAINTAINER= sunpoet@FreeBSD.org
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-cairosvg/Makefile b/graphics/py-cairosvg/Makefile
index 9efe71f55ccb..97afd649e745 100644
--- a/graphics/py-cairosvg/Makefile
+++ b/graphics/py-cairosvg/Makefile
@@ -1,10 +1,8 @@
PORTNAME= cairosvg
-PORTVERSION= 2.7.1
-PORTREVISION= 1
+PORTVERSION= 2.8.2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= CairoSVG-${PORTVERSION}
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Simple SVG Converter based on Cairo
diff --git a/graphics/py-cairosvg/distinfo b/graphics/py-cairosvg/distinfo
index ea9d4301c5e5..5012259f3c73 100644
--- a/graphics/py-cairosvg/distinfo
+++ b/graphics/py-cairosvg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1692211789
-SHA256 (CairoSVG-2.7.1.tar.gz) = 432531d72347291b9a9ebfb6777026b607563fd8719c46ee742db0aef7271ba0
-SIZE (CairoSVG-2.7.1.tar.gz) = 8399085
+TIMESTAMP = 1750954208
+SHA256 (cairosvg-2.8.2.tar.gz) = 07cbf4e86317b27a92318a4cac2a4bb37a5e9c1b8a27355d06874b22f85bef9f
+SIZE (cairosvg-2.8.2.tar.gz) = 8398590
diff --git a/graphics/py-f3d/Makefile b/graphics/py-f3d/Makefile
index 22af77e74471..b14fe006e826 100644
--- a/graphics/py-f3d/Makefile
+++ b/graphics/py-f3d/Makefile
@@ -1,6 +1,6 @@
PORTNAME= f3d
DISTVERSIONPREFIX= v
-DISTVERSION= 3.1.0
+DISTVERSION= 3.2.0
CATEGORIES= graphics
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-f3d/distinfo b/graphics/py-f3d/distinfo
index 2fa9f5ca6487..323a3c87394b 100644
--- a/graphics/py-f3d/distinfo
+++ b/graphics/py-f3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748895401
-SHA256 (f3d-app-f3d-v3.1.0_GH0.tar.gz) = 93ba23078133122e929d9c1e2946c86da1f08fe56b9ffae40ebfd8185e91380a
-SIZE (f3d-app-f3d-v3.1.0_GH0.tar.gz) = 61473994
+TIMESTAMP = 1752181495
+SHA256 (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 2a3cff123821be41d99489e080a7153812e58a86598fa9f4988099660bf6a947
+SIZE (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 68125944
diff --git a/graphics/py-fiona/Makefile b/graphics/py-fiona/Makefile
index b9ed6832b0f7..1227976ce629 100644
--- a/graphics/py-fiona/Makefile
+++ b/graphics/py-fiona/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fiona
DISTVERSION= 1.10.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-fiona/files/patch-pyproject.toml b/graphics/py-fiona/files/patch-pyproject.toml
index 2612df9f4c68..9242df5e7b21 100644
--- a/graphics/py-fiona/files/patch-pyproject.toml
+++ b/graphics/py-fiona/files/patch-pyproject.toml
@@ -1,9 +1,9 @@
---- pyproject.toml.orig 2025-03-26 21:47:52 UTC
+--- pyproject.toml.orig 2024-09-13 23:33:55 UTC
+++ pyproject.toml
@@ -1,5 +1,5 @@
[build-system]
-requires = ["setuptools>=67.8", "cython~=3.0.2"]
-+requires = ["setuptools", "cython~=3.0.2"]
++requires = ["setuptools", "cython>=3.0.2"]
build-backend = "setuptools.build_meta"
[project]
diff --git a/graphics/py-fury/Makefile b/graphics/py-fury/Makefile
index 9dd95e0c9314..264aadfb5fbf 100644
--- a/graphics/py-fury/Makefile
+++ b/graphics/py-fury/Makefile
@@ -1,5 +1,6 @@
PORTNAME= fury
DISTVERSION= 0.12.0
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-gdal/Makefile b/graphics/py-gdal/Makefile
index 5cd4c7449df8..08fef0e30044 100644
--- a/graphics/py-gdal/Makefile
+++ b/graphics/py-gdal/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gdal
-PORTVERSION= 3.11.0
-PORTREVISION= 1
+PORTVERSION= 3.11.3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-gdal/distinfo b/graphics/py-gdal/distinfo
index 43d7d4186f50..78aa21a8c962 100644
--- a/graphics/py-gdal/distinfo
+++ b/graphics/py-gdal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747715312
-SHA256 (gdal-3.11.0.tar.gz) = ac59ccfe291d3ce4f6a9a3eed17da3777bc3bae970ce27217d4fa85db98650f8
-SIZE (gdal-3.11.0.tar.gz) = 877693
+TIMESTAMP = 1752416412
+SHA256 (gdal-3.11.3.tar.gz) = 4c3ad0fae393b5ddb093a7e4b890077839b2a6acdbd19202657fe4e881886efa
+SIZE (gdal-3.11.3.tar.gz) = 878190
diff --git a/graphics/py-gdal/files/patch-pyproject.toml b/graphics/py-gdal/files/patch-pyproject.toml
index 7f85867e1502..1a3e906318f9 100644
--- a/graphics/py-gdal/files/patch-pyproject.toml
+++ b/graphics/py-gdal/files/patch-pyproject.toml
@@ -1,8 +1,8 @@
---- pyproject.toml.orig 2024-05-06 12:37:20 UTC
+--- pyproject.toml.orig 2025-07-01 09:09:51 UTC
+++ pyproject.toml
@@ -1,12 +1,10 @@
[build-system]
--requires = ["setuptools>=67.0.0",
+-requires = ["setuptools>=77.0.3",
- "wheel",
- "oldest-supported-numpy; python_version=='3.8'",
- "numpy >=2.0.0rc1; python_version>='3.9'"]
@@ -16,3 +16,12 @@
dynamic = ["version", "scripts"]
authors = [
{name = "Frank Warmerdam"},
+@@ -19,7 +17,7 @@ keywords = ["gis", "raster", "vector"]
+ description = "GDAL: Geospatial Data Abstraction Library"
+ readme = "README.rst"
+ keywords = ["gis", "raster", "vector"]
+-license = "MIT"
++license = {text = "MIT"}
+ classifiers = [
+ "Development Status :: 5 - Production/Stable",
+ "Intended Audience :: Developers",
diff --git a/graphics/py-geosnap/Makefile b/graphics/py-geosnap/Makefile
index bf2d2b7f1b1d..85e9dca52b38 100644
--- a/graphics/py-geosnap/Makefile
+++ b/graphics/py-geosnap/Makefile
@@ -1,5 +1,5 @@
PORTNAME= geosnap
-PORTVERSION= 0.15.2
+PORTVERSION= 0.15.3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-geosnap/distinfo b/graphics/py-geosnap/distinfo
index 859084f27b17..b979359f7564 100644
--- a/graphics/py-geosnap/distinfo
+++ b/graphics/py-geosnap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1738982852
-SHA256 (geosnap-0.15.2.tar.gz) = d78f177243446f6ffa0b5817184ee7e9e0bdb1571f79722821b0fc8dc7f5405a
-SIZE (geosnap-0.15.2.tar.gz) = 29917764
+TIMESTAMP = 1752266148
+SHA256 (geosnap-0.15.3.tar.gz) = f08a7b9c15aec554023cf28c4bef66bbbbafc7db5d5a9e3e2aebd70b15eb06b1
+SIZE (geosnap-0.15.3.tar.gz) = 29917823
diff --git a/graphics/py-mapclassify/Makefile b/graphics/py-mapclassify/Makefile
index 3856b71cb066..e358fe2de757 100644
--- a/graphics/py-mapclassify/Makefile
+++ b/graphics/py-mapclassify/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mapclassify
-PORTVERSION= 2.9.0
+PORTVERSION= 2.10.0
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-mapclassify/distinfo b/graphics/py-mapclassify/distinfo
index ca614a828bb0..2fd6a6661cbc 100644
--- a/graphics/py-mapclassify/distinfo
+++ b/graphics/py-mapclassify/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748495823
-SHA256 (mapclassify-2.9.0.tar.gz) = 65fa7a7d778ed63496ff860b9f3c26d632d8f289820a6d8556ac527d14b26bd8
-SIZE (mapclassify-2.9.0.tar.gz) = 5401963
+TIMESTAMP = 1752416424
+SHA256 (mapclassify-2.10.0.tar.gz) = 0d6736a08c0b1e10e6197224ef512951514204706514244bd01aea49fd1442b3
+SIZE (mapclassify-2.10.0.tar.gz) = 6172445
diff --git a/graphics/py-mayavi/Makefile b/graphics/py-mayavi/Makefile
index 9187f05eaa60..3436526944e5 100644
--- a/graphics/py-mayavi/Makefile
+++ b/graphics/py-mayavi/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mayavi
DISTVERSION= 4.8.2
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics science python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -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-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-pillow/Makefile b/graphics/py-pillow/Makefile
index f96ffe28aede..ac2b8f95de43 100644
--- a/graphics/py-pillow/Makefile
+++ b/graphics/py-pillow/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pillow
-PORTVERSION= 11.2.1
+PORTVERSION= 11.3.0
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pillow/distinfo b/graphics/py-pillow/distinfo
index 5c020407f22e..612f07901e64 100644
--- a/graphics/py-pillow/distinfo
+++ b/graphics/py-pillow/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745936196
-SHA256 (pillow-11.2.1.tar.gz) = a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6
-SIZE (pillow-11.2.1.tar.gz) = 47026707
+TIMESTAMP = 1751622375
+SHA256 (pillow-11.3.0.tar.gz) = 3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523
+SIZE (pillow-11.3.0.tar.gz) = 47113069
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-pydot/Makefile b/graphics/py-pydot/Makefile
index 95a83b74119f..2b725bf8cdb5 100644
--- a/graphics/py-pydot/Makefile
+++ b/graphics/py-pydot/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pydot
-PORTVERSION= 4.0.0
+PORTVERSION= 4.0.1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSES/MIT.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= dot:graphics/graphviz \
- ${PYTHON_PKGNAMEPREFIX}pyparsing>=3.0.9:devel/py-pyparsing@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}pyparsing>=3.1.0:devel/py-pyparsing@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist concurrent pep517
diff --git a/graphics/py-pydot/distinfo b/graphics/py-pydot/distinfo
index 9c711b3828ee..979658f6d536 100644
--- a/graphics/py-pydot/distinfo
+++ b/graphics/py-pydot/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747546562
-SHA256 (pydot-4.0.0.tar.gz) = 12f16493337cade2f7631b87c8ccd299ba2e251f3ee5d0732a058df2887afe97
-SIZE (pydot-4.0.0.tar.gz) = 161793
+TIMESTAMP = 1750954210
+SHA256 (pydot-4.0.1.tar.gz) = c2148f681c4a33e08bf0e26a9e5f8e4099a82e0e2a068098f32ce86577364ad5
+SIZE (pydot-4.0.1.tar.gz) = 162594
diff --git a/graphics/py-pydot/files/patch-pyproject.toml b/graphics/py-pydot/files/patch-pyproject.toml
index e0a8a968172c..67194156c30a 100644
--- a/graphics/py-pydot/files/patch-pyproject.toml
+++ b/graphics/py-pydot/files/patch-pyproject.toml
@@ -1,6 +1,14 @@
---- pyproject.toml.orig 2025-05-04 11:11:07 UTC
+--- pyproject.toml.orig 2025-06-17 20:09:42 UTC
+++ pyproject.toml
-@@ -10,10 +10,7 @@ readme = "README.md"
+@@ -3,17 +3,14 @@
+ # SPDX-License-Identifier: MIT
+
+ [build-system]
+-requires = ["setuptools >= 75.3.2"]
++requires = ["setuptools >= 61.0"]
+ build-backend = "setuptools.build_meta"
+
+ [project]
name = 'pydot'
description = "Python interface to Graphviz's Dot"
readme = "README.md"
@@ -11,4 +19,4 @@
+license = {text = "MIT"}
requires-python = ">= 3.8"
dependencies = [
- 'pyparsing>=3.0.9'
+ 'pyparsing>=3.1.0'
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-pyvista/Makefile b/graphics/py-pyvista/Makefile
index 2b4540d8aa0c..80aa88554f1c 100644
--- a/graphics/py-pyvista/Makefile
+++ b/graphics/py-pyvista/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyvista
DISTVERSION= 0.34.2
-PORTREVISION= 5
+PORTREVISION= 6
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-rasterio/Makefile b/graphics/py-rasterio/Makefile
index 537d810c3488..47404cbbfd52 100644
--- a/graphics/py-rasterio/Makefile
+++ b/graphics/py-rasterio/Makefile
@@ -1,6 +1,6 @@
PORTNAME= rasterio
PORTVERSION= 1.3.11
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -28,7 +28,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}affine>=0:math/py-affine@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}snuggs>=1.4.1:math/py-snuggs@${PY_FLAVOR}
USES= compiler:c++11-lang python
-USE_PYTHON= autoplist concurrent cython pep517
+USE_PYTHON= autoplist concurrent cython3 pep517
OPTIONS_DEFINE= PLOT S3
PLOT_DESC= Plotting support
diff --git a/graphics/py-rasterio/files/patch-pyproject.toml b/graphics/py-rasterio/files/patch-pyproject.toml
index 3158f30c006e..59c5ffbafb21 100644
--- a/graphics/py-rasterio/files/patch-pyproject.toml
+++ b/graphics/py-rasterio/files/patch-pyproject.toml
@@ -9,7 +9,7 @@
- "cython~=3.0.2",
- "numpy>=2.0.0,<3.0; python_version >= '3.9'",
- "oldest-supported-numpy; python_version < '3.9'"
-+ "cython",
++ "cython>=3.0.2",
+ "numpy",
]
diff --git a/graphics/py-simplejpeg/Makefile b/graphics/py-simplejpeg/Makefile
index c07bd2c95471..7d0b64533edb 100644
--- a/graphics/py-simplejpeg/Makefile
+++ b/graphics/py-simplejpeg/Makefile
@@ -1,5 +1,6 @@
PORTNAME= simplejpeg
DISTVERSION= 1.8.0
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-simplejpeg/files/patch-pyproject.toml b/graphics/py-simplejpeg/files/patch-pyproject.toml
index eef10ae684eb..e7c68ace4d4d 100644
--- a/graphics/py-simplejpeg/files/patch-pyproject.toml
+++ b/graphics/py-simplejpeg/files/patch-pyproject.toml
@@ -1,4 +1,4 @@
---- pyproject.toml.orig 2024-09-17 16:08:16 UTC
+--- pyproject.toml.orig 2025-02-08 13:37:27 UTC
+++ pyproject.toml
@@ -29,11 +29,10 @@ requires = [
@@ -8,8 +8,9 @@
+ "setuptools",
"wheel",
- "cmake>=3.6.3",
- "cython~=3.0.0",
+- "cython~=3.0.0",
- "numpy>=2.0.0",
++ "cython>=3.1.0",
+ "numpy",
]
build-backend = "setuptools.build_meta"
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-willow/Makefile b/graphics/py-willow/Makefile
index 04bcee8c222d..82ad6fbcabd3 100644
--- a/graphics/py-willow/Makefile
+++ b/graphics/py-willow/Makefile
@@ -1,5 +1,5 @@
PORTNAME= willow
-PORTVERSION= 1.10.0
+PORTVERSION= 1.11.0
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -14,9 +14,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 +30,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/qb3/Makefile b/graphics/qb3/Makefile
index 45b1ec96b8a9..35728a128ba8 100644
--- a/graphics/qb3/Makefile
+++ b/graphics/qb3/Makefile
@@ -1,6 +1,7 @@
PORTNAME= qb3
PORTVERSION= 1.3.2
DISTVERSIONPREFIX= V
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/graphics/qb3/files/patch-i386 b/graphics/qb3/files/patch-i386
new file mode 100644
index 000000000000..1036ecf583db
--- /dev/null
+++ b/graphics/qb3/files/patch-i386
@@ -0,0 +1,13 @@
+Reference: https://github.com/lucianpls/QB3/pull/27
+
+--- QB3lib/QB3encode.cpp.orig 2025-04-28 20:58:34 UTC
++++ QB3lib/QB3encode.cpp
+@@ -84,7 +84,7 @@ void qb3_set_encoder_stride(encsp p, size_t stride) {
+ // Valid values are 2 and above
+ // sign = true when the input data is signed
+ // away = true to round away from zero
+-bool qb3_set_encoder_quanta(encsp p, size_t q, bool away) {
++bool qb3_set_encoder_quanta(encsp p, uint64_t q, bool away) {
+ if (q < 1)
+ return false;
+ p->quanta = q;
diff --git a/graphics/qgis-ltr/Makefile b/graphics/qgis-ltr/Makefile
index a971fd5fa4d0..c2e8c07ee64a 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
CATEGORIES= graphics geography
MASTER_SITES= https://qgis.org/downloads/
PKGNAMESUFFIX= -ltr
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 1081ee5906f6..5f1412bfae98 100644
--- a/graphics/qgis/Makefile
+++ b/graphics/qgis/Makefile
@@ -1,5 +1,5 @@
PORTNAME= qgis
-DISTVERSION= 3.44.0
+DISTVERSION= 3.44.2
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-wayland/Makefile b/graphics/qt6-wayland/Makefile
index 430aef820fe7..a63bdb800592 100644
--- a/graphics/qt6-wayland/Makefile
+++ b/graphics/qt6-wayland/Makefile
@@ -1,5 +1,6 @@
PORTNAME= wayland
DISTVERSION= ${QT6_VERSION}
+PORTREVISION= 1
CATEGORIES= graphics wayland
PKGNAMEPREFIX= qt6-
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/rawstudio/Makefile b/graphics/rawstudio/Makefile
index 24eb07ef4d06..910ce22b8034 100644
--- a/graphics/rawstudio/Makefile
+++ b/graphics/rawstudio/Makefile
@@ -10,8 +10,6 @@ WWW= https://rawstudio.org/
LICENSE= GPLv2+
-BROKEN= Fails to build with libxml2 2.13+, error: use of undeclared identifier 'xmlDocPtr'
-
BUILD_DEPENDS= ${LOCALBASE}/include/fftw3.h:math/fftw3
LIB_DEPENDS= libcurl.so:ftp/curl \
liblcms.so:graphics/lcms \
diff --git a/graphics/rawstudio/files/patch-libxml2-2.12.7 b/graphics/rawstudio/files/patch-libxml2-2.12.7
index 39256d3688a5..6a6d8861d262 100644
--- a/graphics/rawstudio/files/patch-libxml2-2.12.7
+++ b/graphics/rawstudio/files/patch-libxml2-2.12.7
@@ -58,6 +58,26 @@
#include <libxml/xmlwriter.h>
#include "rs-utils.h"
+--- plugins/output-facebook/rs-facebook-client.c
++++ plugins/output-facebook/rs-facebook-client.c
+@@ -19,6 +19,7 @@
+
+ #include <curl/curl.h>
+ #include <libxml/encoding.h>
++#include <libxml/tree.h>
+ #include <gtk/gtk.h>
+ #include <glib.h>
+ #include <glib/gstdio.h>
+--- plugins/output-picasa/rs-picasa-client.c
++++ plugins/output-picasa/rs-picasa-client.c
+@@ -10,6 +10,7 @@
+ #include <glib.h>
+ #include <gtk/gtk.h>
+ #include <libxml/encoding.h>
++#include <libxml/tree.h>
+ #include <string.h>
+ #include <curl/curl.h>
+ #include "rs-picasa-client.h"
--- src/rs-batch.c
+++ src/rs-batch.c
@@ -23,6 +23,7 @@
diff --git a/graphics/realesrgan-ncnn-vulkan/Makefile b/graphics/realesrgan-ncnn-vulkan/Makefile
index fd5dc3d8c147..636041d7e80e 100644
--- a/graphics/realesrgan-ncnn-vulkan/Makefile
+++ b/graphics/realesrgan-ncnn-vulkan/Makefile
@@ -1,7 +1,7 @@
PORTNAME= realesrgan-ncnn-vulkan
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
# https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan/issues/29
MASTER_SITES= https://dev.gentoo.org/~slashbeast/distfiles/${PORTNAME}/:models
diff --git a/graphics/resvg-capi/Makefile b/graphics/resvg-capi/Makefile
index a46459a85636..390d5d26ce36 100644
--- a/graphics/resvg-capi/Makefile
+++ b/graphics/resvg-capi/Makefile
@@ -1,6 +1,6 @@
PORTNAME= resvg-c-api
DISTVERSION= 0.45.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/resvg/Makefile b/graphics/resvg/Makefile
index 5eabe92dc596..146bca64fbf9 100644
--- a/graphics/resvg/Makefile
+++ b/graphics/resvg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= resvg
DISTVERSION= 0.45.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/rigsofrods-pagedgeometry/distinfo b/graphics/rigsofrods-pagedgeometry/distinfo
deleted file mode 100644
index e19eee1e9de6..000000000000
--- a/graphics/rigsofrods-pagedgeometry/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1740819559
-SHA256 (RigsOfRods-ogre-pagedgeometry-v1.2.0.20240708-428a57a_GH0.tar.gz) = c808fa9619fde1e7106ddec5111a3be233186441cd3c453e4708d425104ae0ff
-SIZE (RigsOfRods-ogre-pagedgeometry-v1.2.0.20240708-428a57a_GH0.tar.gz) = 11466419
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-mini_magick/Makefile b/graphics/rubygem-mini_magick/Makefile
index 26a9d3a2b14c..0a42560e840d 100644
--- a/graphics/rubygem-mini_magick/Makefile
+++ b/graphics/rubygem-mini_magick/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mini_magick
-PORTVERSION= 5.2.0
+PORTVERSION= 5.3.0
CATEGORIES= graphics rubygems
MASTER_SITES= RG
@@ -10,8 +10,7 @@ WWW= https://github.com/minimagick/minimagick
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
-RUN_DEPENDS= rubygem-benchmark>=0:benchmarks/rubygem-benchmark \
- rubygem-logger>=0:devel/rubygem-logger
+RUN_DEPENDS= rubygem-logger>=0:devel/rubygem-logger
USES= gem magick:${FLAVOR}
diff --git a/graphics/rubygem-mini_magick/distinfo b/graphics/rubygem-mini_magick/distinfo
index 8200aea2d06f..eb2346034f41 100644
--- a/graphics/rubygem-mini_magick/distinfo
+++ b/graphics/rubygem-mini_magick/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1740836320
-SHA256 (rubygem/mini_magick-5.2.0.gem) = 2757ffbfdb1d38242d1da9ff1505360ab75d59dc02eb7ab79ff6d5acb1243f4a
-SIZE (rubygem/mini_magick-5.2.0.gem) = 21504
+TIMESTAMP = 1752416430
+SHA256 (rubygem/mini_magick-5.3.0.gem) = 6f13309c90f9ebe204b4c3f04d0a5a9265c5f734950894e83fa2480d4aa79ba4
+SIZE (rubygem/mini_magick-5.3.0.gem) = 21504
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 a3beb819b13e..8037ea3f3db3 100644
--- a/graphics/rx/Makefile
+++ b/graphics/rx/Makefile
@@ -1,7 +1,7 @@
PORTNAME= rx
DISTVERSIONPREFIX= v
DISTVERSION= 0.5.2
-PORTREVISION= 36
+PORTREVISION= 37
CATEGORIES= graphics
PKGNAMESUFFIX= -editor
diff --git a/graphics/sane-airscan/Makefile b/graphics/sane-airscan/Makefile
index d9d7fcafaf77..667928a4931f 100644
--- a/graphics/sane-airscan/Makefile
+++ b/graphics/sane-airscan/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sane-airscan
-DISTVERSION= 0.99.29
+DISTVERSION= 0.99.36
CATEGORIES= graphics
MAINTAINER= henry.hu.sh@gmail.com
@@ -16,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/sane-backends/Makefile b/graphics/sane-backends/Makefile
index 2b7acbfbcf88..81f78de12fda 100644
--- a/graphics/sane-backends/Makefile
+++ b/graphics/sane-backends/Makefile
@@ -1,5 +1,6 @@
PORTNAME= sane-backends
DISTVERSION= 1.4.0
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://gitlab.com/-/project/429008/uploads/843c156420e211859e974f78f64c3ea3/
diff --git a/graphics/satty/Makefile b/graphics/satty/Makefile
index 0bfb5173dfad..142fae6204be 100644
--- a/graphics/satty/Makefile
+++ b/graphics/satty/Makefile
@@ -1,7 +1,7 @@
PORTNAME= satty
DISTVERSIONPREFIX= v
DISTVERSION= 0.19.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics wayland
MASTER_SITES= CRATESIO
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/shaderc/Makefile b/graphics/shaderc/Makefile
index d365213b6388..30c37bbc5aae 100644
--- a/graphics/shaderc/Makefile
+++ b/graphics/shaderc/Makefile
@@ -1,10 +1,9 @@
PORTNAME= shaderc
DISTVERSIONPREFIX= v
-DISTVERSION= 2025.2
-PORTREVISION= 1
+DISTVERSION= 2025.3
CATEGORIES= graphics devel
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= GLSL/HLSL to SPIR-V shader compiler
WWW= https://github.com/google/shaderc
@@ -19,7 +18,7 @@ USES= cmake:testing compiler:c++11-lib localbase:ldflags \
USE_GITHUB= yes
USE_LDCONFIG= yes
GH_ACCOUNT= google
-GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-411-gaa6cef1:headers/third_party/spirv-headers
+GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-430-g2a611a9:headers/third_party/spirv-headers
SHEBANG_FILES= utils/add_copyright.py
CMAKE_ON+= ${CMAKE_TESTING_OFF}
CMAKE_TESTING_OFF= SHADERC_SKIP_TESTS
diff --git a/graphics/shaderc/distinfo b/graphics/shaderc/distinfo
index b8bc0a2807b0..1ef459a4173e 100644
--- a/graphics/shaderc/distinfo
+++ b/graphics/shaderc/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1745429442
-SHA256 (google-shaderc-v2025.2_GH0.tar.gz) = 3fddc13bbb87411c6f7b8f447e87c1637933450087e70fc21da650041f4e0132
-SIZE (google-shaderc-v2025.2_GH0.tar.gz) = 228308
-SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-411-gaa6cef1_GH0.tar.gz) = 3ac06fbcb63382f5dd2e24d45e8d2e93981858a07c38a4edf24f47f9d7fd254e
-SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-411-gaa6cef1_GH0.tar.gz) = 547604
+TIMESTAMP = 1750799881
+SHA256 (google-shaderc-v2025.3_GH0.tar.gz) = a8e4a25e5c2686fd36981e527ed05e451fcfc226bddf350f4e76181371190937
+SIZE (google-shaderc-v2025.3_GH0.tar.gz) = 228417
+SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = f88c4918fc307c406b03587689bec0b7b5aaf9539955d3ee7a698342c2c52e8e
+SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = 538631
diff --git a/graphics/sharpconstruct/Makefile b/graphics/sharpconstruct/Makefile
index 8c5c815ab5b2..5309f8ceef8c 100644
--- a/graphics/sharpconstruct/Makefile
+++ b/graphics/sharpconstruct/Makefile
@@ -1,6 +1,6 @@
PORTNAME= sharpconstruct
PORTVERSION= 0.11
-PORTREVISION= 20
+PORTREVISION= 21
CATEGORIES= graphics
MASTER_SITES= SF/sharp3d/SharpConstruct/${PORTVERSION}
diff --git a/graphics/shotwell/Makefile b/graphics/shotwell/Makefile
index 65a35905bf86..3bf866870630 100644
--- a/graphics/shotwell/Makefile
+++ b/graphics/shotwell/Makefile
@@ -1,5 +1,6 @@
PORTNAME= shotwell
PORTVERSION= 0.32.13
+PORTREVISION= 1
CATEGORIES= graphics gnome
MASTER_SITES= GNOME
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 f5daddc63a8d..e7d9fd9ada03 100644
--- a/graphics/skanlite/distinfo
+++ b/graphics/skanlite/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036787
-SHA256 (KDE/release-service/25.04.2/skanlite-25.04.2.tar.xz) = d16d4657ab08b5885a7ab87bd376aed003e1acbf7a9f51c2e9f0eb1fc5ddd964
-SIZE (KDE/release-service/25.04.2/skanlite-25.04.2.tar.xz) = 2392392
+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 25c5f0099a55..6d4baaad0dff 100644
--- a/graphics/skanpage/distinfo
+++ b/graphics/skanpage/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036789
-SHA256 (KDE/release-service/25.04.2/skanpage-25.04.2.tar.xz) = 5bb263cc7adb3e522117face5afa4f98653c9e83397f9d2aa1ed91cf9a344731
-SIZE (KDE/release-service/25.04.2/skanpage-25.04.2.tar.xz) = 1360456
+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/spirv-tools/Makefile b/graphics/spirv-tools/Makefile
index e06a443ab0fb..4824fea487f4 100644
--- a/graphics/spirv-tools/Makefile
+++ b/graphics/spirv-tools/Makefile
@@ -1,9 +1,9 @@
PORTNAME= spirv-tools
DISTVERSIONPREFIX= v
-DISTVERSION= 2025.2.rc1 # please always bump all dependencies when updated because at least graphics/shaderc links in static libraries
+DISTVERSION= 2025.3.rc1 # please always bump all dependencies when updated because at least graphics/shaderc links in static libraries
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Tools for processing SPIR-V intermediate shader language modules
WWW= https://github.com/KhronosGroup/SPIRV-Tools
@@ -16,7 +16,7 @@ SHEBANG_FILES= tools/lesspipe/spirv-lesspipe.sh
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= SPIRV-Tools
-GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-411-gaa6cef1:headers/external/spirv-headers
+GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-430-g2a611a9:headers/external/spirv-headers
CMAKE_ON= SPIRV_SKIP_TESTS
diff --git a/graphics/spirv-tools/distinfo b/graphics/spirv-tools/distinfo
index 614306a5e757..c84de2476b33 100644
--- a/graphics/spirv-tools/distinfo
+++ b/graphics/spirv-tools/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1745333515
-SHA256 (KhronosGroup-SPIRV-Tools-v2025.2.rc1_GH0.tar.gz) = e76dfee6e2e60ecfe15776218c4d774987bd80c81bf1fdcf073dab5432492f7c
-SIZE (KhronosGroup-SPIRV-Tools-v2025.2.rc1_GH0.tar.gz) = 3284313
-SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-411-gaa6cef1_GH0.tar.gz) = 3ac06fbcb63382f5dd2e24d45e8d2e93981858a07c38a4edf24f47f9d7fd254e
-SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-411-gaa6cef1_GH0.tar.gz) = 547604
+TIMESTAMP = 1750708773
+SHA256 (KhronosGroup-SPIRV-Tools-v2025.3.rc1_GH0.tar.gz) = efcb234aaf9963af4dded380b660d1ea3482d94b82e9dcb9be6e39b610ea82d6
+SIZE (KhronosGroup-SPIRV-Tools-v2025.3.rc1_GH0.tar.gz) = 3335092
+SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = f88c4918fc307c406b03587689bec0b7b5aaf9539955d3ee7a698342c2c52e8e
+SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = 538631
diff --git a/graphics/svgbob/Makefile b/graphics/svgbob/Makefile
index c381a751843c..0f80a1f26392 100644
--- a/graphics/svgbob/Makefile
+++ b/graphics/svgbob/Makefile
@@ -1,6 +1,6 @@
PORTNAME= svgbob
DISTVERSION= 0.7.1
-PORTREVISION= 19
+PORTREVISION= 20
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/swappy/Makefile b/graphics/swappy/Makefile
index 4e0543163209..764597693a1f 100644
--- a/graphics/swappy/Makefile
+++ b/graphics/swappy/Makefile
@@ -1,10 +1,10 @@
PORTNAME= swappy
DISTVERSIONPREFIX= v
DISTVERSION= 1.5.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics wayland
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= Snapshot editing for Wayland (a la Snappy on macOS)
WWW= https://github.com/jtheoof/swappy
diff --git a/graphics/swfmill/Makefile b/graphics/swfmill/Makefile
index 1792c8477137..22122591111c 100644
--- a/graphics/swfmill/Makefile
+++ b/graphics/swfmill/Makefile
@@ -1,6 +1,6 @@
PORTNAME= swfmill
PORTVERSION= 0.3.6
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
MASTER_SITES= http://swfmill.org/releases/
diff --git a/graphics/synfig/Makefile b/graphics/synfig/Makefile
index e718dde1ad6f..9ba4a5ffa864 100644
--- a/graphics/synfig/Makefile
+++ b/graphics/synfig/Makefile
@@ -1,7 +1,7 @@
PORTNAME= synfig
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.5
-PORTREVISION= 6
+PORTREVISION= 8
CATEGORIES= graphics devel multimedia
MAINTAINER= portmaster@BSDforge.com
diff --git a/graphics/synfigstudio/Makefile b/graphics/synfigstudio/Makefile
index 192c8699f39a..987bc471ea19 100644
--- a/graphics/synfigstudio/Makefile
+++ b/graphics/synfigstudio/Makefile
@@ -1,7 +1,7 @@
PORTNAME= synfigstudio
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.5
-PORTREVISION= 2
+PORTREVISION= 4
CATEGORIES= graphics multimedia
MAINTAINER= portmaster@BSDforge.com
diff --git a/graphics/tinyows/Makefile b/graphics/tinyows/Makefile
index 2a534cee851a..9c9ef9c03849 100644
--- a/graphics/tinyows/Makefile
+++ b/graphics/tinyows/Makefile
@@ -1,5 +1,6 @@
PORTNAME= tinyows
PORTVERSION= 1.2.2
+PORTREVISION= 1
CATEGORIES= graphics www geography
MASTER_SITES= https://download.osgeo.org/mapserver/
diff --git a/graphics/vapoursynth-waifu2x-ncnn-vulkan/Makefile b/graphics/vapoursynth-waifu2x-ncnn-vulkan/Makefile
index f47a5275af5d..1573711d2518 100644
--- a/graphics/vapoursynth-waifu2x-ncnn-vulkan/Makefile
+++ b/graphics/vapoursynth-waifu2x-ncnn-vulkan/Makefile
@@ -1,6 +1,6 @@
PORTNAME= vapoursynth-waifu2x-ncnn-vulkan
DISTVERSION= r5
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/variety/Makefile b/graphics/variety/Makefile
index 2cbf850c2d4d..864e26e7c73a 100644
--- a/graphics/variety/Makefile
+++ b/graphics/variety/Makefile
@@ -1,5 +1,6 @@
PORTNAME= variety
PORTVERSION= 0.8.13
+PORTREVISION= 1
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 874050dcfe21..029a2ab44aaa 100644
--- a/graphics/vhs/Makefile
+++ b/graphics/vhs/Makefile
@@ -1,6 +1,7 @@
PORTNAME= vhs
DISTVERSIONPREFIX= v
DISTVERSION= 0.10.0
+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/vips/Makefile b/graphics/vips/Makefile
index 3e9aa60067f3..e02bb8413e5a 100644
--- a/graphics/vips/Makefile
+++ b/graphics/vips/Makefile
@@ -1,5 +1,5 @@
PORTNAME= vips
-PORTVERSION= 8.17.0
+PORTVERSION= 8.17.1
CATEGORIES= graphics
MASTER_SITES= https://github.com/libvips/libvips/releases/download/v${PORTVERSION}/
diff --git a/graphics/vips/distinfo b/graphics/vips/distinfo
index b1cd0252c0c0..d3e6483b31e5 100644
--- a/graphics/vips/distinfo
+++ b/graphics/vips/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749813016
-SHA256 (vips-8.17.0.tar.xz) = 8256a82f2e64c119ffadac99822350f45212f16df2505ea8dbae5ff4d0001996
-SIZE (vips-8.17.0.tar.xz) = 29496800
+TIMESTAMP = 1752266012
+SHA256 (vips-8.17.1.tar.xz) = 4d8c3325922c5300253d7594507a8f1d3caf8eed70dfb66cc7eb2cbed65bb5ca
+SIZE (vips-8.17.1.tar.xz) = 29529248
diff --git a/graphics/vips/pkg-plist b/graphics/vips/pkg-plist
index 4eafcb025ce4..3fd92496605b 100644
--- a/graphics/vips/pkg-plist
+++ b/graphics/vips/pkg-plist
@@ -60,11 +60,11 @@ include/vips/vips8
lib/libvips-cpp.a
lib/libvips-cpp.so
lib/libvips-cpp.so.42
-lib/libvips-cpp.so.42.19.0
+lib/libvips-cpp.so.42.19.1
lib/libvips.a
lib/libvips.so
lib/libvips.so.42
-lib/libvips.so.42.19.0
+lib/libvips.so.42.19.1
libdata/pkgconfig/vips-cpp.pc
libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/Combine.png
diff --git a/graphics/viu/Makefile b/graphics/viu/Makefile
index b2e207ff2c24..13f5e3a5acb3 100644
--- a/graphics/viu/Makefile
+++ b/graphics/viu/Makefile
@@ -1,7 +1,7 @@
PORTNAME= viu
DISTVERSIONPREFIX= v
DISTVERSION= 1.5.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics
MAINTAINER= lcook@FreeBSD.org
diff --git a/graphics/vulkan-caps-viewer/Makefile b/graphics/vulkan-caps-viewer/Makefile
index 2fa3e55168ee..be8721a1bc18 100644
--- a/graphics/vulkan-caps-viewer/Makefile
+++ b/graphics/vulkan-caps-viewer/Makefile
@@ -1,28 +1,32 @@
PORTNAME= vulkan-caps-viewer
-DISTVERSION= 4.01
+DISTVERSION= 4.02
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Vulkan Hardware Capability Viewer
WWW= https://vulkan.gpuinfo.org/
LICENSE= LGPL3 # based on license headers
+BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
USES= compiler:c++11-lib pkgconfig qmake qt:5
USE_GITHUB= yes
-USE_QT= qmake:build buildtools:build core gui network widgets
GH_ACCOUNT= SaschaWillems
GH_PROJECT= VulkanCapsViewer
-GH_TUPLE= KhronosGroup:Vulkan-Headers:v1.4.313:vkheaders/Vulkan-Headers
+USE_QT= core gui network widgets buildtools:build qmake:build
+
LDFLAGS+= -Wl,--as-needed # avoid overlinking (GL, wayland)
+
+PORTSCOUT= skipv:sdk_2023_1
+
PLIST_FILES= bin/vulkanCapsViewer \
share/applications/vulkanCapsViewer.desktop \
share/icons/hicolor/256x256/apps/vulkanCapsViewer.png
-OPTIONS_DEFINE= WAYLAND X11
-OPTIONS_DEFAULT=WAYLAND X11
+OPTIONS_DEFINE= WAYLAND X11
+OPTIONS_DEFAULT= WAYLAND X11
WAYLAND_CATEGORIES= wayland
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
@@ -43,5 +47,7 @@ post-patch:
${WRKSRC}/vulkanCapsViewer.pro
@${REINPLACE_CMD} -e 's/__linux/__unix/' \
${WRKSRC}/vulkancapsviewer.cpp
+ @${REINPLACE_CMD} -e 's|$$$$PWD/Vulkan-Headers/include/vulkan/vulkan.h|${LOCALBASE}/include/vulkan/vulkan.h|' \
+ ${WRKSRC}/vulkanCapsViewer.pri
.include <bsd.port.mk>
diff --git a/graphics/vulkan-caps-viewer/distinfo b/graphics/vulkan-caps-viewer/distinfo
index ec6437e08d52..9b29f8c5f63d 100644
--- a/graphics/vulkan-caps-viewer/distinfo
+++ b/graphics/vulkan-caps-viewer/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1745061885
-SHA256 (SaschaWillems-VulkanCapsViewer-4.01_GH0.tar.gz) = bfae9ac76d10ae50dffd49630f9a3ec147cdd24f86eaf459a0d20626753995c0
-SIZE (SaschaWillems-VulkanCapsViewer-4.01_GH0.tar.gz) = 2867240
-SHA256 (KhronosGroup-Vulkan-Headers-v1.4.313_GH0.tar.gz) = f3298b8dc620530493296759858a69b622f98ececa0e8c75488ad2000778148f
-SIZE (KhronosGroup-Vulkan-Headers-v1.4.313_GH0.tar.gz) = 2635494
+TIMESTAMP = 1752265390
+SHA256 (SaschaWillems-VulkanCapsViewer-4.02_GH0.tar.gz) = f16873ad56bf4fa5981bdd18526c93a6a3825a64bbb8d2e9c9313664c4c6ea43
+SIZE (SaschaWillems-VulkanCapsViewer-4.02_GH0.tar.gz) = 2868716
diff --git a/graphics/vulkan-extension-layer/Makefile b/graphics/vulkan-extension-layer/Makefile
index 835cd4589ae3..550377be5c3c 100644
--- a/graphics/vulkan-extension-layer/Makefile
+++ b/graphics/vulkan-extension-layer/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-extension-layer
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.313
+DISTVERSION= 1.4.321
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Layer providing Vulkan features when native support is unavailable
WWW= https://github.com/KhronosGroup/Vulkan-ExtensionLayer
@@ -21,15 +21,16 @@ CMAKE_OFF= BUILD_TESTS
OPTIONS_DEFINE= WAYLAND XCB XLIB
OPTIONS_DEFAULT=WAYLAND XCB XLIB
+XCB_DESC= ${X11_DESC} via libxcb
+XLIB_DESC= ${X11_DESC} via libX11
+
WAYLAND_LIB_DEPENDS= libwayland-egl.so:graphics/wayland
WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT
-XCB_DESC= ${X11_DESC} via libxcb
XCB_USES= xorg
XCB_USE= XORG=xcb
XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT
-XLIB_DESC= ${X11_DESC} via libX11
XLIB_USES= xorg
XLIB_USE= XORG=x11,xrandr
XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT
diff --git a/graphics/vulkan-extension-layer/distinfo b/graphics/vulkan-extension-layer/distinfo
index 04e44e73640c..f6e0eb758543 100644
--- a/graphics/vulkan-extension-layer/distinfo
+++ b/graphics/vulkan-extension-layer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745251687
-SHA256 (KhronosGroup-Vulkan-ExtensionLayer-v1.4.313_GH0.tar.gz) = 14fdaf5cbbc02ce7dbacbaadeb1e9d63dc49f07a32214c4995ea9909bb534dc1
-SIZE (KhronosGroup-Vulkan-ExtensionLayer-v1.4.313_GH0.tar.gz) = 789915
+TIMESTAMP = 1752189602
+SHA256 (KhronosGroup-Vulkan-ExtensionLayer-v1.4.321_GH0.tar.gz) = 177a356162cfcf47c50cc0f0dcd51630196f171f21d6cefe3fb8b5d514f60d49
+SIZE (KhronosGroup-Vulkan-ExtensionLayer-v1.4.321_GH0.tar.gz) = 790149
diff --git a/graphics/vulkan-headers/Makefile b/graphics/vulkan-headers/Makefile
index 3472b030cbfd..bfc613c19d27 100644
--- a/graphics/vulkan-headers/Makefile
+++ b/graphics/vulkan-headers/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-headers
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.319
+DISTVERSION= 1.4.322
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Headers for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-Headers
@@ -13,14 +13,15 @@ USES= cmake
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= Vulkan-Headers
-STRIP= # nothing to strip
-NO_ARCH= yes
# XXX Add clang-scan-deps to WITH_CLANG_EXTRAS in src.conf(5)
.if exists(/usr/bin/clang) && !exists(/usr/bin/clang-scan-deps)
CMAKE_OFF+= VULKAN_HEADERS_ENABLE_MODULE
.endif
+STRIP= # nothing to strip
+NO_ARCH= yes
+
post-extract:
# genvk.py requires docgenerator.py from Vulkan-Docs, so drop useless shebang
@${FIND} ${WRKSRC}/registry -name \*.py -exec ${REINPLACE_CMD} -i '' '/^#!/d' {} +
diff --git a/graphics/vulkan-headers/distinfo b/graphics/vulkan-headers/distinfo
index 6a11cb834ec0..c39e531e65b0 100644
--- a/graphics/vulkan-headers/distinfo
+++ b/graphics/vulkan-headers/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750421987
-SHA256 (KhronosGroup-Vulkan-Headers-v1.4.319_GH0.tar.gz) = d79d05def3aaa7f339f2b88b62f73072df0660fb50e9286554a043bab9f6c4dd
-SIZE (KhronosGroup-Vulkan-Headers-v1.4.319_GH0.tar.gz) = 2761732
+TIMESTAMP = 1752318911
+SHA256 (KhronosGroup-Vulkan-Headers-v1.4.322_GH0.tar.gz) = c5ec1d0e1baf9c2ca4eb581e5ba31ad4ef83cdab1f6c959e459b97b92739f92d
+SIZE (KhronosGroup-Vulkan-Headers-v1.4.322_GH0.tar.gz) = 2740918
diff --git a/graphics/vulkan-loader/Makefile b/graphics/vulkan-loader/Makefile
index af43b81e7f5e..bc6c18fb3314 100644
--- a/graphics/vulkan-loader/Makefile
+++ b/graphics/vulkan-loader/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-loader
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.319
+DISTVERSION= 1.4.321
CATEGORIES= graphics devel
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Driver loader for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-Loader
@@ -13,9 +13,9 @@ BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers
USES= alias cmake compiler:c++11-lib pkgconfig python:build
USE_GITHUB= yes
-USE_LDCONFIG= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= Vulkan-Loader
+USE_LDCONFIG= yes
CMAKE_ON= CMAKE_SKIP_RPATH
CMAKE_OFF= BUILD_TESTS
PLIST_SUB= VERSION=${DISTVERSION:C/-.*//}
@@ -23,15 +23,16 @@ PLIST_SUB= VERSION=${DISTVERSION:C/-.*//}
OPTIONS_DEFINE= WAYLAND XCB XLIB
OPTIONS_DEFAULT=WAYLAND XCB XLIB
+XCB_DESC= ${X11_DESC} via libxcb
+XLIB_DESC= ${X11_DESC} via libX11
+
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT
-XCB_DESC= ${X11_DESC} via libxcb
XCB_USES= xorg
XCB_USE= XORG=xcb
XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT
-XLIB_DESC= ${X11_DESC} via libX11
XLIB_USES= xorg
XLIB_USE= XORG=x11,xrandr
XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT
diff --git a/graphics/vulkan-loader/distinfo b/graphics/vulkan-loader/distinfo
index 1c038bfd61ce..ace3f1a21f95 100644
--- a/graphics/vulkan-loader/distinfo
+++ b/graphics/vulkan-loader/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750446704
-SHA256 (KhronosGroup-Vulkan-Loader-v1.4.319_GH0.tar.gz) = 6f0bd0079c56518db0243854db822e39ba25602fd24cac34b6f43b75c764e743
-SIZE (KhronosGroup-Vulkan-Loader-v1.4.319_GH0.tar.gz) = 1762031
+TIMESTAMP = 1752188907
+SHA256 (KhronosGroup-Vulkan-Loader-v1.4.321_GH0.tar.gz) = 00669f6bb2db35c8df07f0b118c09bfe0ebffecaad7d80647a429eece0e37ac3
+SIZE (KhronosGroup-Vulkan-Loader-v1.4.321_GH0.tar.gz) = 1762478
diff --git a/graphics/vulkan-tools/Makefile b/graphics/vulkan-tools/Makefile
index d3ad633c51d4..e0c0851f2f96 100644
--- a/graphics/vulkan-tools/Makefile
+++ b/graphics/vulkan-tools/Makefile
@@ -1,9 +1,10 @@
PORTNAME= vulkan-tools
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.319
+DISTVERSION= 1.4.321
+PORTREVISION= 1
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Tools and demos for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-Tools
@@ -16,24 +17,28 @@ USES= alias cmake compiler:c++11-lib pkgconfig python:build
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= Vulkan-Tools
-CMAKE_OFF= BUILD_ICD
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
+XCB_DESC= ${X11_DESC} via libxcb
+XLIB_DESC= ${X11_DESC} via libX11
+
WAYLAND_CATEGORIES= wayland
WAYLAND_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>0:graphics/wayland-protocols
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT
-XCB_DESC= ${X11_DESC} via libxcb
XCB_USES= xorg
XCB_USE= XORG=xcb
XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT
-XLIB_DESC= ${X11_DESC} via libX11
XLIB_USES= xorg
XLIB_USE= XORG=x11
XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT
diff --git a/graphics/vulkan-tools/distinfo b/graphics/vulkan-tools/distinfo
index 0c1dc07aa7dc..8cfadb39e7a3 100644
--- a/graphics/vulkan-tools/distinfo
+++ b/graphics/vulkan-tools/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1750451413
-SHA256 (KhronosGroup-Vulkan-Tools-v1.4.319_GH0.tar.gz) = 2237d15179237bf932bf715c21179520c4d54d41bc859e59802888ade452298a
-SIZE (KhronosGroup-Vulkan-Tools-v1.4.319_GH0.tar.gz) = 805792
+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/vulkan-utility-libraries/Makefile b/graphics/vulkan-utility-libraries/Makefile
index 70197bf68593..69026e4899f9 100644
--- a/graphics/vulkan-utility-libraries/Makefile
+++ b/graphics/vulkan-utility-libraries/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-utility-libraries
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.319
+DISTVERSION= 1.4.321
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Utility libraries for Vulkan developers
WWW= https://github.com/KhronosGroup/Vulkan-Utility-Libraries
diff --git a/graphics/vulkan-utility-libraries/distinfo b/graphics/vulkan-utility-libraries/distinfo
index 45ac173766ba..9ee941230cd8 100644
--- a/graphics/vulkan-utility-libraries/distinfo
+++ b/graphics/vulkan-utility-libraries/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750446762
-SHA256 (KhronosGroup-Vulkan-Utility-Libraries-v1.4.319_GH0.tar.gz) = 904a91a8cafbf49db9b020e48be486a73ac6370c6b826495341dd8fc2b7ecca4
-SIZE (KhronosGroup-Vulkan-Utility-Libraries-v1.4.319_GH0.tar.gz) = 623141
+TIMESTAMP = 1752192249
+SHA256 (KhronosGroup-Vulkan-Utility-Libraries-v1.4.321_GH0.tar.gz) = 853eb1e9a390fed9a66ebca7f3390e58f6d467d9e16ab35830a03ef66cf87a22
+SIZE (KhronosGroup-Vulkan-Utility-Libraries-v1.4.321_GH0.tar.gz) = 625800
diff --git a/graphics/vulkan-utility-libraries/pkg-descr b/graphics/vulkan-utility-libraries/pkg-descr
index eaebc143ec56..f20539c49dc3 100644
--- a/graphics/vulkan-utility-libraries/pkg-descr
+++ b/graphics/vulkan-utility-libraries/pkg-descr
@@ -1 +1,6 @@
-Shared code across various Vulkan repositories.
+Vulkan-Utility-Libraries provides shared utility code for Vulkan SDK developers.
+It includes standardized layer settings and header-only utilities like dispatch
+table setup, format helpers, Vulkan struct handling, and enum-to-string helpers.
+
+This repository improves code reuse and reduces maintenance overhead across
+multiple Vulkan-related projects.
diff --git a/graphics/vulkan-validation-layers/Makefile b/graphics/vulkan-validation-layers/Makefile
index 323a6e40abcd..42054403f4e8 100644
--- a/graphics/vulkan-validation-layers/Makefile
+++ b/graphics/vulkan-validation-layers/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-validation-layers
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.319
+DISTVERSION= 1.4.321
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubis484@gmail.com
COMMENT= Validation layers for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-ValidationLayers
@@ -18,21 +18,25 @@ USES= alias cmake compiler:c++11-lib pkgconfig python:build
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= Vulkan-ValidationLayers
-GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-424-g3b9447d:headers/SPIRV-Headers
+GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-430-g2a611a9:headers/SPIRV-Headers
CMAKE_OFF= BUILD_TESTS
-OPTIONS_DEFINE= WAYLAND XCB XLIB
-OPTIONS_DEFAULT=WAYLAND XCB XLIB
+PLIST_FILES= lib/libVkLayer_khronos_validation.so \
+ share/vulkan/explicit_layer.d/VkLayer_khronos_validation.json
+
+OPTIONS_DEFINE= WAYLAND XCB XLIB
+OPTIONS_DEFAULT= WAYLAND XCB XLIB
+
+XCB_DESC= ${X11_DESC} via libxcb
+XLIB_DESC= ${X11_DESC} via libX11
WAYLAND_LIB_DEPENDS= libwayland-egl.so:graphics/wayland
WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT
-XCB_DESC= ${X11_DESC} via libxcb
XCB_USES= xorg
XCB_USE= XORG=xcb
XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT
-XLIB_DESC= ${X11_DESC} via libX11
XLIB_USES= xorg
XLIB_USE= XORG=x11,xrandr
XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT
diff --git a/graphics/vulkan-validation-layers/distinfo b/graphics/vulkan-validation-layers/distinfo
index 3eac49a5d1ba..106014142470 100644
--- a/graphics/vulkan-validation-layers/distinfo
+++ b/graphics/vulkan-validation-layers/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750465462
-SHA256 (KhronosGroup-Vulkan-ValidationLayers-v1.4.319_GH0.tar.gz) = e46cb2ba7190cd134497c9841c967e39b8e5f45d4c1cd85f0d3a827e8b4bf037
-SIZE (KhronosGroup-Vulkan-ValidationLayers-v1.4.319_GH0.tar.gz) = 6468839
-SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-424-g3b9447d_GH0.tar.gz) = f80d842d14fd16e46098fda129a95df1502c5b3ceff09a876410a424e933804b
-SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-424-g3b9447d_GH0.tar.gz) = 534278
+TIMESTAMP = 1752313850
+SHA256 (KhronosGroup-Vulkan-ValidationLayers-v1.4.321_GH0.tar.gz) = b539b4862f02bb75a211afa939d59c37263604e88331cf06de5249ff0453cc78
+SIZE (KhronosGroup-Vulkan-ValidationLayers-v1.4.321_GH0.tar.gz) = 6476609
+SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = f88c4918fc307c406b03587689bec0b7b5aaf9539955d3ee7a698342c2c52e8e
+SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = 538631
diff --git a/graphics/vulkan-validation-layers/pkg-plist b/graphics/vulkan-validation-layers/pkg-plist
deleted file mode 100644
index 9175df639946..000000000000
--- a/graphics/vulkan-validation-layers/pkg-plist
+++ /dev/null
@@ -1,2 +0,0 @@
-lib/libVkLayer_khronos_validation.so
-share/vulkan/explicit_layer.d/VkLayer_khronos_validation.json
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 45e9d6f3c7e0..7004938d3df7 100644
--- a/graphics/wallhaven-cli/Makefile
+++ b/graphics/wallhaven-cli/Makefile
@@ -1,10 +1,10 @@
PORTNAME= wallhaven-cli
DISTVERSIONPREFIX= v
DISTVERSION= 2.0.5
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
-MAINTAINER= nxjoseph@protonmail.com
+MAINTAINER= ports@FreeBSD.org
COMMENT= CLI for wallhaven to browse wallpapers in terminal
WWW= https://github.com/r3tr0ananas/wallhaven-cli
diff --git a/graphics/wayland/Makefile b/graphics/wayland/Makefile
index 097e1e4cec84..34789ca25893 100644
--- a/graphics/wayland/Makefile
+++ b/graphics/wayland/Makefile
@@ -1,5 +1,6 @@
PORTNAME= wayland
-DISTVERSION= 1.23.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/webp/Makefile b/graphics/webp/Makefile
index 1626d50f5b47..563ac6cf7511 100644
--- a/graphics/webp/Makefile
+++ b/graphics/webp/Makefile
@@ -1,5 +1,5 @@
PORTNAME= webp
-PORTVERSION= 1.5.0
+PORTVERSION= 1.6.0
CATEGORIES= graphics
MASTER_SITES= http://downloads.webmproject.org/releases/webp/ \
https://storage.googleapis.com/downloads.webmproject.org/releases/webp/
diff --git a/graphics/webp/distinfo b/graphics/webp/distinfo
index d7f76f9f7154..61d3285727d7 100644
--- a/graphics/webp/distinfo
+++ b/graphics/webp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1735227800
-SHA256 (libwebp-1.5.0.tar.gz) = 7d6fab70cf844bf6769077bd5d7a74893f8ffd4dfb42861745750c63c2a5c92c
-SIZE (libwebp-1.5.0.tar.gz) = 4267494
+TIMESTAMP = 1752266014
+SHA256 (libwebp-1.6.0.tar.gz) = e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564
+SIZE (libwebp-1.6.0.tar.gz) = 4296070
diff --git a/graphics/webp/pkg-plist b/graphics/webp/pkg-plist
index 8a11904328be..2f05b52eafdd 100644
--- a/graphics/webp/pkg-plist
+++ b/graphics/webp/pkg-plist
@@ -16,23 +16,23 @@ include/webp/types.h
lib/libsharpyuv.a
lib/libsharpyuv.so
lib/libsharpyuv.so.0
-lib/libsharpyuv.so.0.1.1
+lib/libsharpyuv.so.0.1.2
lib/libwebp.a
lib/libwebp.so
lib/libwebp.so.7
-lib/libwebp.so.7.1.10
+lib/libwebp.so.7.2.0
lib/libwebpdecoder.a
lib/libwebpdecoder.so
lib/libwebpdecoder.so.3
-lib/libwebpdecoder.so.3.1.10
+lib/libwebpdecoder.so.3.2.0
lib/libwebpdemux.a
lib/libwebpdemux.so
lib/libwebpdemux.so.2
-lib/libwebpdemux.so.2.0.16
+lib/libwebpdemux.so.2.0.17
lib/libwebpmux.a
lib/libwebpmux.so
lib/libwebpmux.so.3
-lib/libwebpmux.so.3.1.1
+lib/libwebpmux.so.3.1.2
libdata/pkgconfig/libsharpyuv.pc
libdata/pkgconfig/libwebp.pc
libdata/pkgconfig/libwebpdecoder.pc
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/xournalpp/Makefile b/graphics/xournalpp/Makefile
index 8adad8ad3ad8..b50f9f6f7a6c 100644
--- a/graphics/xournalpp/Makefile
+++ b/graphics/xournalpp/Makefile
@@ -1,7 +1,7 @@
PORTNAME= xournalpp
DISTVERSIONPREFIX= v
DISTVERSION= 1.2.3-20240830
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/yafaray/Makefile b/graphics/yafaray/Makefile
index 85388633ac47..f6d0e76a47b8 100644
--- a/graphics/yafaray/Makefile
+++ b/graphics/yafaray/Makefile
@@ -1,7 +1,7 @@
PORTNAME= yafaray
DISTVERSIONPREFIX= v
DISTVERSION= 3.5.1
-PORTREVISION= 28
+PORTREVISION= 30
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/zathura-pdf-mupdf/Makefile b/graphics/zathura-pdf-mupdf/Makefile
index 63a4a241d273..d939ae161b42 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= 6
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/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 \