summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'graphics')
-rw-r--r--graphics/Coin/Makefile4
-rw-r--r--graphics/Coin/distinfo6
-rw-r--r--graphics/Coin/pkg-plist2
-rw-r--r--graphics/ImageMagick6/Makefile5
-rw-r--r--graphics/ImageMagick7/Makefile5
-rw-r--r--graphics/Makefile24
-rw-r--r--graphics/R-cran-colorspace/Makefile19
-rw-r--r--graphics/R-cran-colorspace/distinfo6
-rw-r--r--graphics/R-cran-ggforce/Makefile36
-rw-r--r--graphics/R-cran-ggforce/distinfo3
-rw-r--r--graphics/R-cran-ggforce/files/patch-src_robust__predicate_expansion_mp__basic.hpp14
-rw-r--r--graphics/R-cran-ggforce/pkg-descr5
-rw-r--r--graphics/R-cran-ggplot2/Makefile5
-rw-r--r--graphics/R-cran-ggplot2/distinfo6
-rw-r--r--graphics/R-cran-magick/Makefile2
-rw-r--r--graphics/R-cran-magick/distinfo6
-rw-r--r--graphics/R-cran-pROC/Makefile5
-rw-r--r--graphics/R-cran-pROC/distinfo6
-rw-r--r--graphics/R-cran-pdftools/Makefile7
-rw-r--r--graphics/R-cran-pdftools/distinfo6
-rw-r--r--graphics/R-cran-pixmap/Makefile2
-rw-r--r--graphics/R-cran-pixmap/distinfo6
-rw-r--r--graphics/R-cran-ragg/Makefile14
-rw-r--r--graphics/R-cran-ragg/distinfo6
-rw-r--r--graphics/R-cran-rgl/Makefile44
-rw-r--r--graphics/R-cran-rgl/distinfo3
-rw-r--r--graphics/R-cran-rgl/pkg-descr6
-rw-r--r--graphics/R-cran-tweenr/Makefile25
-rw-r--r--graphics/R-cran-tweenr/distinfo3
-rw-r--r--graphics/R-cran-tweenr/pkg-descr5
-rw-r--r--graphics/R-cran-visNetwork/Makefile6
-rw-r--r--graphics/R-cran-visNetwork/distinfo6
-rw-r--r--graphics/aeskulap/Makefile20
-rw-r--r--graphics/aeskulap/pkg-plist1
-rw-r--r--graphics/agg/Makefile2
-rw-r--r--graphics/alembic/Makefile1
-rw-r--r--graphics/ampasCTL/Makefile2
-rw-r--r--graphics/appleseed/Makefile2
-rw-r--r--graphics/art/Makefile2
-rw-r--r--graphics/art/distinfo6
-rw-r--r--graphics/art/pkg-plist1
-rw-r--r--graphics/artem/Makefile2
-rw-r--r--graphics/asciinema-agg/Makefile2
-rw-r--r--graphics/asciinema-agg/Makefile.crates550
-rw-r--r--graphics/asciinema-agg/distinfo10
-rw-r--r--graphics/atril-lite/Makefile2
-rw-r--r--graphics/atril/Makefile2
-rw-r--r--graphics/atril/pkg-plist1
-rw-r--r--graphics/birdfont/Makefile2
-rw-r--r--graphics/blender/Makefile2
-rw-r--r--graphics/bmeps/Makefile8
-rw-r--r--graphics/bmeps/distinfo6
-rw-r--r--graphics/camerakit/Makefile2
-rw-r--r--graphics/catimg/Makefile3
-rw-r--r--graphics/catimg/distinfo6
-rw-r--r--graphics/cegui/Makefile2
-rw-r--r--graphics/cenon/Makefile2
-rw-r--r--graphics/chafa/Makefile2
-rw-r--r--graphics/chafa/distinfo6
-rw-r--r--graphics/chafa/pkg-plist2
-rw-r--r--graphics/cimg/Makefile24
-rw-r--r--graphics/cimg/distinfo6
-rw-r--r--graphics/cimg/files/patch-examples__Makefile60
-rw-r--r--graphics/cloudcompare/Makefile4
-rw-r--r--graphics/colmap/Makefile23
-rw-r--r--graphics/colmap/distinfo6
-rw-r--r--graphics/colmap/pkg-plist3
-rw-r--r--graphics/colord-kde/distinfo6
-rw-r--r--graphics/colord/Makefile7
-rw-r--r--graphics/colord/distinfo6
-rw-r--r--graphics/colord/pkg-plist4
-rw-r--r--graphics/converseen/Makefile18
-rw-r--r--graphics/converseen/distinfo6
-rw-r--r--graphics/corrupter/Makefile2
-rw-r--r--graphics/cosmoplayer/Makefile40
-rw-r--r--graphics/cosmoplayer/distinfo2
-rw-r--r--graphics/cosmoplayer/pkg-descr4
-rw-r--r--graphics/ctl/Makefile9
-rw-r--r--graphics/ctl/distinfo8
-rw-r--r--graphics/ctl/files/patch-OpenEXR__CTL_exrdpx_exrToDpx.cpp19
-rw-r--r--graphics/ctl/pkg-plist11
-rw-r--r--graphics/d2/Makefile4
-rw-r--r--graphics/d2/distinfo10
-rw-r--r--graphics/darktable/Makefile4
-rw-r--r--graphics/darktable/distinfo6
-rw-r--r--graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac743374885
-rw-r--r--graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce89834305946
-rw-r--r--graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af23
-rw-r--r--graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b154
-rw-r--r--graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf64223
-rw-r--r--graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c71227
-rw-r--r--graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa30
-rw-r--r--graphics/darktable/pkg-plist1
-rw-r--r--graphics/dataplot/Makefile29
-rw-r--r--graphics/dataplot/distinfo6
-rw-r--r--graphics/dataplot/files/patch-Makefile20
-rw-r--r--graphics/devil/Makefile2
-rw-r--r--graphics/diff-pdf/Makefile2
-rw-r--r--graphics/dify/Makefile2
-rw-r--r--graphics/digikam/Makefile41
-rw-r--r--graphics/digikam/distinfo10
-rw-r--r--graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp14
-rw-r--r--graphics/digikam/pkg-plist137
-rw-r--r--graphics/djview4/Makefile2
-rw-r--r--graphics/drawio/Makefile6
-rw-r--r--graphics/drawio/distinfo6
-rw-r--r--graphics/drawpile/Makefile3
-rw-r--r--graphics/drawpile/distinfo6
-rw-r--r--graphics/drawpile/files/patch-src_desktop_bundled_miniaudio_CMakeLists.txt9
-rw-r--r--graphics/drawpile/files/patch-src_drawdance_libcommon_dpcommon_common.h8
-rw-r--r--graphics/drawpile/files/patch-src_drawdance_libimpex_dpimpex_save.c10
-rw-r--r--graphics/drawpile/pkg-plist68
-rw-r--r--graphics/drm-510-kmod/Makefile4
-rw-r--r--graphics/drm-510-kmod/Makefile.version2
-rw-r--r--graphics/drm-510-kmod/distinfo6
-rw-r--r--graphics/drm-515-kmod/Makefile13
-rw-r--r--graphics/drm-515-kmod/Makefile.version2
-rw-r--r--graphics/drm-515-kmod/distinfo6
-rw-r--r--graphics/drm-515-kmod/files/extra-patch-linuxkpi-pci102
-rw-r--r--graphics/drm-61-kmod/Makefile4
-rw-r--r--graphics/drm-61-kmod/Makefile.version2
-rw-r--r--graphics/drm-61-kmod/distinfo6
-rw-r--r--graphics/drm-66-kmod/Makefile4
-rw-r--r--graphics/drm-66-kmod/Makefile.version2
-rw-r--r--graphics/drm-66-kmod/distinfo6
-rw-r--r--graphics/drm-kmod/Makefile2
-rw-r--r--graphics/drm-latest-kmod/Makefile61
-rw-r--r--graphics/drm-latest-kmod/Makefile.version5
-rw-r--r--graphics/drm-latest-kmod/distinfo3
-rw-r--r--graphics/drm-latest-kmod/files/pkg-message.in22
-rw-r--r--graphics/drm-latest-kmod/pkg-descr4
-rw-r--r--graphics/drm-latest-kmod/pkg-plist6
-rw-r--r--graphics/drm_info/Makefile12
-rw-r--r--graphics/drm_info/distinfo6
-rw-r--r--graphics/drm_info/files/patch-libdrm-2.4.12355
-rw-r--r--graphics/dspdfviewer/Makefile2
-rw-r--r--graphics/dssim/Makefile2
-rw-r--r--graphics/durdraw/Makefile7
-rw-r--r--graphics/durdraw/distinfo6
-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/enblend/Makefile2
-rw-r--r--graphics/engauge-digitizer/Makefile38
-rw-r--r--graphics/engauge-digitizer/distinfo6
-rw-r--r--graphics/engauge-digitizer/files/patch-src_Logger_LoggerUpload.h11
-rw-r--r--graphics/engauge-digitizer/pkg-plist5
-rw-r--r--graphics/epdfview/Makefile2
-rw-r--r--graphics/epsonscan2/Makefile2
-rw-r--r--graphics/evince/Makefile1
-rw-r--r--graphics/evolvotron/Makefile2
-rw-r--r--graphics/exiv2/Makefile2
-rw-r--r--graphics/exiv2/distinfo6
-rw-r--r--graphics/exrtools/Makefile2
-rw-r--r--graphics/f3d/Makefile5
-rw-r--r--graphics/f3d/distinfo6
-rw-r--r--graphics/f3d/pkg-plist2
-rw-r--r--graphics/feh/Makefile3
-rw-r--r--graphics/feh/distinfo6
-rw-r--r--graphics/filament/Makefile9
-rw-r--r--graphics/filament/distinfo6
-rw-r--r--graphics/filament/files/patch-CMakeLists.txt4
-rw-r--r--graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp6
-rw-r--r--graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h4
-rw-r--r--graphics/filament/files/patch-libs_utils_CMakeLists.txt6
-rw-r--r--graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc40
-rw-r--r--graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h42
-rw-r--r--graphics/filament/pkg-plist48
-rw-r--r--graphics/fortytwo/Makefile2
-rw-r--r--graphics/fracplanet/Makefile2
-rw-r--r--graphics/fractgen/Makefile4
-rw-r--r--graphics/fractgen/distinfo6
-rw-r--r--graphics/fractgen/pkg-plist185
-rw-r--r--graphics/frei0r-plugins-cairo/Makefile6
-rw-r--r--graphics/frei0r-plugins-cairo/pkg-plist1
-rw-r--r--graphics/frei0r-plugins-gavl/Makefile6
-rw-r--r--graphics/frei0r-plugins-opencv/Makefile8
-rw-r--r--graphics/frei0r/Makefile8
-rw-r--r--graphics/frei0r/distinfo6
-rw-r--r--graphics/frei0r/files/patch-CMakeLists.txt20
-rw-r--r--graphics/frei0r/files/patch-src_filter_CMakeLists.txt8
-rw-r--r--graphics/frei0r/files/patch-src_filter_heatmap0r_CMakeLists.txt10
-rw-r--r--graphics/frei0r/files/patch-src_mixer2_CMakeLists.txt4
-rw-r--r--graphics/frei0r/pkg-plist9
-rw-r--r--graphics/frei0r/version.mk2
-rw-r--r--graphics/fyre/Makefile2
-rw-r--r--graphics/gd/Makefile3
-rw-r--r--graphics/gdal-grass/Makefile12
-rw-r--r--graphics/gdal-grass/distinfo6
-rw-r--r--graphics/gdal/Makefile27
-rw-r--r--graphics/gdal/distinfo6
-rw-r--r--graphics/gdal/files/patch-pugixml10
-rw-r--r--graphics/gdal/pkg-plist6
-rw-r--r--graphics/gdk-pixbuf2/Makefile16
-rw-r--r--graphics/gdk-pixbuf2/distinfo6
-rw-r--r--graphics/gdk-pixbuf2/pkg-plist2
-rw-r--r--graphics/geeqie/Makefile2
-rw-r--r--graphics/gegl/Makefile7
-rw-r--r--graphics/gegl/distinfo6
-rw-r--r--graphics/geos/Makefile2
-rw-r--r--graphics/geos/distinfo6
-rw-r--r--graphics/geos/pkg-plist21
-rw-r--r--graphics/geoserver/Makefile20
-rw-r--r--graphics/geoserver/distinfo6
-rw-r--r--graphics/geoserver/pkg-plist140
-rw-r--r--graphics/gexiv2/Makefile2
-rw-r--r--graphics/gexiv2_016/Makefile41
-rw-r--r--graphics/gexiv2_016/distinfo3
-rw-r--r--graphics/gexiv2_016/pkg-descr3
-rw-r--r--graphics/gexiv2_016/pkg-plist216
-rw-r--r--graphics/gifski/Makefile2
-rw-r--r--graphics/gimp-app/Makefile2
-rw-r--r--graphics/gimp-app/files/patch-libgimp_gimp.c8
-rw-r--r--graphics/gimp3-app/Makefile24
-rw-r--r--graphics/gimp3-app/distinfo6
-rw-r--r--graphics/gimp3-app/files/patch-libgimp_gimp.c8
-rw-r--r--graphics/gimp3-app/files/patch-meson.build16
-rw-r--r--graphics/gimp3-app/files/patch-meson__options.txt8
-rw-r--r--graphics/gimp3-app/pkg-plist27
-rw-r--r--graphics/glslang/Makefile11
-rw-r--r--graphics/glslang/distinfo6
-rw-r--r--graphics/glslang/pkg-plist3
-rw-r--r--graphics/glvis/Makefile5
-rw-r--r--graphics/glvis/distinfo6
-rw-r--r--graphics/gmic-qt/Makefile18
-rw-r--r--graphics/gmic-qt/distinfo6
-rw-r--r--graphics/gmic/Makefile2
-rw-r--r--graphics/gnash/Makefile2
-rw-r--r--graphics/gource/Makefile10
-rw-r--r--graphics/gource/distinfo6
-rw-r--r--graphics/gowall/Makefile42
-rw-r--r--graphics/gowall/distinfo10
-rw-r--r--graphics/gowall/files/i386/extra-patch-vendor_github.com_gen2brain_go-fitz_fitz__cgo.go25
-rw-r--r--graphics/gowall/files/patch-internal_backends_compression_png_setup.go10
-rw-r--r--graphics/gowall/files/patch-internal_image_upscale.go19
-rw-r--r--graphics/gowall/files/patch-vendor_github.com_gen2brain_go-fitz_fitz__cgo.go16
-rw-r--r--graphics/gpu-firmware-amd-kmod/Makefile17
-rw-r--r--graphics/gpu-firmware-amd-kmod/distinfo6
-rw-r--r--graphics/gpu-firmware-amd-kmod/pkg-plist20
-rw-r--r--graphics/gpu-firmware-intel-kmod/Makefile7
-rw-r--r--graphics/gpu-firmware-intel-kmod/distinfo6
-rw-r--r--graphics/gpu-firmware-intel-kmod/pkg-plist5
-rw-r--r--graphics/gpu-firmware-kmod/Makefile19
-rw-r--r--graphics/grafx2/Makefile1
-rw-r--r--graphics/graphos/Makefile2
-rw-r--r--graphics/graphviz/Makefile5
-rw-r--r--graphics/graphviz/distinfo6
-rw-r--r--graphics/graphviz/files/patch-configure.ac26
-rw-r--r--graphics/graphviz/pkg-plist70
-rw-r--r--graphics/gscan2pdf/Makefile5
-rw-r--r--graphics/gscan2pdf/distinfo6
-rw-r--r--graphics/gscan2pdf/pkg-plist2
-rw-r--r--graphics/gstreamer1-plugins-openexr/Makefile3
-rw-r--r--graphics/gthumb/Makefile48
-rw-r--r--graphics/gthumb/distinfo6
-rw-r--r--graphics/gthumb/files/patch-extensions_image__rotation_rotation-utils.c10
-rw-r--r--graphics/gthumb/pkg-plist144
-rw-r--r--graphics/gtkam/Makefile2
-rw-r--r--graphics/gwenview/distinfo6
-rw-r--r--graphics/gwenview/pkg-plist1
-rw-r--r--graphics/halftone/Makefile2
-rw-r--r--graphics/halftone/distinfo6
-rw-r--r--graphics/halftone/pkg-plist10
-rw-r--r--graphics/hdr_tools/Makefile2
-rw-r--r--graphics/hiptext/Makefile2
-rw-r--r--graphics/hs-tart/Makefile40
-rw-r--r--graphics/hs-tart/distinfo64
-rw-r--r--graphics/hugin/Makefile27
-rw-r--r--graphics/hugin/distinfo6
-rw-r--r--graphics/hugin/files/patch-CMakeLists.txt11
-rw-r--r--graphics/hugin/pkg-plist98
-rw-r--r--graphics/hvif-tools/Makefile29
-rw-r--r--graphics/hvif-tools/distinfo3
-rw-r--r--graphics/hvif-tools/files/patch-src_tracer_processing_PathScanner.cpp20
-rw-r--r--graphics/hvif-tools/files/patch-src_tracer_processing_PathScanner.h11
-rw-r--r--graphics/hvif-tools/pkg-descr8
-rw-r--r--graphics/hvif-tools/pkg-plist44
-rw-r--r--graphics/hyprgraphics/Makefile19
-rw-r--r--graphics/hyprgraphics/distinfo6
-rw-r--r--graphics/hyprgraphics/pkg-plist9
-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-plist9
-rw-r--r--graphics/imageviewer/Makefile2
-rw-r--r--graphics/imlib2/Makefile9
-rw-r--r--graphics/imlib2/pkg-plist1
-rw-r--r--graphics/impressive/Makefile2
-rw-r--r--graphics/inkscape/Makefile8
-rw-r--r--graphics/inkscape/distinfo8
-rw-r--r--graphics/ipe/Makefile55
-rw-r--r--graphics/ipe/distinfo6
-rw-r--r--graphics/ipe/pkg-plist3
-rw-r--r--graphics/jasper/Makefile2
-rw-r--r--graphics/jasper/distinfo6
-rw-r--r--graphics/jkqtplotter/Makefile45
-rw-r--r--graphics/jkqtplotter/distinfo3
-rw-r--r--graphics/jkqtplotter/pkg-descr3
-rw-r--r--graphics/jkqtplotter/pkg-plist.qt5143
-rw-r--r--graphics/jkqtplotter/pkg-plist.qt6143
-rw-r--r--graphics/jp/Makefile2
-rw-r--r--graphics/jpeg-turbo/Makefile2
-rw-r--r--graphics/jpeg-turbo/distinfo6
-rw-r--r--graphics/jpegoptim/Makefile6
-rw-r--r--graphics/jpegoptim/distinfo6
-rw-r--r--graphics/jpgtn/Makefile5
-rw-r--r--graphics/kamera/distinfo6
-rw-r--r--graphics/katarakt/Makefile2
-rw-r--r--graphics/kcolorchooser/distinfo6
-rw-r--r--graphics/kdegraphics-mobipocket/Makefile17
-rw-r--r--graphics/kdegraphics-mobipocket/distinfo6
-rw-r--r--graphics/kdegraphics-mobipocket/pkg-plist22
-rw-r--r--graphics/kdegraphics-mobipocket/pkg-plist.qt511
-rw-r--r--graphics/kdegraphics-mobipocket/pkg-plist.qt611
-rw-r--r--graphics/kdegraphics-svgpart/distinfo6
-rw-r--r--graphics/kdegraphics-thumbnailers/Makefile2
-rw-r--r--graphics/kdegraphics-thumbnailers/distinfo6
-rw-r--r--graphics/kdegraphics/Makefile3
-rw-r--r--graphics/kf5-kimageformats/Makefile2
-rw-r--r--graphics/kf6-kimageformats/Makefile12
-rw-r--r--graphics/kf6-kimageformats/distinfo6
-rw-r--r--graphics/kf6-kimageformats/pkg-plist2
-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-plist3
-rw-r--r--graphics/khronos-texture/Makefile2
-rw-r--r--graphics/khronos-texture/distinfo6
-rw-r--r--graphics/kimagemapeditor/distinfo6
-rw-r--r--graphics/kolourpaint/Makefile15
-rw-r--r--graphics/kolourpaint/distinfo6
-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/Makefile4
-rw-r--r--graphics/krita/distinfo6
-rw-r--r--graphics/krita/files/patch-3rdparty__vendor_raqm_CMakeLists.txt12
-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/leptonica/Makefile39
-rw-r--r--graphics/leptonica/distinfo10
-rw-r--r--graphics/leptonica/files/patch-openjpeg-2.559
-rw-r--r--graphics/leptonica/pkg-plist11
-rw-r--r--graphics/libavif/Makefile2
-rw-r--r--graphics/libbpg/Makefile2
-rw-r--r--graphics/libdrm/Makefile2
-rw-r--r--graphics/libdrm/distinfo6
-rw-r--r--graphics/libdrm/pkg-plist8
-rw-r--r--graphics/libetonyek01/Makefile5
-rw-r--r--graphics/libetonyek01/distinfo6
-rw-r--r--graphics/libetonyek01/files/patch-configure22
-rw-r--r--graphics/libetonyek01/files/patch-src_lib_IWORKTable.cpp13
-rw-r--r--graphics/libgeotiff/Makefile1
-rw-r--r--graphics/libheif/Makefile2
-rw-r--r--graphics/libimagequant/Makefile17
-rw-r--r--graphics/libimagequant/Makefile.crates36
-rw-r--r--graphics/libimagequant/distinfo78
-rw-r--r--graphics/libjxl/Makefile2
-rw-r--r--graphics/libkdcraw/Makefile2
-rw-r--r--graphics/libkdcraw/distinfo6
-rw-r--r--graphics/libkexiv2/Makefile18
-rw-r--r--graphics/libkexiv2/distinfo6
-rw-r--r--graphics/libkexiv2/pkg-plist36
-rw-r--r--graphics/libkexiv2/pkg-plist.qt518
-rw-r--r--graphics/libkexiv2/pkg-plist.qt618
-rw-r--r--graphics/libksane/distinfo6
-rw-r--r--graphics/libopenraw/Makefile2
-rw-r--r--graphics/libpano13/Makefile3
-rw-r--r--graphics/libpano13/distinfo6
-rw-r--r--graphics/libpano13/files/patch-CMakeLists.txt6
-rw-r--r--graphics/libplacebo/Makefile3
-rw-r--r--graphics/librasterlite2/Makefile2
-rw-r--r--graphics/libresprite/Makefile34
-rw-r--r--graphics/libresprite/distinfo13
-rw-r--r--graphics/libresprite/files/patch-src_she_sdl2_she.cpp11
-rw-r--r--graphics/libresprite/pkg-descr4
-rw-r--r--graphics/libresprite/pkg-plist132
-rw-r--r--graphics/librsvg2-rust/Makefile18
-rw-r--r--graphics/librsvg2-rust/Makefile.crates430
-rw-r--r--graphics/librsvg2-rust/distinfo866
-rw-r--r--graphics/librsvg2-rust/pkg-plist6
-rw-r--r--graphics/libskiasharp/Makefile27
-rw-r--r--graphics/libskiasharp/distinfo8
-rw-r--r--graphics/libskiasharp/files/libskiasharp.map10
-rw-r--r--graphics/libskiasharp/files/patch-src_codec_SkJpegCodec.cpp55
-rw-r--r--graphics/libskiasharp/files/patch-src_core_SkRasterPipeline.h11
-rw-r--r--graphics/libyuv/Makefile8
-rw-r--r--graphics/libyuv/distinfo6
-rw-r--r--graphics/libyuv/files/patch-CMakeLists.txt18
-rw-r--r--graphics/libyuv/pkg-plist4
-rw-r--r--graphics/linux-c7-libdrm/Makefile2
-rw-r--r--graphics/linux-rl9-dri/Makefile8
-rw-r--r--graphics/linux-rl9-dri/distinfo68
-rw-r--r--graphics/linux-rl9-dri/pkg-plist.aarch645
-rw-r--r--graphics/linux-rl9-dri/pkg-plist.amd6410
-rw-r--r--graphics/linux-rl9-gdk-pixbuf2/Makefile4
-rw-r--r--graphics/linux-rl9-gdk-pixbuf2/distinfo30
-rw-r--r--graphics/linux-rl9-imageformats-libs/Makefile9
-rw-r--r--graphics/linux-rl9-imageformats-libs/distinfo34
-rw-r--r--graphics/linux-rl9-libdrm/Makefile2
-rw-r--r--graphics/linux-rl9-libjxl/Makefile5
-rw-r--r--graphics/linux-rl9-libjxl/distinfo14
-rw-r--r--graphics/linux-rl9-libjxl/pkg-plist.aarch644
-rw-r--r--graphics/linux-rl9-libjxl/pkg-plist.amd644
-rw-r--r--graphics/linux-rl9-qt5-qt3d/Makefile6
-rw-r--r--graphics/linux-rl9-qt5-qt3d/distinfo18
-rw-r--r--graphics/linux-rl9-shaderc/Makefile2
-rw-r--r--graphics/linux-rl9-shaderc/distinfo18
-rw-r--r--graphics/linux-rl9-spirv-tools/Makefile2
-rw-r--r--graphics/linux-rl9-spirv-tools/distinfo26
-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/linux-rl9-vulkan/Makefile2
-rw-r--r--graphics/linux-rl9-vulkan/distinfo18
-rw-r--r--graphics/luminance-qt5/Makefile2
-rw-r--r--graphics/lunasvg/Makefile9
-rw-r--r--graphics/lunasvg/distinfo6
-rw-r--r--graphics/lximage-qt/Makefile3
-rw-r--r--graphics/lximage-qt/distinfo6
-rw-r--r--graphics/magnum-examples/Makefile2
-rw-r--r--graphics/magnum-integration/Makefile4
-rw-r--r--graphics/mandelbulber/Makefile1
-rw-r--r--graphics/mapnik/Makefile49
-rw-r--r--graphics/mapnik/distinfo18
-rw-r--r--graphics/mapnik/files/patch-plugins_input_tiles_pmtiles__source.hpp20
-rw-r--r--graphics/mapnik/pkg-plist4
-rw-r--r--graphics/mapserver/Makefile4
-rw-r--r--graphics/mapserver/distinfo6
-rw-r--r--graphics/mapserver/pkg-plist2
-rw-r--r--graphics/materialx/Makefile53
-rw-r--r--graphics/materialx/distinfo17
-rw-r--r--graphics/materialx/files/patch-python_CMakeLists.txt11
-rw-r--r--graphics/materialx/files/patch-source_MaterialXFormat_File.cpp49
-rw-r--r--graphics/materialx/files/patch-source_MaterialXView_NanoGUI_CMakeLists.txt14
-rw-r--r--graphics/materialx/pkg-descr2
-rw-r--r--graphics/materialx/pkg-plist786
-rw-r--r--graphics/matplotlib-cpp/Makefile2
-rw-r--r--graphics/matplotplusplus/Makefile13
-rw-r--r--graphics/matplotplusplus/distinfo6
-rw-r--r--graphics/matplotplusplus/files/patch-source_matplot_util_popen.cpp11
-rw-r--r--graphics/matplotplusplus/files/patch-source_matplot_util_popen.h11
-rw-r--r--graphics/matplotplusplus/pkg-plist1
-rw-r--r--graphics/menyoki/Makefile2
-rw-r--r--graphics/mesa-devel/Makefile39
-rw-r--r--graphics/mesa-devel/distinfo10
-rw-r--r--graphics/mesa-devel/files/libmap.conf.in2
-rw-r--r--graphics/mesa-devel/files/patch-suffix21
-rw-r--r--graphics/mesa-devel/pkg-plist10
-rw-r--r--graphics/mesa-dri/Makefile2
-rw-r--r--graphics/mesa-dri/Makefile.common3
-rw-r--r--graphics/milton/Makefile2
-rw-r--r--graphics/minder/Makefile2
-rw-r--r--graphics/movit/Makefile2
-rw-r--r--graphics/movit/distinfo6
-rw-r--r--graphics/movit/pkg-plist2
-rw-r--r--graphics/msl/Makefile4
-rw-r--r--graphics/mupdf/Makefile2
-rw-r--r--graphics/mupdf/distinfo6
-rw-r--r--graphics/mupdf/pkg-plist2
-rw-r--r--graphics/natron/Makefile4
-rw-r--r--graphics/nip2/Makefile2
-rw-r--r--graphics/noaa-apt/Makefile2
-rw-r--r--graphics/nsxiv/Makefile7
-rw-r--r--graphics/nsxiv/distinfo6
-rw-r--r--graphics/nsxiv/pkg-plist2
-rw-r--r--graphics/nvidia-drm-510-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-510-kmod-devel/distinfo10
-rw-r--r--graphics/nvidia-drm-510-kmod/Makefile3
-rw-r--r--graphics/nvidia-drm-510-kmod/distinfo10
-rw-r--r--graphics/nvidia-drm-515-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-515-kmod-devel/distinfo10
-rw-r--r--graphics/nvidia-drm-515-kmod/Makefile3
-rw-r--r--graphics/nvidia-drm-515-kmod/distinfo10
-rw-r--r--graphics/nvidia-drm-61-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-61-kmod-devel/distinfo10
-rw-r--r--graphics/nvidia-drm-61-kmod/Makefile3
-rw-r--r--graphics/nvidia-drm-61-kmod/distinfo10
-rw-r--r--graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-0147
-rw-r--r--graphics/nvidia-drm-66-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-66-kmod-devel/distinfo10
-rw-r--r--graphics/nvidia-drm-66-kmod/Makefile1
-rw-r--r--graphics/nvidia-drm-66-kmod/distinfo10
-rw-r--r--graphics/nvidia-drm-66-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-0147
-rw-r--r--graphics/nvidia-drm-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-kmod/Makefile5
-rw-r--r--graphics/nvidia-drm-kmod/Makefile.common2
-rw-r--r--graphics/nvidia-drm-latest-kmod-devel/Makefile7
-rw-r--r--graphics/nvidia-drm-latest-kmod-devel/distinfo5
-rw-r--r--graphics/nvidia-drm-latest-kmod/Makefile11
-rw-r--r--graphics/nvidia-drm-latest-kmod/distinfo5
-rw-r--r--graphics/nvidia-drm-latest-kmod/files/20-nvidia-drm-outputclass.conf.in8
-rw-r--r--graphics/nvidia-drm-latest-kmod/files/extra-patch-nvidia-drm-conftest.h14
-rw-r--r--graphics/nvidia-drm-latest-kmod/files/extra-patch-nvidia-drm-freebsd-lkpi.c54
-rw-r--r--graphics/nvidia-drm-latest-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-0147
-rw-r--r--graphics/nvidia-drm-latest-kmod/pkg-descr3
-rw-r--r--graphics/nvidia-drm-latest-kmod/pkg-message8
-rw-r--r--graphics/ocrs/Makefile19
-rw-r--r--graphics/ocrs/distinfo36
-rw-r--r--graphics/oculante/Makefile2
-rw-r--r--graphics/ogre3d/Makefile11
-rw-r--r--graphics/ogre3d/distinfo6
-rw-r--r--graphics/ogre3d/files/patch-OgreMain_include_OgrePlatformInformation.h10
-rw-r--r--graphics/ogre3d/pkg-plist10
-rw-r--r--graphics/okular/Makefile2
-rw-r--r--graphics/okular/distinfo6
-rw-r--r--graphics/okular/pkg-plist4
-rw-r--r--graphics/opencolorio-tools/Makefile2
-rw-r--r--graphics/opencolorio/Makefile2
-rw-r--r--graphics/opencv/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-website-docs/files/patch-CMakeLists.txt12
-rw-r--r--graphics/openexr/Makefile17
-rw-r--r--graphics/openexr/distinfo6
-rw-r--r--graphics/openexr/pkg-plist2
-rw-r--r--graphics/openfx-arena/Makefile4
-rw-r--r--graphics/openimageio/Makefile2
-rw-r--r--graphics/openjpeg/Makefile7
-rw-r--r--graphics/openjpeg/distinfo10
-rw-r--r--graphics/openjph/Makefile2
-rw-r--r--graphics/openjph/distinfo6
-rw-r--r--graphics/openjph/pkg-plist2
-rw-r--r--graphics/openmvs/Makefile21
-rw-r--r--graphics/openmvs/distinfo6
-rw-r--r--graphics/openmvs/files/patch-build_Utils.cmake18
-rw-r--r--graphics/openmvs/files/patch-libs_MVS_Mesh.cpp25
-rw-r--r--graphics/openmvs/pkg-plist1
-rw-r--r--graphics/openorienteering-mapper/Makefile5
-rw-r--r--graphics/openorienteering-mapper/distinfo4
-rw-r--r--graphics/openshadinglanguage/Makefile2
-rw-r--r--graphics/openvkl/Makefile8
-rw-r--r--graphics/openvkl/distinfo6
-rw-r--r--graphics/openvkl/pkg-plist34
-rw-r--r--graphics/openxr/Makefile3
-rw-r--r--graphics/openxr/distinfo6
-rw-r--r--graphics/osg/Makefile20
-rw-r--r--graphics/osg/files/patch-CMakeModules_FindFFmpeg.cmake10
-rw-r--r--graphics/osg/files/patch-CMakeModules_FindGStreamer.cmake17
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_OpenCASCADE_ReaderWriterOpenCASCADE.cpp11
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoder.cpp207
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoder.hpp255
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderAudio.cpp478
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderAudio.hpp131
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderVideo.cpp440
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegDecoderVideo.hpp62
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegPacket.hpp11
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_FFmpegParameters.cpp37
-rw-r--r--graphics/osg/files/patch-src_osgPlugins_ffmpeg_ReaderWriterFFmpeg.cpp100
-rw-r--r--graphics/osg34/Makefile155
-rw-r--r--graphics/osg34/distinfo3
-rw-r--r--graphics/osg34/files/patch-CMakeLists.txt30
-rw-r--r--graphics/osg34/files/patch-CMakeModules-FindGTA.cmake25
-rw-r--r--graphics/osg34/files/patch-CMakeModules_FindFFmpeg.cmake10
-rw-r--r--graphics/osg34/files/patch-CMakeModules_FindGStreamer.cmake32
-rw-r--r--graphics/osg34/files/patch-CMakeModules_FindOpenEXR.cmake23
-rw-r--r--graphics/osg34/files/patch-shift-key-fix23
-rw-r--r--graphics/osg34/files/patch-src-OpenThreads-CMakeLists.txt8
-rw-r--r--graphics/osg34/files/patch-src-OpenThreads-pthreads-PThread.cpp37
-rw-r--r--graphics/osg34/files/patch-src_osgPlugins_ffmpeg_CMakeLists.txt31
-rw-r--r--graphics/osg34/files/patch-src_osgPlugins_gdal_CMakeLists.txt8
-rw-r--r--graphics/osg34/files/patch-src_osgPlugins_nvtt_CMakeLists.txt8
-rw-r--r--graphics/osg34/files/patch-src_osgPlugins_ogr_CMakeLists.txt8
-rw-r--r--graphics/osg34/pkg-descr4
-rw-r--r--graphics/osg34/pkg-plist792
-rw-r--r--graphics/osgearth/Makefile5
-rw-r--r--graphics/ospray/Makefile5
-rw-r--r--graphics/ossim/Makefile2
-rw-r--r--graphics/oxipng/Makefile3
-rw-r--r--graphics/oxipng/Makefile.crates110
-rw-r--r--graphics/oxipng/distinfo226
-rw-r--r--graphics/oxipng/files/patch-man27
-rw-r--r--graphics/oyranos/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/Makefile2
-rw-r--r--graphics/p5-Geo-GDAL-FFI/distinfo6
-rw-r--r--graphics/p5-Geo-LibProj-FFI/Makefile1
-rw-r--r--graphics/p5-Gimp/Makefile8
-rw-r--r--graphics/p5-Image-ExifTool-devel/Makefile4
-rw-r--r--graphics/p5-Image-ExifTool-devel/distinfo6
-rw-r--r--graphics/p5-Image-ExifTool-devel/pkg-plist8
-rw-r--r--graphics/p5-Image-ExifTool/Makefile2
-rw-r--r--graphics/p5-Image-ExifTool/distinfo6
-rw-r--r--graphics/p5-Image-ExifTool/pkg-plist2
-rw-r--r--graphics/p5-Imager/Makefile2
-rw-r--r--graphics/p5-Imager/distinfo6
-rw-r--r--graphics/partio/Makefile10
-rw-r--r--graphics/partio/distinfo10
-rw-r--r--graphics/partio/files/patch-src_tests_CMakeLists.txt10
-rw-r--r--graphics/partio/files/patch-src_tools_partedit.py13
-rw-r--r--graphics/partio/pkg-plist2
-rw-r--r--graphics/pastel/Makefile111
-rw-r--r--graphics/pastel/Makefile.crates124
-rw-r--r--graphics/pastel/distinfo396
-rw-r--r--graphics/pcl-pointclouds/Makefile26
-rw-r--r--graphics/pcl-pointclouds/distinfo10
-rw-r--r--graphics/pcl-pointclouds/files/patch-outofcore_CMakeLists.txt15
-rw-r--r--graphics/pcl-pointclouds/pkg-plist56
-rw-r--r--graphics/pdf2svg/Makefile2
-rw-r--r--graphics/pdfpc/Makefile4
-rw-r--r--graphics/pear-Image_Color/Makefile2
-rw-r--r--graphics/pear-Image_Color/distinfo6
-rw-r--r--graphics/pecl-imagick/Makefile12
-rw-r--r--graphics/pecl-qrencode/Makefile4
-rw-r--r--graphics/pecl-qrencode/distinfo6
-rw-r--r--graphics/pfstools/Makefile2
-rw-r--r--graphics/pgplot/Makefile14
-rw-r--r--graphics/photoqt/Makefile4
-rw-r--r--graphics/phototonic/Makefile2
-rw-r--r--graphics/phototonic/distinfo6
-rw-r--r--graphics/phototonic/files/patch-phototonic.pro10
-rw-r--r--graphics/phototonic/pkg-plist20
-rw-r--r--graphics/php-geos/files/patch-php8511
-rw-r--r--graphics/pikopixel/Makefile2
-rw-r--r--graphics/pixie/Makefile2
-rw-r--r--graphics/plantuml/Makefile17
-rw-r--r--graphics/plantuml/distinfo6
-rw-r--r--graphics/plasma6-spectacle/distinfo6
-rw-r--r--graphics/plasma6-spectacle/files/extra-patch-pipewire-off2
-rw-r--r--graphics/plutosvg/Makefile6
-rw-r--r--graphics/plutosvg/distinfo6
-rw-r--r--graphics/plutovg/Makefile4
-rw-r--r--graphics/plutovg/distinfo6
-rw-r--r--graphics/png/Makefile9
-rw-r--r--graphics/png/distinfo10
-rw-r--r--graphics/png/pkg-plist2
-rw-r--r--graphics/pngwriter/Makefile2
-rw-r--r--graphics/podofo/Makefile2
-rw-r--r--graphics/poppler-glib/pkg-plist2
-rw-r--r--graphics/poppler-qt5/pkg-plist2
-rw-r--r--graphics/poppler-qt6/pkg-plist2
-rw-r--r--graphics/poppler/Makefile7
-rw-r--r--graphics/poppler/distinfo6
-rw-r--r--graphics/poppler/files/patch-poppler_FlateStream.cc33
-rw-r--r--graphics/poppler/files/patch-poppler_FlateStream.h11
-rw-r--r--graphics/poppler/pkg-plist2
-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/pqiv/Makefile4
-rw-r--r--graphics/pqiv/distinfo6
-rw-r--r--graphics/preview/Makefile2
-rw-r--r--graphics/price/Makefile2
-rw-r--r--graphics/proj-data/Makefile2
-rw-r--r--graphics/proj-data/distinfo6
-rw-r--r--graphics/proj-data/pkg-plist5
-rw-r--r--graphics/proj/Makefile10
-rw-r--r--graphics/proj/distinfo6
-rw-r--r--graphics/proj/pkg-plist4
-rw-r--r--graphics/py-PyOpenGL/Makefile2
-rw-r--r--graphics/py-actdiag/Makefile2
-rw-r--r--graphics/py-agx-emulsion/Makefile38
-rw-r--r--graphics/py-agx-emulsion/distinfo3
-rw-r--r--graphics/py-agx-emulsion/pkg-descr3
-rw-r--r--graphics/py-albumentations/Makefile2
-rw-r--r--graphics/py-altair/Makefile10
-rw-r--r--graphics/py-altair/distinfo6
-rw-r--r--graphics/py-blockdiag/Makefile2
-rw-r--r--graphics/py-blockdiagcontrib-cisco/Makefile2
-rw-r--r--graphics/py-cairocffi/Makefile8
-rw-r--r--graphics/py-cairocffi/distinfo6
-rw-r--r--graphics/py-cairocffi/files/patch-setup.cfg14
-rw-r--r--graphics/py-cairocffi/pkg-plist6
-rw-r--r--graphics/py-cairosvg/Makefile1
-rw-r--r--graphics/py-cartopy/Makefile2
-rw-r--r--graphics/py-colorthief/Makefile2
-rw-r--r--graphics/py-colorz/Makefile2
-rw-r--r--graphics/py-colour-science/Makefile1
-rw-r--r--graphics/py-contextily/Makefile2
-rw-r--r--graphics/py-contextily/distinfo6
-rw-r--r--graphics/py-descartes/Makefile2
-rw-r--r--graphics/py-dj52-sorl-thumbnail/Makefile62
-rw-r--r--graphics/py-dj52-sorl-thumbnail/distinfo3
-rw-r--r--graphics/py-dj52-sorl-thumbnail/files/patch-pyproject.toml11
-rw-r--r--graphics/py-dj52-sorl-thumbnail/pkg-descr16
-rw-r--r--graphics/py-django-easy-thumbnails/Makefile2
-rw-r--r--graphics/py-easyocr/Makefile38
-rw-r--r--graphics/py-easyocr/distinfo3
-rw-r--r--graphics/py-easyocr/pkg-descr8
-rw-r--r--graphics/py-f3d/Makefile2
-rw-r--r--graphics/py-f3d/distinfo6
-rw-r--r--graphics/py-face_recognition/Makefile2
-rw-r--r--graphics/py-face_recognition_models/Makefile4
-rw-r--r--graphics/py-fotokilof/Makefile1
-rw-r--r--graphics/py-fury/Makefile2
-rw-r--r--graphics/py-gdal/Makefile2
-rw-r--r--graphics/py-gdal/distinfo6
-rw-r--r--graphics/py-geomdl/Makefile2
-rw-r--r--graphics/py-geosnap/Makefile4
-rw-r--r--graphics/py-geosnap/distinfo6
-rw-r--r--graphics/py-giddy/Makefile15
-rw-r--r--graphics/py-giddy/distinfo6
-rw-r--r--graphics/py-glfw/Makefile2
-rw-r--r--graphics/py-glfw/distinfo6
-rw-r--r--graphics/py-haishoku/Makefile2
-rw-r--r--graphics/py-imagecodecs/Makefile3
-rw-r--r--graphics/py-imageio/Makefile3
-rw-r--r--graphics/py-img2pdf/Makefile6
-rw-r--r--graphics/py-img2pdf/distinfo6
-rw-r--r--graphics/py-mapclassify/Makefile1
-rw-r--r--graphics/py-mayavi/Makefile2
-rw-r--r--graphics/py-mcomix/Makefile20
-rw-r--r--graphics/py-mcomix/distinfo6
-rw-r--r--graphics/py-mcomix/pkg-plist31
-rw-r--r--graphics/py-moderngl-window/Makefile1
-rw-r--r--graphics/py-moderngl/Makefile1
-rw-r--r--graphics/py-momepy/Makefile27
-rw-r--r--graphics/py-momepy/distinfo6
-rw-r--r--graphics/py-mpl-interactions/Makefile1
-rw-r--r--graphics/py-mpl-scatter-density/Makefile2
-rw-r--r--graphics/py-napari-console/Makefile2
-rw-r--r--graphics/py-napari-console/distinfo6
-rw-r--r--graphics/py-nwdiag/Makefile2
-rw-r--r--graphics/py-opencolorio/Makefile2
-rw-r--r--graphics/py-openimageio/Makefile2
-rw-r--r--graphics/py-openshadinglanguage/Makefile2
-rw-r--r--graphics/py-openslide-python/Makefile2
-rw-r--r--graphics/py-optimize-images/Makefile2
-rw-r--r--graphics/py-pandarm/Makefile30
-rw-r--r--graphics/py-pandarm/distinfo3
-rw-r--r--graphics/py-pandarm/files/patch-pyproject.toml36
-rw-r--r--graphics/py-pandarm/pkg-descr14
-rw-r--r--graphics/py-pdf2image/Makefile2
-rw-r--r--graphics/py-photocollage/Makefile2
-rw-r--r--graphics/py-pillow-heif/Makefile6
-rw-r--r--graphics/py-pillow-heif/distinfo6
-rw-r--r--graphics/py-pillow/Makefile1
-rw-r--r--graphics/py-pointpats/Makefile14
-rw-r--r--graphics/py-pointpats/distinfo6
-rw-r--r--graphics/py-proplot/Makefile1
-rw-r--r--graphics/py-pycollada/Makefile2
-rw-r--r--graphics/py-pyganim/Makefile2
-rw-r--r--graphics/py-pygeoapi/Makefile2
-rw-r--r--graphics/py-pygeoapi/distinfo6
-rw-r--r--graphics/py-pyglet1/Makefile3
-rw-r--r--graphics/py-pyglet1/distinfo6
-rw-r--r--graphics/py-pygraphviz/Makefile2
-rw-r--r--graphics/py-pyinsane2/Makefile2
-rw-r--r--graphics/py-pyocr/Makefile1
-rw-r--r--graphics/py-pyogrio/Makefile36
-rw-r--r--graphics/py-pyogrio/distinfo3
-rw-r--r--graphics/py-pyogrio/files/patch-pyproject.toml11
-rw-r--r--graphics/py-pyogrio/pkg-descr18
-rw-r--r--graphics/py-pypillowfight/Makefile2
-rw-r--r--graphics/py-pyproj/Makefile7
-rw-r--r--graphics/py-pyproj/distinfo6
-rw-r--r--graphics/py-pyproj/files/patch-pyproject.toml12
-rw-r--r--graphics/py-pyqtgraph/Makefile2
-rw-r--r--graphics/py-pyrsgis/Makefile2
-rw-r--r--graphics/py-pytesseract/Makefile2
-rw-r--r--graphics/py-python-barcode/Makefile1
-rw-r--r--graphics/py-python-poppler-qt5/Makefile2
-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/Makefile8
-rw-r--r--graphics/py-rawpy/Makefile2
-rw-r--r--graphics/py-rawpy/distinfo6
-rw-r--r--graphics/py-rich-pixels/Makefile1
-rw-r--r--graphics/py-rlpycairo/Makefile24
-rw-r--r--graphics/py-rlpycairo/distinfo3
-rw-r--r--graphics/py-rlpycairo/files/patch-pyproject.toml13
-rw-r--r--graphics/py-rlpycairo/pkg-descr7
-rw-r--r--graphics/py-s2/files/patch-swig17
-rw-r--r--graphics/py-scikit-image/Makefile32
-rw-r--r--graphics/py-scikit-image/distinfo6
-rw-r--r--graphics/py-scikit-image/files/patch-pyproject.toml61
-rw-r--r--graphics/py-seqdiag/Makefile2
-rw-r--r--graphics/py-sorl-thumbnail/Makefile21
-rw-r--r--graphics/py-sorl-thumbnail/distinfo6
-rw-r--r--graphics/py-sorl-thumbnail/files/patch-pyproject.toml11
-rw-r--r--graphics/py-spectra/Makefile2
-rw-r--r--graphics/py-term-image/Makefile1
-rw-r--r--graphics/py-termtosvg/Makefile2
-rw-r--r--graphics/py-tifffile/Makefile4
-rw-r--r--graphics/py-tifffile/distinfo6
-rw-r--r--graphics/py-toyplot/Makefile2
-rw-r--r--graphics/py-ueberzug/Makefile2
-rw-r--r--graphics/py-urbanaccess/Makefile2
-rw-r--r--graphics/py-vispy/Makefile5
-rw-r--r--graphics/py-vispy/distinfo6
-rw-r--r--graphics/py-vispy/files/patch-pyproject.toml16
-rw-r--r--graphics/py-visvis/Makefile2
-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/qcomicbook/Makefile2
-rw-r--r--graphics/qgis-ltr/Makefile12
-rw-r--r--graphics/qgis-ltr/distinfo6
-rw-r--r--graphics/qgis-ltr/pkg-plist1
-rw-r--r--graphics/qgis/Makefile12
-rw-r--r--graphics/qgis/distinfo6
-rw-r--r--graphics/qimgv/Makefile16
-rw-r--r--graphics/qimgv/distinfo6
-rw-r--r--graphics/qimgv/files/patch-qimgv_main.cpp15
-rw-r--r--graphics/qimgv/pkg-plist1
-rw-r--r--graphics/qt5-3d/distinfo6
-rw-r--r--graphics/qt5-graphicaleffects/distinfo6
-rw-r--r--graphics/qt5-imageformats/distinfo6
-rw-r--r--graphics/qt5-opengl/distinfo6
-rw-r--r--graphics/qt5-pixeltool/distinfo6
-rw-r--r--graphics/qt5-svg/distinfo6
-rw-r--r--graphics/qt5-wayland/distinfo6
-rw-r--r--graphics/qt6-3d/Makefile1
-rw-r--r--graphics/qt6-3d/distinfo6
-rw-r--r--graphics/qt6-3d/pkg-plist14
-rw-r--r--graphics/qt6-imageformats/distinfo6
-rw-r--r--graphics/qt6-lottie/distinfo6
-rw-r--r--graphics/qt6-quickeffectmaker/distinfo6
-rw-r--r--graphics/qt6-svg/Makefile4
-rw-r--r--graphics/qt6-svg/distinfo8
-rw-r--r--graphics/qt6-wayland/distinfo6
-rw-r--r--graphics/qt6-wayland/files/patch-src_client_qwaylandshellsurface__p.h23
-rw-r--r--graphics/qt6-wayland/files/patch-src_plugins_shellintegration_xdg-shell_qwaylandxdgshell__p.h13
-rw-r--r--graphics/qt6-wayland/pkg-plist1
-rw-r--r--graphics/qtqr/Makefile1
-rw-r--r--graphics/qview/Makefile1
-rw-r--r--graphics/rapid-photo-downloader/Makefile2
-rw-r--r--graphics/resvg-capi/Makefile5
-rw-r--r--graphics/resvg-capi/distinfo6
-rw-r--r--graphics/resvg/Makefile5
-rw-r--r--graphics/resvg/distinfo6
-rw-r--r--graphics/rubygem-clutter-gdk/Makefile2
-rw-r--r--graphics/rubygem-clutter-gdk/distinfo6
-rw-r--r--graphics/rubygem-clutter-gtk/Makefile5
-rw-r--r--graphics/rubygem-clutter-gtk/distinfo6
-rw-r--r--graphics/rubygem-clutter/Makefile5
-rw-r--r--graphics/rubygem-clutter/distinfo6
-rw-r--r--graphics/rubygem-gdk_pixbuf2/Makefile5
-rw-r--r--graphics/rubygem-gdk_pixbuf2/distinfo6
-rw-r--r--graphics/rubygem-graphene1/Makefile20
-rw-r--r--graphics/rubygem-graphene1/distinfo3
-rw-r--r--graphics/rubygem-graphene1/pkg-descr1
-rw-r--r--graphics/rubygem-gruff/Makefile2
-rw-r--r--graphics/rubygem-gruff/distinfo6
-rw-r--r--graphics/rubygem-image_processing/Makefile8
-rw-r--r--graphics/rubygem-invisible_captcha/Makefile3
-rw-r--r--graphics/rubygem-invisible_captcha/distinfo6
-rw-r--r--graphics/rubygem-mini_magick/Makefile7
-rw-r--r--graphics/rubygem-mini_magick/distinfo6
-rw-r--r--graphics/rubygem-mini_magick4/Makefile8
-rw-r--r--graphics/rubygem-rmagick/Makefile3
-rw-r--r--graphics/rubygem-rmagick/distinfo6
-rw-r--r--graphics/rubygem-rsvg2/Makefile5
-rw-r--r--graphics/rubygem-rsvg2/distinfo6
-rw-r--r--graphics/rubygem-ruby-vips/Makefile8
-rw-r--r--graphics/rubygem-ruby-vips/distinfo6
-rw-r--r--graphics/rx/Makefile2
-rw-r--r--graphics/s2/Makefile8
-rw-r--r--graphics/s2/files/patch-CMakeLists.txt58
-rw-r--r--graphics/sane-airscan/Makefile6
-rw-r--r--graphics/sane-airscan/distinfo6
-rw-r--r--graphics/sane-backends/Makefile2
-rw-r--r--graphics/satty/Makefile5
-rw-r--r--graphics/satty/Makefile.crates287
-rw-r--r--graphics/satty/distinfo580
-rw-r--r--graphics/satty/files/patch-icons11
-rw-r--r--graphics/sdl2_image/Makefile1
-rw-r--r--graphics/sdl3_image/Makefile1
-rw-r--r--graphics/sdl3_ttf/Makefile11
-rw-r--r--graphics/sekrit-twc-zimg/Makefile2
-rw-r--r--graphics/sekrit-twc-zimg/distinfo6
-rw-r--r--graphics/shaderc/Makefile27
-rw-r--r--graphics/shaderc/distinfo10
-rw-r--r--graphics/shotwell/Makefile3
-rw-r--r--graphics/shotwell/distinfo6
-rw-r--r--graphics/simpleviewer/Makefile2
-rw-r--r--graphics/skanlite/distinfo6
-rw-r--r--graphics/skanpage/distinfo6
-rw-r--r--graphics/skia/Makefile67
-rw-r--r--graphics/skia/distinfo3
-rw-r--r--graphics/skia/files/patch-BUILD.gn19
-rw-r--r--graphics/skia/files/skia.pc.in11
-rw-r--r--graphics/skia/pkg-descr4
-rw-r--r--graphics/skia/pkg-plist555
-rw-r--r--graphics/spirv-cross/Makefile4
-rw-r--r--graphics/spirv-cross/distinfo6
-rw-r--r--graphics/spirv-cross/pkg-plist2
-rw-r--r--graphics/spirv-tools/Makefile26
-rw-r--r--graphics/spirv-tools/distinfo10
-rw-r--r--graphics/spirv-tools/pkg-plist1
-rw-r--r--graphics/ssocr/Makefile2
-rw-r--r--graphics/ssocr/distinfo6
-rw-r--r--graphics/stamp/Makefile5
-rw-r--r--graphics/svgbob/Makefile2
-rw-r--r--graphics/swappy/Makefile33
-rw-r--r--graphics/swappy/distinfo6
-rw-r--r--graphics/swappy/files/patch-meson.build11
-rw-r--r--graphics/swappy/pkg-plist10
-rw-r--r--graphics/synfig/Makefile2
-rw-r--r--graphics/synfigstudio/Makefile2
-rw-r--r--graphics/tiff/Makefile2
-rw-r--r--graphics/tiff/distinfo6
-rw-r--r--graphics/tiff/files/patch-git-01-0dbcfc5bd2eaacf8be4f57f8b7cc7369d88fafa852
-rw-r--r--graphics/tiff/pkg-plist6
-rw-r--r--graphics/tikzit/Makefile2
-rw-r--r--graphics/timg/Makefile2
-rw-r--r--graphics/timg/distinfo6
-rw-r--r--graphics/tumble/Makefile5
-rw-r--r--graphics/variety/Makefile1
-rw-r--r--graphics/vhs/Makefile2
-rw-r--r--graphics/vigra/Makefile8
-rw-r--r--graphics/vigra/distinfo6
-rw-r--r--graphics/vigra/files/patch-include_vigra_multi__iterator__coupled.hxx11
-rw-r--r--graphics/vigra/pkg-plist2
-rw-r--r--graphics/vips/Makefile13
-rw-r--r--graphics/vips/distinfo6
-rw-r--r--graphics/vips/pkg-plist17
-rw-r--r--graphics/viu/Makefile2
-rw-r--r--graphics/vulkan-extension-layer/Makefile11
-rw-r--r--graphics/vulkan-extension-layer/distinfo6
-rw-r--r--graphics/vulkan-headers/Makefile7
-rw-r--r--graphics/vulkan-headers/distinfo6
-rw-r--r--graphics/vulkan-headers/pkg-plist2
-rw-r--r--graphics/vulkan-loader/Makefile3
-rw-r--r--graphics/vulkan-loader/distinfo6
-rw-r--r--graphics/vulkan-tools/Makefile3
-rw-r--r--graphics/vulkan-tools/distinfo6
-rw-r--r--graphics/vulkan-utility-libraries/Makefile3
-rw-r--r--graphics/vulkan-utility-libraries/distinfo6
-rw-r--r--graphics/vulkan-validation-layers/Makefile11
-rw-r--r--graphics/vulkan-validation-layers/distinfo10
-rw-r--r--graphics/vv/Makefile40
-rw-r--r--graphics/vv/distinfo6
-rw-r--r--graphics/vv/files/patch-common_clitkCommon.txx25
-rw-r--r--graphics/vv/files/patch-common_clitkXdrImageIOWriter.cxx15
-rw-r--r--graphics/vv/files/patch-common_rtkEdfImageIO.h15
-rw-r--r--graphics/vv/files/patch-itk_RelativePositionPropImageFilter.txx30
-rw-r--r--graphics/vv/files/patch-vv_vv.cxx33
-rw-r--r--graphics/vv/files/patch-vv_vvBlendImageActor.cxx56
-rw-r--r--graphics/vv/files/patch-vv_vvSlicer.cxx25
-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/wallust/Makefile56
-rw-r--r--graphics/wallust/Makefile.crates301
-rw-r--r--graphics/wallust/distinfo605
-rw-r--r--graphics/wallust/pkg-descr3
-rw-r--r--graphics/wallust/pkg-plist9
-rw-r--r--graphics/wayland-protocols/Makefile2
-rw-r--r--graphics/wayland-protocols/distinfo6
-rw-r--r--graphics/wayland-protocols/pkg-plist5
-rw-r--r--graphics/wayland-utils/Makefile5
-rw-r--r--graphics/wayland-utils/distinfo6
-rw-r--r--graphics/wayland/Makefile4
-rw-r--r--graphics/wayland/distinfo6
-rw-r--r--graphics/wayland/pkg-plist8
-rw-r--r--graphics/wrapland/files/patch-CMakeLists.txt15
-rw-r--r--graphics/wxsvg/Makefile3
-rw-r--r--graphics/wxsvg/distinfo6
-rw-r--r--graphics/xd3d/Makefile6
-rw-r--r--graphics/ximaging/Makefile3
-rw-r--r--graphics/ximaging/distinfo6
-rw-r--r--graphics/xmountains/Makefile2
-rw-r--r--graphics/xmountains/distinfo6
-rw-r--r--graphics/xournal/Makefile2
-rw-r--r--graphics/xournalpp/Makefile5
-rw-r--r--graphics/xournalpp/distinfo6
-rw-r--r--graphics/xournalpp/pkg-plist50
-rw-r--r--graphics/xpdf4/Makefile3
-rw-r--r--graphics/xpdf4/distinfo6
-rw-r--r--graphics/xreader/Makefile113
-rw-r--r--graphics/xreader/distinfo3
-rw-r--r--graphics/xreader/pkg-descr3
-rw-r--r--graphics/xreader/pkg-plist311
-rw-r--r--graphics/xv/Makefile2
-rw-r--r--graphics/xv/distinfo6
-rw-r--r--graphics/xviewer/Makefile2
-rw-r--r--graphics/yacreader/Makefile7
-rw-r--r--graphics/yacreader/distinfo10
-rw-r--r--graphics/yafaray/Makefile4
-rw-r--r--graphics/zathura-cb/Makefile9
-rw-r--r--graphics/zathura-cb/distinfo6
-rw-r--r--graphics/zathura-cb/files/patch-meson.build21
-rw-r--r--graphics/zathura-djvu/Makefile11
-rw-r--r--graphics/zathura-djvu/distinfo6
-rw-r--r--graphics/zathura-djvu/pkg-descr3
-rw-r--r--graphics/zathura-pdf-mupdf/Makefile6
-rw-r--r--graphics/zathura-pdf-mupdf/distinfo6
-rw-r--r--graphics/zathura-pdf-mupdf/files/patch-meson.build33
-rw-r--r--graphics/zathura-pdf-mupdf/pkg-descr4
-rw-r--r--graphics/zathura-pdf-poppler/Makefile13
-rw-r--r--graphics/zathura-pdf-poppler/distinfo6
-rw-r--r--graphics/zathura-ps/Makefile8
-rw-r--r--graphics/zathura-ps/distinfo6
-rw-r--r--graphics/zathura/Makefile12
-rw-r--r--graphics/zathura/distinfo6
-rw-r--r--graphics/zathura/pkg-plist47
-rw-r--r--graphics/zeno/Makefile4
1000 files changed, 13118 insertions, 6764 deletions
diff --git a/graphics/Coin/Makefile b/graphics/Coin/Makefile
index 43cb74d110b7..020fda30ff67 100644
--- a/graphics/Coin/Makefile
+++ b/graphics/Coin/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Coin
-PORTVERSION= 4.0.4
+PORTVERSION= 4.0.6
DISTVERSIONPREFIX= v
CATEGORIES= graphics
@@ -12,7 +12,7 @@ LICENSE= BSD3CLAUSE
BUILD_DEPENDS= boost-libs>0:devel/boost-libs
LIB_DEPENDS= libsimage.so:graphics/simage
-USES= cmake gl openal:al libtool pathfix xorg
+USES= cmake gl openal:al pathfix xorg
USE_GITHUB= yes
GH_ACCOUNT= coin3d
diff --git a/graphics/Coin/distinfo b/graphics/Coin/distinfo
index b2c6eeb82786..13370066dfd5 100644
--- a/graphics/Coin/distinfo
+++ b/graphics/Coin/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750875175
-SHA256 (coin3d-coin-v4.0.4_GH0.tar.gz) = 4cf2c2ae0dec99d99842b35fb0186a3ca48ef33ee3b91efc0cd632b05fb5ad05
-SIZE (coin3d-coin-v4.0.4_GH0.tar.gz) = 6951664
+TIMESTAMP = 1760048860
+SHA256 (coin3d-coin-v4.0.6_GH0.tar.gz) = e15095d25b9d20454426fff1460162a331b504836e6d07d55ef35d9015b8d170
+SIZE (coin3d-coin-v4.0.6_GH0.tar.gz) = 6954700
diff --git a/graphics/Coin/pkg-plist b/graphics/Coin/pkg-plist
index c61489e8f193..8e8173f802c7 100644
--- a/graphics/Coin/pkg-plist
+++ b/graphics/Coin/pkg-plist
@@ -881,7 +881,7 @@ lib/cmake/Coin-%%VERSION%%/coin-export-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Coin-%%VERSION%%/coin-export.cmake
lib/libCoin.so
lib/libCoin.so.80
-lib/libCoin.so.80.0.4
+lib/libCoin.so.80.0.6
libdata/pkgconfig/Coin.pc
%%DATADIR%%/conf/coin-default.cfg
%%DATADIR%%/draggerDefaults/centerballDragger.iv
diff --git a/graphics/ImageMagick6/Makefile b/graphics/ImageMagick6/Makefile
index df0e194cfc1d..7630e348923d 100644
--- a/graphics/ImageMagick6/Makefile
+++ b/graphics/ImageMagick6/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ImageMagick
DISTVERSION= 6.9.13-23
-PORTREVISION= 2
+PORTREVISION= 6
PORTEPOCH= 1
CATEGORIES= graphics perl5
MASTER_SITES= https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/releases/ \
@@ -341,6 +341,9 @@ post-install:
${STAGEDIR}${PREFIX}/etc/ImageMagick-6/${i}.sample
.endfor
+post-install-PERL-on:
+ ${STRIP_CMD} ${STAGEDIR}${SITE_ARCH}/auto/Image/Magick/*/*.so
+
do-test:
-cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} limits -m 20m ${MAKE} ${_MAKE_JOBS} check
diff --git a/graphics/ImageMagick7/Makefile b/graphics/ImageMagick7/Makefile
index 613932d6c4d2..63c5b099dd21 100644
--- a/graphics/ImageMagick7/Makefile
+++ b/graphics/ImageMagick7/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ImageMagick
DISTVERSION= 7.1.1-45
-PORTREVISION= 1
+PORTREVISION= 5
CATEGORIES= graphics perl5
MASTER_SITES= https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/releases/ \
https://mirror.dogado.de/imagemagick/releases/ \
@@ -339,4 +339,7 @@ post-install:
${STAGEDIR}${PREFIX}/etc/ImageMagick-7/${i}.sample
.endfor
+post-install-PERL-on:
+ ${STRIP_CMD} ${STAGEDIR}${SITE_ARCH}/auto/Image/Magick/*/*.so
+
.include <bsd.port.mk>
diff --git a/graphics/Makefile b/graphics/Makefile
index 71716649bbcd..c2c71b2ddbdc 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -17,6 +17,7 @@
SUBDIR += R-cran-dichromat
SUBDIR += R-cran-dygraphs
SUBDIR += R-cran-farver
+ SUBDIR += R-cran-ggforce
SUBDIR += R-cran-ggplot2
SUBDIR += R-cran-ggrepel
SUBDIR += R-cran-gridBase
@@ -32,9 +33,11 @@
SUBDIR += R-cran-qcc
SUBDIR += R-cran-qpdf
SUBDIR += R-cran-ragg
+ SUBDIR += R-cran-rgl
SUBDIR += R-cran-s2
SUBDIR += R-cran-scales
SUBDIR += R-cran-shape
+ SUBDIR += R-cran-tweenr
SUBDIR += R-cran-viridis
SUBDIR += R-cran-viridisLite
SUBDIR += R-cran-visNetwork
@@ -118,7 +121,6 @@
SUBDIR += compupic
SUBDIR += converseen
SUBDIR += corrupter
- SUBDIR += cosmoplayer
SUBDIR += cptutils
SUBDIR += crw
SUBDIR += ctl
@@ -156,6 +158,7 @@
SUBDIR += drm-61-kmod
SUBDIR += drm-66-kmod
SUBDIR += drm-kmod
+ SUBDIR += drm-latest-kmod
SUBDIR += drm_info
SUBDIR += dspdfviewer
SUBDIR += dssim
@@ -246,6 +249,7 @@
SUBDIR += geos
SUBDIR += geoserver
SUBDIR += gexiv2
+ SUBDIR += gexiv2_016
SUBDIR += giflib
SUBDIR += gifmerge
SUBDIR += gifsicle
@@ -347,7 +351,9 @@
SUBDIR += hppsmtools
SUBDIR += hs-tart
SUBDIR += hugin
+ SUBDIR += hvif-tools
SUBDIR += hyprgraphics
+ SUBDIR += hyprland-protocols
SUBDIR += icat
SUBDIR += icc-profiles-adobe-cs4
SUBDIR += icc-profiles-basiccolor
@@ -383,6 +389,7 @@
SUBDIR += jdraw
SUBDIR += jgraph
SUBDIR += jhead
+ SUBDIR += jkqtplotter
SUBDIR += jogamp-jogl
SUBDIR += jogl
SUBDIR += jp
@@ -513,6 +520,7 @@
SUBDIR += libqrencode
SUBDIR += librasterlite2
SUBDIR += libraw
+ SUBDIR += libresprite
SUBDIR += librsvg2
SUBDIR += librsvg2-rust
SUBDIR += librtprocess
@@ -582,6 +590,7 @@
SUBDIR += mapnik
SUBDIR += mapserver
SUBDIR += mapyrus
+ SUBDIR += materialx
SUBDIR += matplotlib-cpp
SUBDIR += matplotplusplus
SUBDIR += meh
@@ -630,6 +639,8 @@
SUBDIR += nvidia-drm-66-kmod-devel
SUBDIR += nvidia-drm-kmod
SUBDIR += nvidia-drm-kmod-devel
+ SUBDIR += nvidia-drm-latest-kmod
+ SUBDIR += nvidia-drm-latest-kmod-devel
SUBDIR += nvidia-texture-tools
SUBDIR += ocaml-cairo
SUBDIR += ocaml-images
@@ -674,7 +685,6 @@
SUBDIR += optar
SUBDIR += optipng
SUBDIR += osg
- SUBDIR += osg34
SUBDIR += osgearth
SUBDIR += ospray
SUBDIR += ospray-studio
@@ -890,6 +900,7 @@
SUBDIR += py-PyOpenGL
SUBDIR += py-PyOpenGL-accelerate
SUBDIR += py-actdiag
+ SUBDIR += py-agx-emulsion
SUBDIR += py-albucore
SUBDIR += py-albumentations
SUBDIR += py-altair
@@ -912,8 +923,10 @@
SUBDIR += py-contextily
SUBDIR += py-descartes
SUBDIR += py-diplib
+ SUBDIR += py-dj52-sorl-thumbnail
SUBDIR += py-django-easy-thumbnails
SUBDIR += py-djvulibre
+ SUBDIR += py-easyocr
SUBDIR += py-exifread
SUBDIR += py-f3d
SUBDIR += py-face_recognition
@@ -968,6 +981,7 @@
SUBDIR += py-optimize-images
SUBDIR += py-osmnet
SUBDIR += py-pandana
+ SUBDIR += py-pandarm
SUBDIR += py-pdf2image
SUBDIR += py-photocollage
SUBDIR += py-piexif
@@ -997,6 +1011,7 @@
SUBDIR += py-pymaging
SUBDIR += py-pymaging-png
SUBDIR += py-pyocr
+ SUBDIR += py-pyogrio
SUBDIR += py-pypillowfight
SUBDIR += py-pyproj
SUBDIR += py-pyqrcode
@@ -1020,6 +1035,7 @@
SUBDIR += py-rawkit
SUBDIR += py-rawpy
SUBDIR += py-rich-pixels
+ SUBDIR += py-rlpycairo
SUBDIR += py-s2
SUBDIR += py-scikit-image
SUBDIR += py-seqdiag
@@ -1117,6 +1133,7 @@
SUBDIR += rubygem-gemojione32
SUBDIR += rubygem-geokit
SUBDIR += rubygem-gitlab_emoji
+ SUBDIR += rubygem-graphene1
SUBDIR += rubygem-gruff
SUBDIR += rubygem-histogram
SUBDIR += rubygem-image_processing
@@ -1179,6 +1196,7 @@
SUBDIR += simpleviewer
SUBDIR += skanlite
SUBDIR += skanpage
+ SUBDIR += skia
SUBDIR += spirv-cross
SUBDIR += spirv-tools
SUBDIR += springgraph
@@ -1247,6 +1265,7 @@
SUBDIR += waifu2x-converter-cpp
SUBDIR += waifu2x-ncnn-vulkan
SUBDIR += wallhaven-cli
+ SUBDIR += wallust
SUBDIR += wayland
SUBDIR += wayland-protocols
SUBDIR += wayland-utils
@@ -1281,6 +1300,7 @@
SUBDIR += xpdf3
SUBDIR += xpdf4
SUBDIR += xpx
+ SUBDIR += xreader
SUBDIR += xsane
SUBDIR += xtexcad
SUBDIR += xv
diff --git a/graphics/R-cran-colorspace/Makefile b/graphics/R-cran-colorspace/Makefile
index 0290d0385dd0..6f6e8ecccafc 100644
--- a/graphics/R-cran-colorspace/Makefile
+++ b/graphics/R-cran-colorspace/Makefile
@@ -1,14 +1,29 @@
PORTNAME= colorspace
-DISTVERSION= 2.1-1
+DISTVERSION= 2.1-2
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${DISTVERSION}
MAINTAINER= uzsolt@FreeBSD.org
COMMENT= Color Space Manipulation
-WWW= https://cran.r-project.org/web/packages/colorspace/
+WWW= https://cran.r-project.org/package=colorspace
LICENSE= BSD3CLAUSE
+TEST_DEPENDS= R-cran-dplyr>0:math/R-cran-dplyr \
+ R-cran-ggplot2>0:graphics/R-cran-ggplot2 \
+ R-cran-jpeg>0:graphics/R-cran-jpeg \
+ R-cran-kernlab>0:science/R-cran-kernlab \
+ R-cran-knitr>0:print/R-cran-knitr \
+ R-cran-mvtnorm>0:math/R-cran-mvtnorm \
+ R-cran-png>0:graphics/R-cran-png \
+ R-cran-RColorBrewer>0:graphics/R-cran-RColorBrewer \
+ R-cran-rmarkdown>0:textproc/R-cran-rmarkdown \
+ R-cran-scales>0:graphics/R-cran-scales \
+ R-cran-shiny>0:www/R-cran-shiny \
+ R-cran-shinyjs>0:www/R-cran-shinyjs \
+ R-cran-vcd>0:devel/R-cran-vcd \
+ R-cran-viridis>0:graphics/R-cran-viridis
+
USES= cran:auto-plist,compiles
.include <bsd.port.mk>
diff --git a/graphics/R-cran-colorspace/distinfo b/graphics/R-cran-colorspace/distinfo
index 99c2484e2829..4908c5ffeb87 100644
--- a/graphics/R-cran-colorspace/distinfo
+++ b/graphics/R-cran-colorspace/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1722776101
-SHA256 (colorspace_2.1-1.tar.gz) = e721cee5f4d6e4b0fc8eb18265e316b4f856fd3be02f0775a26032663758cd0b
-SIZE (colorspace_2.1-1.tar.gz) = 2141289
+TIMESTAMP = 1758875030
+SHA256 (colorspace_2.1-2.tar.gz) = ec71499d33ef5d72b7fb3359b8320639e06e413abad61a070201178a254b153e
+SIZE (colorspace_2.1-2.tar.gz) = 2149260
diff --git a/graphics/R-cran-ggforce/Makefile b/graphics/R-cran-ggforce/Makefile
new file mode 100644
index 000000000000..b6a7ce8fbd1f
--- /dev/null
+++ b/graphics/R-cran-ggforce/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= ggforce
+DISTVERSION= 0.5.0
+CATEGORIES= graphics
+DISTNAME= ${PORTNAME}_${DISTVERSION}
+
+MAINTAINER= uzsolt@FreeBSD.org
+COMMENT= Accelerating ggplot2
+WWW= https://cran.r-project.org/package=${PORTNAME}
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+CRAN_DEPENDS= R-cran-cli>0:devel/R-cran-cli \
+ R-cran-ggplot2>=3.5.0:graphics/R-cran-ggplot2 \
+ R-cran-gtable>0:math/R-cran-gtable \
+ R-cran-lifecycle>0:devel/R-cran-lifecycle \
+ R-cran-polyclip>0:math/R-cran-polyclip \
+ R-cran-rlang>0:devel/R-cran-rlang \
+ R-cran-scales>0:graphics/R-cran-scales \
+ R-cran-systemfonts>0:devel/R-cran-systemfonts \
+ R-cran-tidyselect>0:devel/R-cran-tidyselect \
+ R-cran-tweenr>=0.1.5:graphics/R-cran-tweenr \
+ R-cran-vctrs>0:devel/R-cran-vctrs \
+ R-cran-withr>0:devel/R-cran-withr
+BUILD_DEPENDS= ${CRAN_DEPENDS}
+RUN_DEPENDS= ${CRAN_DEPENDS}
+TEST_DEPENDS= R-cran-covr>0:devel/R-cran-covr \
+ R-cran-deldir>0:math/R-cran-deldir \
+ R-cran-reshape2>0:devel/R-cran-reshape2 \
+ R-cran-sessioninfo>0:devel/R-cran-sessioninfo \
+ R-cran-units>=0.8.0:math/R-cran-units
+
+USES= compiler:c++17-lang cran:auto-plist,compiles
+USE_GCC= yes
+
+.include <bsd.port.mk>
diff --git a/graphics/R-cran-ggforce/distinfo b/graphics/R-cran-ggforce/distinfo
new file mode 100644
index 000000000000..1a2b33eabe81
--- /dev/null
+++ b/graphics/R-cran-ggforce/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760349622
+SHA256 (ggforce_0.5.0.tar.gz) = 41b3ea33dc4da774a0047a446676e7c4d6c41592ad9cdb21db8d4efebcfb5d53
+SIZE (ggforce_0.5.0.tar.gz) = 906529
diff --git a/graphics/R-cran-ggforce/files/patch-src_robust__predicate_expansion_mp__basic.hpp b/graphics/R-cran-ggforce/files/patch-src_robust__predicate_expansion_mp__basic.hpp
new file mode 100644
index 000000000000..7e9e0ec67447
--- /dev/null
+++ b/graphics/R-cran-ggforce/files/patch-src_robust__predicate_expansion_mp__basic.hpp
@@ -0,0 +1,14 @@
+--- src/robust_predicate/expansion/mp_basic.hpp.orig 2025-10-13 12:47:59 UTC
++++ src/robust_predicate/expansion/mp_basic.hpp
+@@ -69,6 +69,11 @@
+ --------------------------------------------------------
+ */
+
++#ifndef SINGLE_DEFINED
++using single = float;
++#define SINGLE_DEFINED
++#endif
++
+ # pragma once
+
+ # ifndef __MP_BASIC__
diff --git a/graphics/R-cran-ggforce/pkg-descr b/graphics/R-cran-ggforce/pkg-descr
new file mode 100644
index 000000000000..90a648aec6df
--- /dev/null
+++ b/graphics/R-cran-ggforce/pkg-descr
@@ -0,0 +1,5 @@
+The aim of 'ggplot2' is to aid in visual data investigations. This focus has led
+to a lack of facilities for composing specialised plots. 'ggforce' aims to be a
+collection of mainly new stats and geoms that fills this gap. All additional
+functionality is aimed to come through the official extension system so using
+'ggforce' should be a stable experience.
diff --git a/graphics/R-cran-ggplot2/Makefile b/graphics/R-cran-ggplot2/Makefile
index 85c7d721c098..380b48efea0d 100644
--- a/graphics/R-cran-ggplot2/Makefile
+++ b/graphics/R-cran-ggplot2/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ggplot2
-PORTVERSION= 3.5.2
+PORTVERSION= 4.0.0
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${PORTVERSION}
@@ -18,7 +18,8 @@ CRAN_DEPENDS= R-cran-cli>0:devel/R-cran-cli \
R-cran-scales>=1.2.0:graphics/R-cran-scales \
R-cran-tibble>0:devel/R-cran-tibble \
R-cran-vctrs>=0.5.0:devel/R-cran-vctrs \
- R-cran-withr>=2.5.0:devel/R-cran-withr
+ R-cran-withr>=2.5.0:devel/R-cran-withr \
+ R-cran-S7>=0:devel/R-cran-S7
BUILD_DEPENDS= ${CRAN_DEPENDS}
RUN_DEPENDS= ${CRAN_DEPENDS}
diff --git a/graphics/R-cran-ggplot2/distinfo b/graphics/R-cran-ggplot2/distinfo
index b0333c5d78e0..eac1132a888e 100644
--- a/graphics/R-cran-ggplot2/distinfo
+++ b/graphics/R-cran-ggplot2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744687857
-SHA256 (ggplot2_3.5.2.tar.gz) = 0a30024a2ff3e569412223c8f14563ed504f3e0851de03e42d1b5f73fe1f06bf
-SIZE (ggplot2_3.5.2.tar.gz) = 3580451
+TIMESTAMP = 1758162998
+SHA256 (ggplot2_4.0.0.tar.gz) = 0f9fe288b5d9c2e23253427af9a707a3b2334a7706ad13752eccedf623871a7d
+SIZE (ggplot2_4.0.0.tar.gz) = 3810397
diff --git a/graphics/R-cran-magick/Makefile b/graphics/R-cran-magick/Makefile
index f212ad069b98..240b5d124079 100644
--- a/graphics/R-cran-magick/Makefile
+++ b/graphics/R-cran-magick/Makefile
@@ -1,5 +1,5 @@
PORTNAME= magick
-DISTVERSION= 2.8.7
+DISTVERSION= 2.9.0
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${DISTVERSION}
diff --git a/graphics/R-cran-magick/distinfo b/graphics/R-cran-magick/distinfo
index dd867f6b291f..9cda7351d602 100644
--- a/graphics/R-cran-magick/distinfo
+++ b/graphics/R-cran-magick/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749271035
-SHA256 (magick_2.8.7.tar.gz) = 355a857e79fe8e6d87ee99f3f731e2823b7c241a316c7063a033de6861b9f206
-SIZE (magick_2.8.7.tar.gz) = 4601217
+TIMESTAMP = 1757420795
+SHA256 (magick_2.9.0.tar.gz) = 477d717075651d2d508a66c313fd82b5e530b5ba7603b4a6cafa8c8e8cb6dfba
+SIZE (magick_2.9.0.tar.gz) = 4602007
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-pdftools/Makefile b/graphics/R-cran-pdftools/Makefile
index 53b2cfd4a222..3619fa816243 100644
--- a/graphics/R-cran-pdftools/Makefile
+++ b/graphics/R-cran-pdftools/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pdftools
-DISTVERSION= 3.5.0
-PORTREVISION= 2
+DISTVERSION= 3.6.0
+PORTREVISION= 1
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${DISTVERSION}
@@ -16,8 +16,7 @@ CRAN_DEPENDS= R-cran-qpdf>0:graphics/R-cran-qpdf \
BUILD_DEPENDS= ${CRAN_DEPENDS}
LIB_DEPENDS= libpoppler-cpp.so:graphics/poppler
RUN_DEPENDS= ${CRAN_DEPENDS}
-TEST_DEPENDS= R-cran-jpeg>0:graphics/R-cran-jpeg \
- R-cran-png>0:graphics/R-cran-png \
+TEST_DEPENDS= R-cran-png>0:graphics/R-cran-png \
R-cran-testthat>0:devel/R-cran-testthat \
R-cran-webp>0:graphics/R-cran-webp
diff --git a/graphics/R-cran-pdftools/distinfo b/graphics/R-cran-pdftools/distinfo
index e08965e8a012..3ce677b7ccc5 100644
--- a/graphics/R-cran-pdftools/distinfo
+++ b/graphics/R-cran-pdftools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741062278
-SHA256 (pdftools_3.5.0.tar.gz) = 6cbf047ef417503e6683de87cca14401f159922456dba9c8fdf56f6802a0630e
-SIZE (pdftools_3.5.0.tar.gz) = 935259
+TIMESTAMP = 1757842674
+SHA256 (pdftools_3.6.0.tar.gz) = 4529a7669baaadbfbbb328c8c75d34c86f51cab5071945ff9cedd8f633f421c4
+SIZE (pdftools_3.6.0.tar.gz) = 935419
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-ragg/Makefile b/graphics/R-cran-ragg/Makefile
index 17416d057480..2034844f07b5 100644
--- a/graphics/R-cran-ragg/Makefile
+++ b/graphics/R-cran-ragg/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ragg
-DISTVERSION= 1.4.0
+DISTVERSION= 1.5.0
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${DISTVERSION}
@@ -7,7 +7,10 @@ MAINTAINER= einar@isnic.is
COMMENT= Graphic Devices Based on AGG
WWW= https://ragg.r-lib.org/
-LICENSE= MIT
+LICENSE= BSD2CLAUSE MIT
+LICENSE_COMB= multi
+LICENSE_FILE_BSD2CLAUSE= ${WRKSRC}/LICENSE.note
+LICENSE_FILE_MIT= ${WRKSRC}/LICENSE
CRAN_DEPENDS= R-cran-systemfonts>=1.0.3:devel/R-cran-systemfonts \
R-cran-textshaping>=0.3.0:print/R-cran-textshaping
@@ -15,9 +18,12 @@ BUILD_DEPENDS= ${CRAN_DEPENDS}
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libjpeg.so:graphics/jpeg-turbo \
libpng16.so:graphics/png \
- libtiff.so:graphics/tiff
+ libtiff.so:graphics/tiff \
+ libwebp.so:graphics/webp \
+ libwebpmux.so:graphics/webp
RUN_DEPENDS= ${CRAN_DEPENDS}
-TEST_DEPENDS= R-cran-testthat>3.0.0:devel/R-cran-testthat
+TEST_DEPENDS= R-cran-covr>0:devel/R-cran-covr \
+ R-cran-testthat>3.0.0:devel/R-cran-testthat
USES= cran:auto-plist,compiles pkgconfig
diff --git a/graphics/R-cran-ragg/distinfo b/graphics/R-cran-ragg/distinfo
index f4e83f51302d..916e97f1b9b1 100644
--- a/graphics/R-cran-ragg/distinfo
+++ b/graphics/R-cran-ragg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744276863
-SHA256 (ragg_1.4.0.tar.gz) = 8cccdc2c0ec3cc11b532a52b35161537ecfe2257b39f22e3bb281e7fe31e0977
-SIZE (ragg_1.4.0.tar.gz) = 430819
+TIMESTAMP = 1756803135
+SHA256 (ragg_1.5.0.tar.gz) = b8f21c722a05b622a431c53fce748cc8cad52f4791e843e6340dd198477ddabd
+SIZE (ragg_1.5.0.tar.gz) = 436949
diff --git a/graphics/R-cran-rgl/Makefile b/graphics/R-cran-rgl/Makefile
new file mode 100644
index 000000000000..0266dc049f56
--- /dev/null
+++ b/graphics/R-cran-rgl/Makefile
@@ -0,0 +1,44 @@
+PORTNAME= rgl
+DISTVERSION= 1.3.31
+CATEGORIES= graphics
+DISTNAME= ${PORTNAME}_${DISTVERSION}
+
+MAINTAINER= uzsolt@FreeBSD.org
+COMMENT= 3D Visualization Using OpenGL
+WWW= https://cran.r-project.org/package=${PORTNAME}
+
+LICENSE= GPLv3
+
+CRAN_DEPENDS= R-cran-base64enc>0:converters/R-cran-base64enc \
+ R-cran-htmltools>0:textproc/R-cran-htmltools \
+ R-cran-htmlwidgets>=1.6.0:www/R-cran-htmlwidgets \
+ R-cran-jsonlite>=0.9.20:converters/R-cran-jsonlite \
+ R-cran-knitr>=1.33:print/R-cran-knitr \
+ R-cran-magrittr>0:devel/R-cran-magrittr \
+ R-cran-mime>0:misc/R-cran-mime \
+ R-cran-R6>0:devel/R-cran-R6
+BUILD_DEPENDS= ${CRAN_DEPENDS}
+LIB_DEPENDS= libfreetype.so:print/freetype2 \
+ libpng.so:graphics/png
+RUN_DEPENDS= ${CRAN_DEPENDS}
+TEST_DEPENDS= R-cran-crosstalk>0:www/R-cran-crosstalk \
+ R-cran-deldir>=1.0.4:math/R-cran-deldir \
+ R-cran-downlit>=0.4.0:textproc/R-cran-downlit \
+ R-cran-interp>0:devel/R-cran-interp \
+ R-cran-jpeg>0:graphics/R-cran-jpeg \
+ R-cran-magick>0:graphics/R-cran-magick \
+ R-cran-markdown>0:textproc/R-cran-markdown \
+ R-cran-misc3d>0:math/R-cran-misc3d \
+ R-cran-pkgdown>=2.0.0:www/R-cran-pkgdown \
+ R-cran-png>0:graphics/R-cran-png \
+ R-cran-rmarkdown>=2.16:textproc/R-cran-rmarkdown \
+ R-cran-shiny>0:www/R-cran-shiny \
+ R-cran-testthat>0:devel/R-cran-testthat
+
+USES= compiler:c++17-lang cran:auto-plist,compiles gl xorg
+USE_GL= gl glu
+USE_XORG= x11
+
+TESTING_UNSAFE= Requires a WebGL-capable browser
+
+.include <bsd.port.mk>
diff --git a/graphics/R-cran-rgl/distinfo b/graphics/R-cran-rgl/distinfo
new file mode 100644
index 000000000000..d126cd08e547
--- /dev/null
+++ b/graphics/R-cran-rgl/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1763531289
+SHA256 (rgl_1.3.31.tar.gz) = 76f534358751390845ce1c89c6007cc146f95de5560fd7baaea2406fd95fc0d4
+SIZE (rgl_1.3.31.tar.gz) = 4151619
diff --git a/graphics/R-cran-rgl/pkg-descr b/graphics/R-cran-rgl/pkg-descr
new file mode 100644
index 000000000000..48bda7c2539e
--- /dev/null
+++ b/graphics/R-cran-rgl/pkg-descr
@@ -0,0 +1,6 @@
+Provides medium to high level functions for 3D interactive graphics, including
+functions modelled on base graphics (plot3d(), etc.) as well as functions for
+constructing representations of geometric objects (cube3d(), etc.). Output may
+be on screen using OpenGL, or to various standard 3D file formats including
+WebGL, PLY, OBJ, STL as well as 2D image formats, including PNG, Postscript,
+SVG, PGF.
diff --git a/graphics/R-cran-tweenr/Makefile b/graphics/R-cran-tweenr/Makefile
new file mode 100644
index 000000000000..a23a73c7dac8
--- /dev/null
+++ b/graphics/R-cran-tweenr/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= tweenr
+DISTVERSION= 2.0.3
+CATEGORIES= graphics
+DISTNAME= ${PORTNAME}_${DISTVERSION}
+
+MAINTAINER= uzsolt@FreeBSD.org
+COMMENT= Interpolate Data for Smooth Animations
+WWW= https://cran.r-project.org/package=tweenr
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+CRAN_DEPENDS= R-cran-cpp11>=0.4.2:devel/R-cran-cpp11 \
+ R-cran-farver>0:graphics/R-cran-farver \
+ R-cran-magrittr>0:devel/R-cran-magrittr \
+ R-cran-rlang>0:devel/R-cran-rlang \
+ R-cran-vctrs>0:devel/R-cran-vctrs
+BUILD_DEPENDS= ${CRAN_DEPENDS}
+RUN_DEPENDS= ${CRAN_DEPENDS}
+TEST_DEPENDS= R-cran-covr>0:devel/R-cran-covr \
+ R-cran-testthat>0:devel/R-cran-testthat
+
+USES= cran:auto-plist,compiles
+
+.include <bsd.port.mk>
diff --git a/graphics/R-cran-tweenr/distinfo b/graphics/R-cran-tweenr/distinfo
new file mode 100644
index 000000000000..dc54f70fe3c4
--- /dev/null
+++ b/graphics/R-cran-tweenr/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760291527
+SHA256 (tweenr_2.0.3.tar.gz) = efabe512a45d653787ba40f87f3e23add4037f88573a102fa9ac7a5ff43c8cbe
+SIZE (tweenr_2.0.3.tar.gz) = 584998
diff --git a/graphics/R-cran-tweenr/pkg-descr b/graphics/R-cran-tweenr/pkg-descr
new file mode 100644
index 000000000000..62cb56216931
--- /dev/null
+++ b/graphics/R-cran-tweenr/pkg-descr
@@ -0,0 +1,5 @@
+In order to create smooth animation between states of data, tweening is
+necessary. This package provides a range of functions for creating tweened data
+that can be used as basis for animation. Furthermore it adds a number of
+vectorized interpolaters for common R data types such as numeric, date and
+colour.
diff --git a/graphics/R-cran-visNetwork/Makefile b/graphics/R-cran-visNetwork/Makefile
index c4a7bcdea619..16ff5afa2bbb 100644
--- a/graphics/R-cran-visNetwork/Makefile
+++ b/graphics/R-cran-visNetwork/Makefile
@@ -1,5 +1,5 @@
PORTNAME= visNetwork
-PORTVERSION= 2.1.2
+PORTVERSION= 2.1.4
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${PORTVERSION}
@@ -9,12 +9,10 @@ WWW= https://cran.r-project.org/web/packages/visNetwork/
LICENSE= MIT
-CRAN_DEPENDS= R-cran-htmltools>0:textproc/R-cran-htmltools \
+RUN_DEPENDS= R-cran-htmltools>0:textproc/R-cran-htmltools \
R-cran-htmlwidgets>0:www/R-cran-htmlwidgets \
R-cran-jsonlite>0:converters/R-cran-jsonlite \
R-cran-magrittr>0:devel/R-cran-magrittr
-BUILD_DEPENDS= ${CRAN_DEPENDS}
-RUN_DEPENDS= ${CRAN_DEPENDS}
USES= cran:auto-plist
diff --git a/graphics/R-cran-visNetwork/distinfo b/graphics/R-cran-visNetwork/distinfo
index df238bc5999a..94aff6671da4 100644
--- a/graphics/R-cran-visNetwork/distinfo
+++ b/graphics/R-cran-visNetwork/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1682468957
-SHA256 (visNetwork_2.1.2.tar.gz) = 47c99d42fc89e6ae929257b2648d998c5ffed60dff97ad7e47613f5a0c1ddc84
-SIZE (visNetwork_2.1.2.tar.gz) = 4273723
+TIMESTAMP = 1757207815
+SHA256 (visNetwork_2.1.4.tar.gz) = 483794988dd808424f5457e510e3de212519b690da281f70b14aaf63038963da
+SIZE (visNetwork_2.1.4.tar.gz) = 4269530
diff --git a/graphics/aeskulap/Makefile b/graphics/aeskulap/Makefile
index 7b6f14a20309..502dda98028f 100644
--- a/graphics/aeskulap/Makefile
+++ b/graphics/aeskulap/Makefile
@@ -1,13 +1,13 @@
PORTNAME= aeskulap
PORTVERSION= 0.2.2.20190120
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
MAINTAINER= danfe@FreeBSD.org
-COMMENT= Medical image viewer
+COMMENT= Medical image viewer and DICOM network client
WWW= https://aeskulap.nongnu.org/
-LICENSE= GPLv2
+LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libdcmimage.so:graphics/dcmtk \
@@ -19,15 +19,21 @@ LIB_DEPENDS= libdcmimage.so:graphics/dcmtk \
USES= compiler:c++11-lang autoreconf desktop-file-utils gettext \
gmake gnome jpeg libtool localbase pkgconfig
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-static --with-gsettings
+GLIB_SCHEMAS= org.gnu.aeskulap.gschema.xml
+INSTALL_TARGET= install-strip
USE_GITHUB= yes
GH_ACCOUNT= mikhailnov
GH_TAGNAME= e43334e
USE_CXXSTD= c++11
-USE_GNOME= gconfmm26 gtkmm24 intltool libglade2
+USE_GNOME= gtkmm24 intltool libglade2
USE_LDCONFIG= ${PREFIX}/lib/aeskulap
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --disable-static
-INSTALL_TARGET= install-strip
+post-patch:
+ @${REINPLACE_CMD} -e '/^AM_GCONF_SOURCE_2/,+1d' \
+ ${WRKSRC}/configure.ac
+ @${REINPLACE_CMD} -e '/^if GCONF_SCHEMAS_INSTALL/,+3d' \
+ ${WRKSRC}/src/Makefile.am
.include <bsd.port.mk>
diff --git a/graphics/aeskulap/pkg-plist b/graphics/aeskulap/pkg-plist
index 2be82d9dcde0..823f35166a3d 100644
--- a/graphics/aeskulap/pkg-plist
+++ b/graphics/aeskulap/pkg-plist
@@ -26,7 +26,6 @@ lib/aeskulap/libimagepool.so
%%DATADIR%%/images/stock-tool-scale-22.png
share/appdata/aeskulap.appdata.xml
share/applications/aeskulap.desktop
-share/glib-2.0/schemas/org.gnu.aeskulap.gschema.xml
share/icons/hicolor/64x64/apps/aeskulap.png
share/icons/hicolor/scalable/apps/aeskulap.svg
share/locale/de/LC_MESSAGES/aeskulap.mo
diff --git a/graphics/agg/Makefile b/graphics/agg/Makefile
index b418fd8f6e07..c9c4021eece1 100644
--- a/graphics/agg/Makefile
+++ b/graphics/agg/Makefile
@@ -3,7 +3,7 @@ DISTVERSION= 2.7.0
PORTREVISION= 0
CATEGORIES= graphics
-MAINTAINER= dinoex@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= High Quality Rendering Engine for C++
WWW= https://github.com/clausecker/agg
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..aeba7e38c749 100644
--- a/graphics/ampasCTL/Makefile
+++ b/graphics/ampasCTL/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ampasCTL
PORTVERSION= 1.5.2
-PORTREVISION= 22
+PORTREVISION= 24
CATEGORIES= graphics devel
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/appleseed/Makefile b/graphics/appleseed/Makefile
index 9c55cf754ec9..a9b98309da64 100644
--- a/graphics/appleseed/Makefile
+++ b/graphics/appleseed/Makefile
@@ -1,6 +1,6 @@
PORTNAME= appleseed
DISTVERSION= 2.1.0-beta
-PORTREVISION= 19
+PORTREVISION= 22
CATEGORIES= graphics
PATCH_SITES= http://vault.101011010.xyz/distfiles/ LOCAL/danfe
diff --git a/graphics/art/Makefile b/graphics/art/Makefile
index ec539439e9a8..7b08111f3122 100644
--- a/graphics/art/Makefile
+++ b/graphics/art/Makefile
@@ -1,5 +1,5 @@
PORTNAME= art
-DISTVERSION= 1.25.6
+DISTVERSION= 1.25.11
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 091bb873a928..c375f8d233c0 100644
--- a/graphics/art/distinfo
+++ b/graphics/art/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752186852
-SHA256 (ART-1.25.6.tar.xz) = b3f6859d0944d3c038ced54367a787af0b6051df0f28e9bfa1ecebb9c5183a2d
-SIZE (ART-1.25.6.tar.xz) = 19616232
+TIMESTAMP = 1763956271
+SHA256 (ART-1.25.11.tar.xz) = c492487fef6e29ffa3ba29c4b4c543080212e54209e87bbc6a3e8e050f51fa86
+SIZE (ART-1.25.11.tar.xz) = 19628056
diff --git a/graphics/art/pkg-plist b/graphics/art/pkg-plist
index d5f81ee87242..40621017eb46 100644
--- a/graphics/art/pkg-plist
+++ b/graphics/art/pkg-plist
@@ -388,6 +388,7 @@ share/ART/images/gears-small.svg
share/ART/images/gears.svg
share/ART/images/goto-end-small.svg
share/ART/images/goto-start-small.svg
+share/ART/images/grid.svg
share/ART/images/hand-closed-hicontrast.svg
share/ART/images/hand-open-hicontrast.svg
share/ART/images/hand-open.svg
diff --git a/graphics/artem/Makefile b/graphics/artem/Makefile
index 08e13aef8946..3b01eaa4b5ee 100644
--- a/graphics/artem/Makefile
+++ b/graphics/artem/Makefile
@@ -1,7 +1,7 @@
PORTNAME= artem
DISTVERSIONPREFIX= v
DISTVERSION= 3.0.0
-PORTREVISION= 4
+PORTREVISION= 7
CATEGORIES= graphics
MAINTAINER= adamw@FreeBSD.org
diff --git a/graphics/asciinema-agg/Makefile b/graphics/asciinema-agg/Makefile
index b2f1508a487b..a58459028904 100644
--- a/graphics/asciinema-agg/Makefile
+++ b/graphics/asciinema-agg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= agg
DISTVERSIONPREFIX= v
-DISTVERSION= 1.5.0
+DISTVERSION= 1.6.0
PORTREVISION= 1
CATEGORIES= graphics
PKGNAMEPREFIX= asciinema-
diff --git a/graphics/asciinema-agg/Makefile.crates b/graphics/asciinema-agg/Makefile.crates
index 20d98841c95a..e3abd36e4807 100644
--- a/graphics/asciinema-agg/Makefile.crates
+++ b/graphics/asciinema-agg/Makefile.crates
@@ -1,275 +1,275 @@
-CARGO_CRATES= addr2line-0.24.2 \
- adler-1.0.2 \
- adler2-2.0.0 \
- ahash-0.7.6 \
- ahash-0.8.3 \
- aho-corasick-0.7.20 \
- anstream-0.2.6 \
- anstyle-0.3.5 \
- anstyle-parse-0.1.1 \
- anstyle-wincon-0.2.0 \
- anyhow-1.0.70 \
- arrayref-0.3.7 \
- arrayvec-0.7.6 \
- async-compression-0.4.15 \
- atty-0.2.14 \
- autocfg-1.1.0 \
- avt-0.14.0 \
- backtrace-0.3.74 \
- base64-0.22.1 \
- bitflags-1.3.2 \
- bitflags-2.6.0 \
- bumpalo-3.12.0 \
- bytemuck-1.13.1 \
- byteorder-1.5.0 \
- byteorder-lite-0.1.0 \
- bytes-1.7.2 \
- cc-1.1.30 \
- cfg-if-1.0.0 \
- clap-3.2.23 \
- clap-4.2.1 \
- clap_builder-4.2.1 \
- clap_derive-3.2.18 \
- clap_lex-0.2.4 \
- clap_lex-0.4.1 \
- color_quant-1.1.0 \
- concolor-override-1.0.0 \
- concolor-query-0.3.3 \
- core-foundation-0.9.4 \
- core-foundation-sys-0.8.6 \
- core_maths-0.1.0 \
- crc32fast-1.3.2 \
- crossbeam-channel-0.5.7 \
- crossbeam-deque-0.8.3 \
- crossbeam-epoch-0.9.14 \
- crossbeam-utils-0.8.15 \
- data-url-0.3.1 \
- dirs-5.0.0 \
- dirs-sys-0.4.0 \
- dunce-1.0.3 \
- either-1.8.1 \
- env_logger-0.10.0 \
- errno-0.3.0 \
- errno-dragonfly-0.1.2 \
- fallible_collections-0.4.7 \
- flate2-1.0.25 \
- float-cmp-0.9.0 \
- fnv-1.0.7 \
- fontconfig-parser-0.5.2 \
- fontdb-0.22.0 \
- fontdue-0.7.2 \
- form_urlencoded-1.2.1 \
- futures-channel-0.3.27 \
- futures-core-0.3.31 \
- futures-io-0.3.31 \
- futures-sink-0.3.31 \
- futures-task-0.3.31 \
- futures-util-0.3.31 \
- getrandom-0.2.15 \
- gif-0.12.0 \
- gif-0.13.1 \
- gif-dispose-4.0.0 \
- gifsicle-1.93.0 \
- gifski-1.10.3 \
- gimli-0.31.1 \
- glob-0.3.1 \
- hashbrown-0.11.2 \
- hashbrown-0.12.3 \
- hashbrown-0.13.2 \
- heck-0.4.1 \
- hermit-abi-0.1.19 \
- hermit-abi-0.2.6 \
- hermit-abi-0.3.1 \
- http-1.1.0 \
- http-body-1.0.1 \
- http-body-util-0.1.2 \
- httparse-1.8.0 \
- humantime-2.1.0 \
- hyper-1.5.0 \
- hyper-rustls-0.27.3 \
- hyper-util-0.1.9 \
- idna-0.5.0 \
- image-webp-0.1.3 \
- imagequant-4.1.1 \
- imagesize-0.13.0 \
- imgref-1.9.4 \
- indexmap-1.9.3 \
- io-lifetimes-1.0.9 \
- ipnet-2.7.2 \
- is-terminal-0.4.6 \
- itoa-1.0.6 \
- js-sys-0.3.61 \
- kurbo-0.11.1 \
- libc-0.2.159 \
- libm-0.2.8 \
- linux-raw-sys-0.3.0 \
- lodepng-3.7.2 \
- log-0.4.22 \
- loop9-0.1.3 \
- memchr-2.5.0 \
- memmap2-0.9.5 \
- memoffset-0.8.0 \
- mime-0.3.17 \
- miniz_oxide-0.5.4 \
- miniz_oxide-0.6.2 \
- miniz_oxide-0.8.0 \
- mio-0.8.11 \
- natord-1.0.9 \
- noisy_float-0.2.0 \
- num-traits-0.2.15 \
- num_cpus-1.15.0 \
- object-0.36.5 \
- once_cell-1.20.2 \
- openssl-probe-0.1.5 \
- os_str_bytes-6.5.0 \
- pbr-1.1.1 \
- percent-encoding-2.3.1 \
- pico-args-0.5.0 \
- pin-project-lite-0.2.14 \
- pin-utils-0.1.0 \
- png-0.17.6 \
- ppv-lite86-0.2.20 \
- proc-macro-error-1.0.4 \
- proc-macro-error-attr-1.0.4 \
- proc-macro2-1.0.87 \
- quick-error-2.0.1 \
- quinn-0.11.5 \
- quinn-proto-0.11.8 \
- quinn-udp-0.5.5 \
- quote-1.0.37 \
- rand-0.8.5 \
- rand_chacha-0.3.1 \
- rand_core-0.6.4 \
- rayon-1.7.0 \
- rayon-core-1.11.0 \
- redox_syscall-0.2.16 \
- redox_users-0.4.3 \
- regex-1.7.3 \
- regex-syntax-0.6.29 \
- reqwest-0.12.8 \
- resize-0.7.4 \
- resvg-0.44.0 \
- rgb-0.8.36 \
- ring-0.17.8 \
- roxmltree-0.18.0 \
- roxmltree-0.20.0 \
- rustc-demangle-0.1.24 \
- rustc-hash-2.0.0 \
- rustix-0.37.5 \
- rustls-0.23.14 \
- rustls-native-certs-0.8.0 \
- rustls-pemfile-2.2.0 \
- rustls-pki-types-1.10.0 \
- rustls-webpki-0.102.8 \
- rustybuzz-0.18.0 \
- ryu-1.0.13 \
- schannel-0.1.23 \
- scopeguard-1.1.0 \
- security-framework-2.10.0 \
- security-framework-sys-2.10.0 \
- serde-1.0.159 \
- serde_derive-1.0.159 \
- serde_json-1.0.95 \
- serde_urlencoded-0.7.1 \
- shellexpand-3.1.0 \
- shlex-1.3.0 \
- simplecss-0.2.1 \
- siphasher-1.0.1 \
- slab-0.4.8 \
- slotmap-1.0.7 \
- smallvec-1.13.2 \
- socket2-0.5.7 \
- spin-0.9.8 \
- strict-num-0.1.1 \
- strsim-0.10.0 \
- subtle-2.6.1 \
- svgtypes-0.15.2 \
- syn-1.0.109 \
- syn-2.0.79 \
- sync_wrapper-1.0.1 \
- termcolor-1.2.0 \
- textwrap-0.16.0 \
- thiserror-1.0.40 \
- thiserror-impl-1.0.40 \
- thread_local-1.1.7 \
- tiny-skia-0.11.4 \
- tiny-skia-path-0.11.4 \
- tinyvec-1.6.0 \
- tinyvec_macros-0.1.1 \
- tokio-1.38.1 \
- tokio-rustls-0.26.0 \
- tokio-util-0.7.12 \
- tower-service-0.3.2 \
- tracing-0.1.37 \
- tracing-core-0.1.30 \
- try-lock-0.2.4 \
- ttf-parser-0.15.2 \
- ttf-parser-0.24.1 \
- unicode-bidi-0.3.13 \
- unicode-bidi-mirroring-0.3.0 \
- unicode-ccc-0.3.0 \
- unicode-ident-1.0.8 \
- unicode-normalization-0.1.22 \
- unicode-properties-0.1.3 \
- unicode-script-0.5.5 \
- unicode-vo-0.1.0 \
- unicode-width-0.1.14 \
- untrusted-0.9.0 \
- url-2.5.2 \
- usvg-0.44.0 \
- utf8parse-0.2.1 \
- version_check-0.9.4 \
- want-0.3.0 \
- wasi-0.11.0+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.95 \
- wasm-bindgen-backend-0.2.95 \
- wasm-bindgen-futures-0.4.34 \
- wasm-bindgen-macro-0.2.95 \
- wasm-bindgen-macro-support-0.2.95 \
- wasm-bindgen-shared-0.2.95 \
- web-sys-0.3.61 \
- weezl-0.1.8 \
- wild-2.1.0 \
- 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 \
- windows-registry-0.2.0 \
- windows-result-0.2.0 \
- windows-strings-0.1.0 \
- windows-sys-0.45.0 \
- windows-sys-0.48.0 \
- windows-sys-0.52.0 \
- windows-sys-0.59.0 \
- windows-targets-0.42.2 \
- windows-targets-0.48.5 \
- windows-targets-0.52.6 \
- windows_aarch64_gnullvm-0.42.2 \
- windows_aarch64_gnullvm-0.48.5 \
- windows_aarch64_gnullvm-0.52.6 \
- windows_aarch64_msvc-0.42.2 \
- windows_aarch64_msvc-0.48.5 \
- windows_aarch64_msvc-0.52.6 \
- windows_i686_gnu-0.42.2 \
- windows_i686_gnu-0.48.5 \
- windows_i686_gnu-0.52.6 \
- windows_i686_gnullvm-0.52.6 \
- windows_i686_msvc-0.42.2 \
- windows_i686_msvc-0.48.5 \
- windows_i686_msvc-0.52.6 \
- windows_x86_64_gnu-0.42.2 \
- windows_x86_64_gnu-0.48.5 \
- windows_x86_64_gnu-0.52.6 \
- windows_x86_64_gnullvm-0.42.2 \
- windows_x86_64_gnullvm-0.48.5 \
- windows_x86_64_gnullvm-0.52.6 \
- windows_x86_64_msvc-0.42.2 \
- windows_x86_64_msvc-0.48.5 \
- windows_x86_64_msvc-0.52.6 \
- xmlparser-0.13.5 \
- xmlwriter-0.1.0 \
- zerocopy-0.7.35 \
- zerocopy-derive-0.7.35 \
- zeroize-1.8.1 \
- zune-core-0.4.12 \
- zune-jpeg-0.4.13
+CARGO_CRATES= addr2line-0.24.2 \
+ adler-1.0.2 \
+ adler2-2.0.0 \
+ ahash-0.7.6 \
+ ahash-0.8.3 \
+ aho-corasick-0.7.20 \
+ anstream-0.2.6 \
+ anstyle-0.3.5 \
+ anstyle-parse-0.1.1 \
+ anstyle-wincon-0.2.0 \
+ anyhow-1.0.70 \
+ arrayref-0.3.7 \
+ arrayvec-0.7.6 \
+ async-compression-0.4.15 \
+ atty-0.2.14 \
+ autocfg-1.1.0 \
+ avt-0.16.0 \
+ backtrace-0.3.74 \
+ base64-0.22.1 \
+ bitflags-1.3.2 \
+ bitflags-2.6.0 \
+ bumpalo-3.12.0 \
+ bytemuck-1.13.1 \
+ byteorder-1.5.0 \
+ byteorder-lite-0.1.0 \
+ bytes-1.7.2 \
+ cc-1.1.30 \
+ cfg-if-1.0.0 \
+ clap-3.2.23 \
+ clap-4.2.1 \
+ clap_builder-4.2.1 \
+ clap_derive-3.2.18 \
+ clap_lex-0.2.4 \
+ clap_lex-0.4.1 \
+ color_quant-1.1.0 \
+ concolor-override-1.0.0 \
+ concolor-query-0.3.3 \
+ core-foundation-0.9.4 \
+ core-foundation-sys-0.8.6 \
+ core_maths-0.1.0 \
+ crc32fast-1.3.2 \
+ crossbeam-channel-0.5.7 \
+ crossbeam-deque-0.8.3 \
+ crossbeam-epoch-0.9.14 \
+ crossbeam-utils-0.8.15 \
+ data-url-0.3.1 \
+ dirs-5.0.0 \
+ dirs-sys-0.4.0 \
+ dunce-1.0.3 \
+ either-1.8.1 \
+ env_logger-0.10.0 \
+ errno-0.3.0 \
+ errno-dragonfly-0.1.2 \
+ fallible_collections-0.4.7 \
+ flate2-1.0.25 \
+ float-cmp-0.9.0 \
+ fnv-1.0.7 \
+ fontconfig-parser-0.5.2 \
+ fontdb-0.22.0 \
+ fontdue-0.7.2 \
+ form_urlencoded-1.2.1 \
+ futures-channel-0.3.27 \
+ futures-core-0.3.31 \
+ futures-io-0.3.31 \
+ futures-sink-0.3.31 \
+ futures-task-0.3.31 \
+ futures-util-0.3.31 \
+ getrandom-0.2.15 \
+ gif-0.12.0 \
+ gif-0.13.1 \
+ gif-dispose-4.0.0 \
+ gifsicle-1.93.0 \
+ gifski-1.10.3 \
+ gimli-0.31.1 \
+ glob-0.3.1 \
+ hashbrown-0.11.2 \
+ hashbrown-0.12.3 \
+ hashbrown-0.13.2 \
+ heck-0.4.1 \
+ hermit-abi-0.1.19 \
+ hermit-abi-0.2.6 \
+ hermit-abi-0.3.1 \
+ http-1.1.0 \
+ http-body-1.0.1 \
+ http-body-util-0.1.2 \
+ httparse-1.8.0 \
+ humantime-2.1.0 \
+ hyper-1.5.0 \
+ hyper-rustls-0.27.3 \
+ hyper-util-0.1.9 \
+ idna-0.5.0 \
+ image-webp-0.1.3 \
+ imagequant-4.1.1 \
+ imagesize-0.13.0 \
+ imgref-1.9.4 \
+ indexmap-1.9.3 \
+ io-lifetimes-1.0.9 \
+ ipnet-2.7.2 \
+ is-terminal-0.4.6 \
+ itoa-1.0.6 \
+ js-sys-0.3.61 \
+ kurbo-0.11.1 \
+ libc-0.2.159 \
+ libm-0.2.8 \
+ linux-raw-sys-0.3.0 \
+ lodepng-3.7.2 \
+ log-0.4.22 \
+ loop9-0.1.3 \
+ memchr-2.5.0 \
+ memmap2-0.9.5 \
+ memoffset-0.8.0 \
+ mime-0.3.17 \
+ miniz_oxide-0.5.4 \
+ miniz_oxide-0.6.2 \
+ miniz_oxide-0.8.0 \
+ mio-0.8.11 \
+ natord-1.0.9 \
+ noisy_float-0.2.0 \
+ num-traits-0.2.15 \
+ num_cpus-1.15.0 \
+ object-0.36.5 \
+ once_cell-1.20.2 \
+ openssl-probe-0.1.5 \
+ os_str_bytes-6.5.0 \
+ pbr-1.1.1 \
+ percent-encoding-2.3.1 \
+ pico-args-0.5.0 \
+ pin-project-lite-0.2.14 \
+ pin-utils-0.1.0 \
+ png-0.17.6 \
+ ppv-lite86-0.2.20 \
+ proc-macro-error-1.0.4 \
+ proc-macro-error-attr-1.0.4 \
+ proc-macro2-1.0.87 \
+ quick-error-2.0.1 \
+ quinn-0.11.5 \
+ quinn-proto-0.11.8 \
+ quinn-udp-0.5.5 \
+ quote-1.0.37 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rayon-1.7.0 \
+ rayon-core-1.11.0 \
+ redox_syscall-0.2.16 \
+ redox_users-0.4.3 \
+ regex-1.7.3 \
+ regex-syntax-0.6.29 \
+ reqwest-0.12.8 \
+ resize-0.7.4 \
+ resvg-0.44.0 \
+ rgb-0.8.36 \
+ ring-0.17.8 \
+ roxmltree-0.18.0 \
+ roxmltree-0.20.0 \
+ rustc-demangle-0.1.24 \
+ rustc-hash-2.0.0 \
+ rustix-0.37.5 \
+ rustls-0.23.14 \
+ rustls-native-certs-0.8.0 \
+ rustls-pemfile-2.2.0 \
+ rustls-pki-types-1.10.0 \
+ rustls-webpki-0.102.8 \
+ rustybuzz-0.18.0 \
+ ryu-1.0.13 \
+ schannel-0.1.23 \
+ scopeguard-1.1.0 \
+ security-framework-2.10.0 \
+ security-framework-sys-2.10.0 \
+ serde-1.0.159 \
+ serde_derive-1.0.159 \
+ serde_json-1.0.95 \
+ serde_urlencoded-0.7.1 \
+ shellexpand-3.1.0 \
+ shlex-1.3.0 \
+ simplecss-0.2.1 \
+ siphasher-1.0.1 \
+ slab-0.4.8 \
+ slotmap-1.0.7 \
+ smallvec-1.13.2 \
+ socket2-0.5.7 \
+ spin-0.9.8 \
+ strict-num-0.1.1 \
+ strsim-0.10.0 \
+ subtle-2.6.1 \
+ svgtypes-0.15.2 \
+ syn-1.0.109 \
+ syn-2.0.79 \
+ sync_wrapper-1.0.1 \
+ termcolor-1.2.0 \
+ textwrap-0.16.0 \
+ thiserror-1.0.40 \
+ thiserror-impl-1.0.40 \
+ thread_local-1.1.7 \
+ tiny-skia-0.11.4 \
+ tiny-skia-path-0.11.4 \
+ tinyvec-1.6.0 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.38.1 \
+ tokio-rustls-0.26.0 \
+ tokio-util-0.7.12 \
+ tower-service-0.3.2 \
+ tracing-0.1.37 \
+ tracing-core-0.1.30 \
+ try-lock-0.2.4 \
+ ttf-parser-0.15.2 \
+ ttf-parser-0.24.1 \
+ unicode-bidi-0.3.13 \
+ unicode-bidi-mirroring-0.3.0 \
+ unicode-ccc-0.3.0 \
+ unicode-ident-1.0.8 \
+ unicode-normalization-0.1.22 \
+ unicode-properties-0.1.3 \
+ unicode-script-0.5.5 \
+ unicode-vo-0.1.0 \
+ unicode-width-0.1.14 \
+ untrusted-0.9.0 \
+ url-2.5.2 \
+ usvg-0.44.0 \
+ utf8parse-0.2.1 \
+ version_check-0.9.4 \
+ want-0.3.0 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.95 \
+ wasm-bindgen-backend-0.2.95 \
+ wasm-bindgen-futures-0.4.34 \
+ wasm-bindgen-macro-0.2.95 \
+ wasm-bindgen-macro-support-0.2.95 \
+ wasm-bindgen-shared-0.2.95 \
+ web-sys-0.3.61 \
+ weezl-0.1.8 \
+ wild-2.1.0 \
+ 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 \
+ windows-registry-0.2.0 \
+ windows-result-0.2.0 \
+ windows-strings-0.1.0 \
+ windows-sys-0.45.0 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-sys-0.59.0 \
+ windows-targets-0.42.2 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.6 \
+ windows_aarch64_gnullvm-0.42.2 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_msvc-0.42.2 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_i686_gnu-0.42.2 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_msvc-0.42.2 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.6 \
+ windows_x86_64_gnu-0.42.2 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnullvm-0.42.2 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_msvc-0.42.2 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.6 \
+ xmlparser-0.13.5 \
+ xmlwriter-0.1.0 \
+ zerocopy-0.7.35 \
+ zerocopy-derive-0.7.35 \
+ zeroize-1.8.1 \
+ zune-core-0.4.12 \
+ zune-jpeg-0.4.13
diff --git a/graphics/asciinema-agg/distinfo b/graphics/asciinema-agg/distinfo
index 01ee5eeabd98..0b5fc1e39bed 100644
--- a/graphics/asciinema-agg/distinfo
+++ b/graphics/asciinema-agg/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1749449069
+TIMESTAMP = 1759523177
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
@@ -31,8 +31,8 @@ SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93
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/avt-0.14.0.crate) = b485f400d02970694eed10e7080f994ad82eaf56a867d6671af5d5e184ed8ee6
-SIZE (rust/crates/avt-0.14.0.crate) = 616841
+SHA256 (rust/crates/avt-0.16.0.crate) = 156203bcce48a54533c6a718509c22825c1ebbb606e6b313a6f13e8c6097bd13
+SIZE (rust/crates/avt-0.16.0.crate) = 618555
SHA256 (rust/crates/backtrace-0.3.74.crate) = 8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a
SIZE (rust/crates/backtrace-0.3.74.crate) = 88516
SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
@@ -549,5 +549,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 (asciinema-agg-v1.5.0_GH0.tar.gz) = 4bfbd0cc02f416ce868f0209b659a87e333de8f0b5edad19810e152ac6e7fc55
-SIZE (asciinema-agg-v1.5.0_GH0.tar.gz) = 15737508
+SHA256 (asciinema-agg-v1.6.0_GH0.tar.gz) = 541bdc7e7ec148d2146c8033e58a9046d9d3587671e8f375c9e606b5a24d3f82
+SIZE (asciinema-agg-v1.6.0_GH0.tar.gz) = 15748644
diff --git a/graphics/atril-lite/Makefile b/graphics/atril-lite/Makefile
index 5e8090849b5f..ad9afd45d0f5 100644
--- a/graphics/atril-lite/Makefile
+++ b/graphics/atril-lite/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 1
+PORTREVISION= 2
PKGNAMESUFFIX= -lite
OPTIONS_EXCLUDE= CAJA DBUS
diff --git a/graphics/atril/Makefile b/graphics/atril/Makefile
index 30ac770dc533..c00d4a031cca 100644
--- a/graphics/atril/Makefile
+++ b/graphics/atril/Makefile
@@ -3,7 +3,7 @@
PORTNAME= atril
PORTVERSION= 1.28.1
-PORTREVISION= 4
+PORTREVISION= 6
CATEGORIES= graphics print mate
MASTER_SITES= MATE
DIST_SUBDIR= mate
diff --git a/graphics/atril/pkg-plist b/graphics/atril/pkg-plist
index 8ca6a1045d66..7ce8ee17201b 100644
--- a/graphics/atril/pkg-plist
+++ b/graphics/atril/pkg-plist
@@ -119,7 +119,6 @@ share/applications/atril.desktop
%%DATADIR%%/icons/hicolor/scalable/mimetypes/x-office-presentation.svg
%%CAJA%%share/caja/extensions/libatril-properties-page.caja-extension
%%DBUS%%share/dbus-1/services/org.mate.atril.Daemon.service
-share/glib-2.0/schemas/org.mate.Atril.gschema.xml
share/gtk-doc/html/atril/EggFindBar.html
share/gtk-doc/html/atril/EvFileMonitor.html
share/gtk-doc/html/atril/EvHistory.html
diff --git a/graphics/birdfont/Makefile b/graphics/birdfont/Makefile
index 63d5c942b0f3..a070fe099f90 100644
--- a/graphics/birdfont/Makefile
+++ b/graphics/birdfont/Makefile
@@ -1,6 +1,6 @@
PORTNAME= birdfont
DISTVERSION= 2.33.4
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics x11-fonts
MASTER_SITES= https://birdfont.org/releases/
diff --git a/graphics/blender/Makefile b/graphics/blender/Makefile
index faacd6dcabee..60a30e0e7c5d 100644
--- a/graphics/blender/Makefile
+++ b/graphics/blender/Makefile
@@ -1,6 +1,6 @@
PORTNAME= blender
DISTVERSION= 4.2.0
-PORTREVISION= 11
+PORTREVISION= 16
CATEGORIES= graphics multimedia
MASTER_SITES= http://download.blender.org/source/ \
http://mirror.cs.umn.edu/blender.org/source/ \
diff --git a/graphics/bmeps/Makefile b/graphics/bmeps/Makefile
index 12a2093a00d9..5979629bdedd 100644
--- a/graphics/bmeps/Makefile
+++ b/graphics/bmeps/Makefile
@@ -1,8 +1,8 @@
PORTNAME= bitmap2pp
-DISTVERSION= 4.37.1
+DISTVERSION= 4.39.0
CATEGORIES= graphics perl5
-MASTER_SITES= SF/dktools/dktools/dktools-${PORTVERSION}
-DISTNAME= dktools-${PORTVERSION}
+MASTER_SITES= SF/dktools/dktools/dktools-${DISTVERSION}
+DISTNAME= dktools-${DISTVERSION}
MAINTAINER= takefu@airport.fm
COMMENT= Convert PNG/JPEG/TIFF to PDF/EPS
@@ -11,7 +11,7 @@ WWW= https://sourceforge.net/p/dktools/wiki/bitmap2pp/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-LIB_DEPENDS= libpng16.so:graphics/png \
+LIB_DEPENDS= libpng.so:graphics/png \
libtiff.so:graphics/tiff
USES= jpeg localbase:ldflags
diff --git a/graphics/bmeps/distinfo b/graphics/bmeps/distinfo
index 4b376307a4ca..7d0aa86d667d 100644
--- a/graphics/bmeps/distinfo
+++ b/graphics/bmeps/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1725850469
-SHA256 (dktools-4.37.1.tar.gz) = 3daed7e6e185b757e945e366a4550c96f587f2a4076de562cc4415ee724a2206
-SIZE (dktools-4.37.1.tar.gz) = 12129451
+TIMESTAMP = 1758672102
+SHA256 (dktools-4.39.0.tar.gz) = 576d716b909ed5de77fe729bd8df64c0b0e30a536aecdda02d1b53584ce93169
+SIZE (dktools-4.39.0.tar.gz) = 15790092
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/catimg/Makefile b/graphics/catimg/Makefile
index f20af1d1e01c..c6d8e7c44972 100644
--- a/graphics/catimg/Makefile
+++ b/graphics/catimg/Makefile
@@ -1,5 +1,6 @@
PORTNAME= catimg
-PORTVERSION= 2.7.0
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.8.0
CATEGORIES= graphics
MAINTAINER= ehaupt@FreeBSD.org
diff --git a/graphics/catimg/distinfo b/graphics/catimg/distinfo
index ffde6c4d53b2..1f7da92959ad 100644
--- a/graphics/catimg/distinfo
+++ b/graphics/catimg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1686319032
-SHA256 (posva-catimg-2.7.0_GH0.tar.gz) = 3a6450316ff62fb07c3facb47ea208bf98f62abd02783e88c56f2a6508035139
-SIZE (posva-catimg-2.7.0_GH0.tar.gz) = 90898
+TIMESTAMP = 1764229107
+SHA256 (posva-catimg-v2.8.0_GH0.tar.gz) = 1f4f54c237cd3b70c8a125044eb2578e8263c12b42d401a42c02c32f10f62548
+SIZE (posva-catimg-v2.8.0_GH0.tar.gz) = 90793
diff --git a/graphics/cegui/Makefile b/graphics/cegui/Makefile
index 4a438e16234d..5d355ea7a2ca 100644
--- a/graphics/cegui/Makefile
+++ b/graphics/cegui/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cegui
PORTVERSION= 0.8.7
-PORTREVISION= 21
+PORTREVISION= 22
CATEGORIES= graphics devel
MASTER_SITES= SF/crayzedsgui/CEGUI%20Mk-2/0.8
diff --git a/graphics/cenon/Makefile b/graphics/cenon/Makefile
index d46f3842b7c1..dd5609e5ba6e 100644
--- a/graphics/cenon/Makefile
+++ b/graphics/cenon/Makefile
@@ -2,7 +2,7 @@ PORTNAME= cenon
# Per r492056, 4.0.2 is the last version which actually works with GNUstep,
# the later ones use XCode >= 5 .xib files which GNUstep cannot parse.
PORTVERSION= 4.0.2
-PORTREVISION= 6
+PORTREVISION= 7
PORTEPOCH= 1
CATEGORIES= graphics gnustep
MASTER_SITES= http://www.cenon.zone/download/source/
diff --git a/graphics/chafa/Makefile b/graphics/chafa/Makefile
index 73358ab85dec..d65752bc6787 100644
--- a/graphics/chafa/Makefile
+++ b/graphics/chafa/Makefile
@@ -1,5 +1,5 @@
PORTNAME= chafa
-DISTVERSION= 1.16.2
+DISTVERSION= 1.18.0
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 8235dc838a20..4cedd038ee79 100644
--- a/graphics/chafa/distinfo
+++ b/graphics/chafa/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751704312
-SHA256 (chafa-1.16.2.tar.xz) = 657898dd9a89b45130a44c1efe1fc03e2c7bd00c2f543ed7111613cb9e7861df
-SIZE (chafa-1.16.2.tar.xz) = 1039788
+TIMESTAMP = 1762770104
+SHA256 (chafa-1.18.0.tar.xz) = cd7475441ab8042e89dad706124999dd0aa3dc64653cdc20d49338549b9fcadb
+SIZE (chafa-1.18.0.tar.xz) = 1049888
diff --git a/graphics/chafa/pkg-plist b/graphics/chafa/pkg-plist
index 64d779903b20..8967ccee7902 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.2
+lib/libchafa.so.0.11.0
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..6d0246cfa67c 100644
--- a/graphics/cimg/Makefile
+++ b/graphics/cimg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cimg
DISTVERSIONPREFIX= v.
-DISTVERSION= 3.5.5
+DISTVERSION= 3.6.5
PORTEPOCH= 3
CATEGORIES= graphics devel
@@ -33,14 +33,6 @@ USES+= compiler:c11 gmake pkgconfig:build xorg
.if ${PORT_OPTIONS:MDOCS}
-.if !defined(WITHOUT_LAPACK)
-. if defined(WITH_ATLAS)
-USES+= blaslapack:atlas
-. else
-USES+= blaslapack
-. endif
-.endif
-
REINPLACE_ARGS= -i ""
. if !defined(WITH_DEBUG)
@@ -52,7 +44,6 @@ LIB_DEPENDS+= libcurl.so:ftp/curl \
libOpenEXR.so:graphics/openexr \
libfftw3.so:math/fftw3 \
libwebp.so:graphics/webp \
- libboard.so:graphics/libboard \
libopencv_core.so:graphics/opencv \
libGraphicsMagick.so:graphics/GraphicsMagick
RUN_DEPENDS+= dcraw:graphics/dcraw
@@ -62,7 +53,6 @@ ALL_TARGET= Mlinux
ALL_TARGET= dlinux
WITHOUT_MEDCON= yes
WITHOUT_FFMPEG= yes
-WITHOUT_LAPACK= yes
. endif
. if !defined(WITHOUT_MEDCON)
@@ -72,11 +62,6 @@ RUN_DEPENDS+= medcon:graphics/xmedcon
LIB_DEPENDS+= libavformat.so:multimedia/ffmpeg
. endif
-. if !defined(WITHOUT_LAPACK)
-# Don't really need Fortran, but required to link with blas/lapack
-USES+= fortran
-. endif
-
USE_XORG+= x11 xrandr
. if defined(WITH_XSHM)
USE_XORG+= xext
@@ -115,13 +100,6 @@ pre-configure:
-e 's|#FFMPEG_LIBS|FFMPEG_LIBS|' \
${BUILD_WRKSRC}/Makefile
. endif
-. if !defined(WITHOUT_LAPACK)
- ${REINPLACE_CMD} -e 's|#LAPACK_CFLAGS|LAPACK_CFLAGS|' \
- -e 's|#LAPACK_DEFINE|LAPACK_DEFINE|' \
- -e 's|#LAPACK_LIBS|LAPACK_LIBS|' \
- -e 's|-lblas -llapack|-L${LOCALBASE}/lib ${BLASLIB} ${LAPACKLIB}|' \
- ${BUILD_WRKSRC}/Makefile
-. endif
. if defined(WITH_XSHM)
${REINPLACE_CMD} -e 's|XSHM_CFLAGS = #|XSHM_CFLAGS =|' \
-e 's|XSHM_LDFLAGS = #|XSHM_LDFLAGS =|' \
diff --git a/graphics/cimg/distinfo b/graphics/cimg/distinfo
index 5ad7acb6713d..ef8f798035eb 100644
--- a/graphics/cimg/distinfo
+++ b/graphics/cimg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747931392
-SHA256 (GreycLab-CImg-v.3.5.5_GH0.tar.gz) = f202f71dd77a4434fc36725022912fb57098124b92c3c4f417155337dc1c57a0
-SIZE (GreycLab-CImg-v.3.5.5_GH0.tar.gz) = 12680423
+TIMESTAMP = 1765816325
+SHA256 (GreycLab-CImg-v.3.6.5_GH0.tar.gz) = 2a1877aa3bb26298a7b8c9cf2cf231e3656bd6ff0dee7ee2cc1d694f4fd07d75
+SIZE (GreycLab-CImg-v.3.6.5_GH0.tar.gz) = 12680881
diff --git a/graphics/cimg/files/patch-examples__Makefile b/graphics/cimg/files/patch-examples__Makefile
index 9b42503d9232..a02bd41c1868 100644
--- a/graphics/cimg/files/patch-examples__Makefile
+++ b/graphics/cimg/files/patch-examples__Makefile
@@ -1,5 +1,14 @@
---- examples/Makefile.orig 2025-05-02 13:41:33 UTC
+--- examples/Makefile.orig 2025-11-21 07:26:29 UTC
+++ examples/Makefile
+@@ -78,7 +78,7 @@ FILES = CImg_demo \
+ use_RGBclass \
+
+ # Files which requires external libraries to run.
+-EXTRA_FILES = test_template_types use_tiff_stream use_jpeg_buffer
++EXTRA_FILES = use_tiff_stream use_jpeg_buffer
+
+ #---------------------------------
+ # Set correct variables and paths
@@ -89,7 +89,7 @@ SVERSION = $(VERSION1).$(VERSION2).$(VERSION3)
VERSION3 = $(shell grep 'cimg_version\ ' ../CImg.h | tail -c2 | head -c1)
SVERSION = $(VERSION1).$(VERSION2).$(VERSION3)
@@ -18,7 +27,7 @@
LIBS = -lm
ifdef IS_GCC
CXXVER = $(shell $(CXX) -v 2>&1 | tail -n 1)
-@@ -151,7 +151,7 @@ VT100_CFLAGS = -Dcimg_use_vt100
+@@ -152,7 +152,7 @@ VT100_CFLAGS = -Dcimg_use_vt100
VT100_CFLAGS = -Dcimg_use_vt100
# Flags to enable code optimization by the compiler.
@@ -27,19 +36,19 @@
ifdef IS_GCC
# Add -mtune=generic for GCC if supported.
NO_MTUNE_GENERIC = $(shell $(CXX) -mtune=generic -E - < /dev/null > /dev/null 2>&1; echo $$?)
-@@ -176,9 +176,9 @@ OPENCV_DEFINE = -Dcimg_use_opencv
+@@ -177,9 +177,9 @@ OPENCV_DEFINE = -Dcimg_use_opencv
# Flags to enable OpenCV support.
OPENCV_DEFINE = -Dcimg_use_opencv
-OPENCV_INCDIR = $(shell pkg-config opencv --cflags || echo -I/usr/include/opencv) -I/usr/include/opencv -I/usr/include/opencv4
+OPENCV_INCDIR = $(shell pkg-config opencv4 --cflags || echo -I/usr/include/opencv) -I/usr/include/opencv -I/usr/include/opencv4
OPENCV_CFLAGS = $(OPENCV_DEFINE) $(OPENCV_INCDIR)
--OPENCV_LIBS = $(shell pkg-config opencv --libs || echo -lopencv_core -lopencv_highgui)
-+OPENCV_LIBS = $(shell pkg-config opencv4 --libs || echo -lopencv_core -lopencv_highgui)
+-OPENCV_LIBS = $(shell pkg-config opencv --libs || echo -lopencv_core -lopencv_highgui -lopencv_videoio)
++OPENCV_LIBS = $(shell pkg-config opencv4 --libs || echo -lopencv_core -lopencv_highgui -lopencv_videoio)
# Flags used to disable display capablities of CImg
NODISPLAY_CFLAGS = -Dcimg_display=0
-@@ -241,7 +241,7 @@ TIFF_CFLAGS = $(TIFF_DEFINE) $(TIFF_INCDIR)
+@@ -242,7 +242,7 @@ TIFF_CFLAGS = $(TIFF_DEFINE) $(TIFF_INCDIR)
TIFF_DEFINE = -Dcimg_use_tiff
TIFF_INCDIR =
TIFF_CFLAGS = $(TIFF_DEFINE) $(TIFF_INCDIR)
@@ -48,7 +57,7 @@
# Flags to enable native support for loading HEIF image files, using the libheif library.
# ( https://github.com/strukturag/libheif )
-@@ -260,16 +260,16 @@ OPENEXR_DEFINE = -Dcimg_use_openexr
+@@ -261,16 +261,16 @@ OPENEXR_DEFINE = -Dcimg_use_openexr
# Flags to enable native support for EXR image files, using the OpenEXR library.
# ( http://www.openexr.com/ )
OPENEXR_DEFINE = -Dcimg_use_openexr
@@ -71,38 +80,15 @@
# Flags to enable native support for compressed .cimgz files, using the Zlib library.
# ( http://www.zlib.net/ )
-@@ -305,17 +305,17 @@ endif
-
- # Flags to enable the use of LAPACK routines for matrix computation
- # ( http://www.netlib.org/lapack/ )
--LAPACK_DEFINE = -Dcimg_use_lapack
-+#LAPACK_DEFINE = -Dcimg_use_lapack
- LAPACK_INCDIR =
--LAPACK_CFLAGS = $(LAPACK_DEFINE) $(LAPACK_INCDIR)
--LAPACK_LIBS = -lblas -llapack
-+#LAPACK_CFLAGS = $(LAPACK_DEFINE) $(LAPACK_INCDIR)
-+#LAPACK_LIBS = -lblas -llapack
-
- # Flags to enable the use of the Board library
- # ( https://github.com/GreycLab/libboard )
- BOARD_DEFINE = -Dcimg_use_board
--BOARD_INCDIR = -I/usr/include/board
-+BOARD_INCDIR = -I$(LOCALBASE)/include/board
- BOARD_CFLAGS = $(BOARD_DEFINE) $(BOARD_INCDIR)
--BOARD_LIBS = -lboard
-+BOARD_LIBS = -lboard -lMagick++-7
-
- # Enable native support of WebP image files, using the WebP library.
- # (https://chromium.googlesource.com/webm/libwebp/)
-@@ -392,6 +392,7 @@ $(XSHM_LIBS)" \
+@@ -377,6 +377,7 @@ $(XSHM_LIBS)" \
+ $(TIFF_LIBS) \
$(HEIF_LIBS) \
- $(LAPACK_LIBS) \
$(XSHM_LIBS)" \
+$(PTHREAD_LIBS)" \
all $(EXTRA_FILES)
# Linux/BSD/Mac OSX targets, with X11 display.
-@@ -470,6 +471,7 @@ $(OPT_CFLAGS) \
+@@ -455,6 +456,7 @@ $(OPT_CFLAGS) \
@$(MAKE) \
"CONF_CFLAGS = \
$(OPT_CFLAGS) \
@@ -110,12 +96,10 @@
$(VT100_CFLAGS) \
$(X11_CFLAGS) \
$(XSHM_CFLAGS) \
-@@ -483,8 +485,12 @@ $(MAGICK_CFLAGS) \
+@@ -468,8 +470,10 @@ $(MAGICK_CFLAGS) \
$(CURL_CFLAGS) \
$(OPENCV_CFLAGS) \
$(MAGICK_CFLAGS) \
-+$(LAPACK_CFLAGS) \
-+$(BOARD_CFLAGS) \
+$(WEBP_CFLAGS) \
$(FFTW3_CFLAGS)" \
"CONF_LIBS = \
@@ -123,12 +107,10 @@
$(X11_LIBS) \
$(XSHM_LIBS) \
$(XRANDR_LIBS) \
-@@ -497,6 +503,9 @@ $(MAGICK_LIBS) \
+@@ -482,6 +486,7 @@ $(MAGICK_LIBS) \
$(CURL_LIBS) \
$(OPENCV_LIBS) \
$(MAGICK_LIBS) \
-+$(LAPACK_LIBS) \
-+$(BOARD_LIBS) \
+$(WEBP_LIBS) \
$(FFTW3_LIBS)" \
"STRIP_EXE=true" \
diff --git a/graphics/cloudcompare/Makefile b/graphics/cloudcompare/Makefile
index 70c41f6cd608..6ea6bc783295 100644
--- a/graphics/cloudcompare/Makefile
+++ b/graphics/cloudcompare/Makefile
@@ -1,7 +1,7 @@
PORTNAME= cloudcompare
DISTVERSIONPREFIX= v
DISTVERSION= 2.12.4
-PORTREVISION= 17
+PORTREVISION= 18
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
@@ -69,7 +69,7 @@ PLUGINS_CXXFLAGS= ${PLUGINS_CXXFLAGS_${CHOSEN_COMPILER_TYPE}}
PLUGINS_CXXFLAGS_clang= -Wno-narrowing
PLUGINS_CXXFLAGS+= -DEIGEN_DONT_PARALLELIZE # OpenMP is broken in cmake: see bug#223678
PLUGINS_USE= XORG=ice,sm,x11,xext,xt GL=gl,glu
-PLUGINS_LIB_DEPENDS= libboost_system.so:devel/boost-libs \
+PLUGINS_LIB_DEPENDS= libboost_thread.so:devel/boost-libs \
libexpat.so:textproc/expat2 \
libflann_cpp.so:math/flann \
libfreetype.so:print/freetype2 \
diff --git a/graphics/colmap/Makefile b/graphics/colmap/Makefile
index 47977c264e01..7942e92f3348 100644
--- a/graphics/colmap/Makefile
+++ b/graphics/colmap/Makefile
@@ -1,5 +1,5 @@
PORTNAME= colmap
-DISTVERSION= 3.12.1
+DISTVERSION= 3.13.0
CATEGORIES= graphics
MAINTAINER= fuz@FreeBSD.org
@@ -27,18 +27,23 @@ LIB_DEPENDS= libPoseLib.so:graphics/poselib \
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 ssl
+ localbase python:env qt:6 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_FAISS FETCH_POSELIB
+USE_QT= base
+CMAKE_OFF= CUDA_ENABLED FETCH_FAISS FETCH_POSELIB
CMAKE_TESTING_ON= TESTS_ENABLED
+.if exists(/usr/include/omp.h)
+CMAKE_ON+= OPENMP_ENABLED
+.else
+CMAKE_OFF+= OPENMP_ENABLED
+.endif
LDFLAGS+= -Wl,--as-needed # gflags, glu, xi, xmu
-OPTIONS_DEFINE= CGAL DOCS OPENMP SIMD
-OPTIONS_DEFAULT= CGAL OPENMP SIMD
+OPTIONS_DEFINE= CGAL DOCS SIMD
+OPTIONS_DEFAULT= CGAL SIMD
CGAL_DESC= Graph-cut on Delaunay triangulation based meshing algorithm
CGAL_BUILD_DEPENDS= cgal>0:math/cgal
@@ -48,12 +53,6 @@ CGAL_CMAKE_BOOL= CGAL_ENABLED
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR} \
gmake:devel/gmake sphinx-build:textproc/py-sphinx
-OPENMP_CMAKE_BOOL= OPENMP_ENABLED
-.if !exists(/usr/include/omp.h)
-# XXX ports/199603: LLVM openmp in base doesn't support armv7 yet
-OPENMP_VARS= OPENMP=gcc-
-.endif
-
SIMD_CMAKE_BOOL= SIMD_ENABLED
SIMD_CFLAGS_i386= -msse2
SIMD_CFLAGS= ${SIMD_CFLAGS_${ARCH}}
diff --git a/graphics/colmap/distinfo b/graphics/colmap/distinfo
index ac3ae55ad257..b8f81fb42106 100644
--- a/graphics/colmap/distinfo
+++ b/graphics/colmap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751922819
-SHA256 (colmap-colmap-3.12.1_GH0.tar.gz) = 366496caca43e73a1e61c7ebd9dee51d5b2afe15c0e75e16ebad6cfae6f2860b
-SIZE (colmap-colmap-3.12.1_GH0.tar.gz) = 3577466
+TIMESTAMP = 1762535298
+SHA256 (colmap-colmap-3.13.0_GH0.tar.gz) = 98a8f8cf6358774be223239a9b034cc9d55bf66c43f54fc6ddea9128a1ee197a
+SIZE (colmap-colmap-3.13.0_GH0.tar.gz) = 3622068
diff --git a/graphics/colmap/pkg-plist b/graphics/colmap/pkg-plist
index 1dae83c7ea7c..6bc131eca6fc 100644
--- a/graphics/colmap/pkg-plist
+++ b/graphics/colmap/pkg-plist
@@ -105,6 +105,7 @@ include/colmap/scene/camera.h
include/colmap/scene/correspondence_graph.h
include/colmap/scene/database.h
include/colmap/scene/database_cache.h
+include/colmap/scene/database_sqlite.h
include/colmap/scene/frame.h
include/colmap/scene/image.h
include/colmap/scene/point2d.h
@@ -116,6 +117,8 @@ 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/reconstruction_matchers.h
+include/colmap/scene/reconstruction_pruning.h
include/colmap/scene/rig.h
include/colmap/scene/scene_clustering.h
include/colmap/scene/synthetic.h
diff --git a/graphics/colord-kde/distinfo b/graphics/colord-kde/distinfo
index d5adadbb20be..136cc1b513b7 100644
--- a/graphics/colord-kde/distinfo
+++ b/graphics/colord-kde/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381448
-SHA256 (KDE/release-service/25.04.3/colord-kde-25.04.3.tar.xz) = bcebe47737750d066e9c5560a7f9398bbe6327cf265714b3c708a4d1d6ea1803
-SIZE (KDE/release-service/25.04.3/colord-kde-25.04.3.tar.xz) = 120080
+TIMESTAMP = 1765478558
+SHA256 (KDE/release-service/25.12.0/colord-kde-25.12.0.tar.xz) = 73c14241eb1e688f4a231389b72c26647a9f3a781fa48df8c19cb90acea2cc83
+SIZE (KDE/release-service/25.12.0/colord-kde-25.12.0.tar.xz) = 120028
diff --git a/graphics/colord/Makefile b/graphics/colord/Makefile
index 63e69fbe064c..f718a264eb06 100644
--- a/graphics/colord/Makefile
+++ b/graphics/colord/Makefile
@@ -1,6 +1,5 @@
PORTNAME= colord
-PORTVERSION= 1.4.7
-PORTREVISION= 3
+PORTVERSION= 1.4.8
CATEGORIES= graphics
MASTER_SITES= https://www.freedesktop.org/software/colord/releases/
@@ -21,7 +20,7 @@ USERS= colord
GROUPS= colord
USES= gettext gnome localbase meson pathfix pkgconfig sqlite tar:xz
-USE_GNOME= glib20 intlhack introspection:build
+USE_GNOME= glib20 introspection:build
USE_LDCONFIG= yes
MAKE_JOBS_UNSAFE= yes
@@ -30,8 +29,6 @@ MESON_ARGS= -Dsystemd=false -Dudev_rules=false \
-Ddaemon_user=colord -Dlibcolordcompat=true \
-Dpnp_ids=${LOCALBASE}/share/hwdata/pnp.ids
-INSTALL_TARGET= install-strip
-
GLIB_SCHEMAS= org.freedesktop.ColorHelper.gschema.xml
OPTIONS_SUB= yes
diff --git a/graphics/colord/distinfo b/graphics/colord/distinfo
index 49a6c44e2f48..ae4043fd26e7 100644
--- a/graphics/colord/distinfo
+++ b/graphics/colord/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1706352311
-SHA256 (colord-1.4.7.tar.xz) = de02d9910634ae159547585cec414e450f711c27235453b4f9b38a9f2361a653
-SIZE (colord-1.4.7.tar.xz) = 1799168
+TIMESTAMP = 1752498060
+SHA256 (colord-1.4.8.tar.xz) = 21500bd68975312a7f0f3ce6019d9f75f42aacaa75ca7115ec720b5445406896
+SIZE (colord-1.4.8.tar.xz) = 1916884
diff --git a/graphics/colord/pkg-plist b/graphics/colord/pkg-plist
index af630fcf5adb..3e1d4c2f308b 100644
--- a/graphics/colord/pkg-plist
+++ b/graphics/colord/pkg-plist
@@ -167,7 +167,10 @@ share/dbus-1/system-services/org.freedesktop.ColorManager.service
share/dbus-1/system.d/org.freedesktop.ColorManager.conf
share/gir-1.0/Colord-1.0.gir
share/gir-1.0/Colorhug-1.0.gir
+share/locale/ar/LC_MESSAGES/colord.mo
share/locale/as/LC_MESSAGES/colord.mo
+share/locale/be/LC_MESSAGES/colord.mo
+share/locale/bg/LC_MESSAGES/colord.mo
share/locale/bn_IN/LC_MESSAGES/colord.mo
share/locale/ca/LC_MESSAGES/colord.mo
share/locale/cs/LC_MESSAGES/colord.mo
@@ -222,6 +225,7 @@ share/locale/tr/LC_MESSAGES/colord.mo
share/locale/uk/LC_MESSAGES/colord.mo
share/locale/zh_CN/LC_MESSAGES/colord.mo
share/locale/zh_TW/LC_MESSAGES/colord.mo
+share/metainfo/org.freedesktop.colord.metainfo.xml
share/polkit-1/actions/org.freedesktop.color.policy
%%VALA%%share/vala/vapi/colord.vapi
%%VALA%%share/vala/vapi/colord.deps
diff --git a/graphics/converseen/Makefile b/graphics/converseen/Makefile
index 61fd7adba787..6e46cc63e7d2 100644
--- a/graphics/converseen/Makefile
+++ b/graphics/converseen/Makefile
@@ -1,6 +1,6 @@
PORTNAME= converseen
DISTVERSIONPREFIX= v
-DISTVERSION= 0.15.0.1
+DISTVERSION= 0.15.1.3
CATEGORIES= graphics
MAINTAINER= fernape@FreeBSD.org
@@ -10,26 +10,16 @@ WWW= https://converseen.sourceforge.net/
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING.txt
-FLAVORS= qt5 qt6
-
-USES= cmake compiler:c++11-lang gl magick:7 qt:5 tar:bzip2
+USES= cmake compiler:c++11-lang desktop-file-utils gl \
+ magick:7 qt:6 tar:bzip2
USE_GITHUB= yes
GH_ACCOUNT= Faster3ck
GH_PROJECT= Converseen
USE_GL= gl
-USE_QT= core gui network widgets \
- buildtools:build linguisttools:build qmake:build
-
-.if ${FLAVOR:U} == qt6
-PKGNAMESUFFIX= -${FLAVOR}
-USES:= ${USES:S/qt:5/qt:6/}
USE_QT= base tools:build
+
CMAKE_ARGS= -DUSE_QT6=yes
-CONFLICTS_INSTALL= ${PORTNAME}
-.else
-CONFLICTS_INSTALL= ${PORTNAME}-qt6
-.endif
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/converseen
diff --git a/graphics/converseen/distinfo b/graphics/converseen/distinfo
index 21f318515921..53194b8f84f9 100644
--- a/graphics/converseen/distinfo
+++ b/graphics/converseen/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751800958
-SHA256 (Faster3ck-Converseen-v0.15.0.1_GH0.tar.gz) = 0e7f7731f660537eb2d360b5adbf535e5959892384d7c81083224a73bc685ce2
-SIZE (Faster3ck-Converseen-v0.15.0.1_GH0.tar.gz) = 968202
+TIMESTAMP = 1764836270
+SHA256 (Faster3ck-Converseen-v0.15.1.3_GH0.tar.gz) = dc76e22e5f9f1c98d548e011f43a9a1a625a8bd7ed8f4830032162d093ca4767
+SIZE (Faster3ck-Converseen-v0.15.1.3_GH0.tar.gz) = 978713
diff --git a/graphics/corrupter/Makefile b/graphics/corrupter/Makefile
index c2b1d99bb442..b7b1e81a6ccb 100644
--- a/graphics/corrupter/Makefile
+++ b/graphics/corrupter/Makefile
@@ -1,7 +1,7 @@
PORTNAME= corrupter
DISTVERSIONPREFIX= v
DISTVERSION= 1.0
-PORTREVISION= 27
+PORTREVISION= 33
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/cosmoplayer/Makefile b/graphics/cosmoplayer/Makefile
deleted file mode 100644
index bfe3a5186802..000000000000
--- a/graphics/cosmoplayer/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-PORTNAME= cosmoplayer
-PORTVERSION= 2.1.1
-PORTREVISION= 2
-CATEGORIES= graphics
-#MASTER_SITES= http://opendx.npaci.edu/libs/
-MASTER_SITES= http://distfiles.macports.org/${PORTNAME}/ \
- http://lil.fr.distfiles.macports.org/${PORTNAME}/ \
- http://ftp.leg.uct.ac.za/pub/packages/macports/distfiles/${PORTNAME}/
-DISTNAME= ${PORTNAME}-jar
-
-MAINTAINER= thierry@FreeBSD.org
-COMMENT= Java classes to support VRML
-WWW= http://cic.nist.gov/vrml/cosmoplayer.html
-
-LICENSE= SGI
-LICENSE_NAME= SGI
-LICENSE_FILE= ${WRKSRC}/License
-LICENSE_PERMS= dist-mirror dist-sell pkg-mirror auto-accept
-
-DEPRECATED= Abandonware
-EXPIRATION_DATE=2025-07-31
-
-RUN_DEPENDS= ${JAVALIBDIR}/java40.jar:devel/netscape-java40
-
-USES= java
-
-NO_BUILD= yes
-NO_ARCH= yes
-
-JARFILES= npcosmop211.jar
-
-PLIST_FILES= ${JARFILES:S|^|%%JAVAJARDIR%%/|}
-
-post-extract:
- ${MV} ${WRKDIR}/comsoplayer-jar ${WRKSRC}
-
-do-install:
- ${INSTALL_DATA} ${JARFILES:S|^|${WRKSRC}/|} ${STAGEDIR}${JAVAJARDIR}
-
-.include <bsd.port.mk>
diff --git a/graphics/cosmoplayer/distinfo b/graphics/cosmoplayer/distinfo
deleted file mode 100644
index 9b7e42670320..000000000000
--- a/graphics/cosmoplayer/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (cosmoplayer-jar.tar.gz) = 1a79351c2d5300c4e1ceb469852c922dcc24b6ac5a43859226749a35798b6d1e
-SIZE (cosmoplayer-jar.tar.gz) = 44698
diff --git a/graphics/cosmoplayer/pkg-descr b/graphics/cosmoplayer/pkg-descr
deleted file mode 100644
index d06eb5a1e3bb..000000000000
--- a/graphics/cosmoplayer/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-This jar file comes from Computer Associates / SGI Cosmo Player.
-It contains classes to support VRML.
-
-It is used by OpenDX.
diff --git a/graphics/ctl/Makefile b/graphics/ctl/Makefile
index 2893f004b773..482ff07bdf2e 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= 2
CATEGORIES= graphics lang
PKGNAMESUFFIX= -language
-PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= 3871cd7717fd184d9fbb667730d35f1a89391f09.patch:-p1 # FreeBSD compatibility patch: https://github.com/ampas/CTL/pull/145
-
MAINTAINER= yuri@FreeBSD.org
COMMENT= Color Transformation Language
WWW= https://github.com/ampas/CTL
@@ -37,4 +34,6 @@ DOCSDIR= share/doc/CTL
OPTIONS_DEFINE= DOCS
+# tests as of 1.5.4: 100% tests passed, 0 tests failed out of 220
+
.include <bsd.port.mk>
diff --git a/graphics/ctl/distinfo b/graphics/ctl/distinfo
index 831eccc6084e..3bfe3e31e920 100644
--- a/graphics/ctl/distinfo
+++ b/graphics/ctl/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1707022854
-SHA256 (ampas-CTL-ctl-1.5.3_GH0.tar.gz) = 0a9f5f3de8964ac5cca31597aca74bf915a3d8214e3276fdcb52c80ad25b0096
-SIZE (ampas-CTL-ctl-1.5.3_GH0.tar.gz) = 3073036
-SHA256 (3871cd7717fd184d9fbb667730d35f1a89391f09.patch) = 3a77003f3474569de39f3b4270cd033c9cf6d22dce4d551fb1edcd6eb0fee30c
-SIZE (3871cd7717fd184d9fbb667730d35f1a89391f09.patch) = 1653
+TIMESTAMP = 1754025845
+SHA256 (ampas-CTL-ctl-1.5.4_GH0.tar.gz) = fb84925320d053827fce965d7aeea5bb8690d7093bb083c8e3915d7a600e25fc
+SIZE (ampas-CTL-ctl-1.5.4_GH0.tar.gz) = 3079675
diff --git a/graphics/ctl/files/patch-OpenEXR__CTL_exrdpx_exrToDpx.cpp b/graphics/ctl/files/patch-OpenEXR__CTL_exrdpx_exrToDpx.cpp
deleted file mode 100644
index cd6d7ca72421..000000000000
--- a/graphics/ctl/files/patch-OpenEXR__CTL_exrdpx_exrToDpx.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
---- OpenEXR_CTL/exrdpx/exrToDpx.cpp.orig 2024-01-04 19:41:17 UTC
-+++ OpenEXR_CTL/exrdpx/exrToDpx.cpp
-@@ -169,13 +169,13 @@ writePixels
- const Rgba &pixel = pixels[y][x];
-
- unsigned int r =
-- (unsigned int) (clamp (float (pixel.r), 0.0f, 1023.0f) + 0.5f);
-+ (unsigned int) (std::clamp (float (pixel.r), 0.0f, 1023.0f) + 0.5f);
-
- unsigned int g =
-- (unsigned int) (clamp (float (pixel.g), 0.0f, 1023.0f) + 0.5f);
-+ (unsigned int) (std::clamp (float (pixel.g), 0.0f, 1023.0f) + 0.5f);
-
- unsigned int b =
-- (unsigned int) (clamp (float (pixel.b), 0.0f, 1023.0f) + 0.5f);
-+ (unsigned int) (std::clamp (float (pixel.b), 0.0f, 1023.0f) + 0.5f);
-
- unsigned int word = (r << 22) | (g << 12) | (b << 2);
-
diff --git a/graphics/ctl/pkg-plist b/graphics/ctl/pkg-plist
index b797b5f996f1..03942c64867b 100644
--- a/graphics/ctl/pkg-plist
+++ b/graphics/ctl/pkg-plist
@@ -26,12 +26,17 @@ include/CTL/CtlTypeStorage.h
include/CTL/CtlVersion.h
include/OpenEXR/ImfCtlApplyTransforms.h
lib/libIlmCtl.so
-lib/libIlmCtl.so.1.5.3
+lib/libIlmCtl.so.1.5
+lib/libIlmCtl.so.1.5.4
lib/libIlmCtlMath.so
-lib/libIlmCtlMath.so.1.5.3
+lib/libIlmCtlMath.so.1.5
+lib/libIlmCtlMath.so.1.5.4
lib/libIlmCtlSimd.so
-lib/libIlmCtlSimd.so.1.5.3
+lib/libIlmCtlSimd.so.1.5
+lib/libIlmCtlSimd.so.1.5.4
lib/libIlmImfCtl.so
+lib/libIlmImfCtl.so.1.5
+lib/libIlmImfCtl.so.1.5.4
%%DATADIR%%/change_saturation.ctl
%%DATADIR%%/transform_DPX_EXR.ctl
%%DATADIR%%/transform_EXR_DPX.ctl
diff --git a/graphics/d2/Makefile b/graphics/d2/Makefile
index dfe50e8daa69..baaa4596d4ae 100644
--- a/graphics/d2/Makefile
+++ b/graphics/d2/Makefile
@@ -1,7 +1,7 @@
PORTNAME= d2
DISTVERSIONPREFIX= v
-DISTVERSION= 0.7.0
-PORTREVISION= 3
+DISTVERSION= 0.7.1
+PORTREVISION= 5
CATEGORIES= graphics
MAINTAINER= adamw@FreeBSD.org
diff --git a/graphics/d2/distinfo b/graphics/d2/distinfo
index c3ac3bf0f2b3..a0f0850ca4e0 100644
--- a/graphics/d2/distinfo
+++ b/graphics/d2/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1746156043
-SHA256 (go/graphics_d2/d2-v0.7.0/v0.7.0.mod) = 0057e910e9c13228f6fdff27f79314e9db5d78d9d8e023d9de36169548c7988e
-SIZE (go/graphics_d2/d2-v0.7.0/v0.7.0.mod) = 2267
-SHA256 (go/graphics_d2/d2-v0.7.0/v0.7.0.zip) = bebb249eb3a963c46167a269f1431f20e30bc3821ea915fe625358039e69f702
-SIZE (go/graphics_d2/d2-v0.7.0/v0.7.0.zip) = 30467544
+TIMESTAMP = 1755614907
+SHA256 (go/graphics_d2/d2-v0.7.1/v0.7.1.mod) = 3e80ff104186c4966c030fd807ef143fed3e92d551a7da48b1ffbbc830624810
+SIZE (go/graphics_d2/d2-v0.7.1/v0.7.1.mod) = 2278
+SHA256 (go/graphics_d2/d2-v0.7.1/v0.7.1.zip) = 0793db1dcb02a011f278d2c01f870eeb04d941464f64ed1d376d1b22eda257f8
+SIZE (go/graphics_d2/d2-v0.7.1/v0.7.1.zip) = 32485253
diff --git a/graphics/darktable/Makefile b/graphics/darktable/Makefile
index 170a419ea86c..8fef9cea2700 100644
--- a/graphics/darktable/Makefile
+++ b/graphics/darktable/Makefile
@@ -1,6 +1,6 @@
PORTNAME= darktable
-PORTVERSION= 5.2.0
-PORTREVISION= 0
+PORTVERSION= 5.2.1
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= https://github.com/darktable-org/${PORTNAME}/releases/download/release-${PORTVERSION:C/\.rc/rc/}/
diff --git a/graphics/darktable/distinfo b/graphics/darktable/distinfo
index b061c37997b9..137cdbfe3da3 100644
--- a/graphics/darktable/distinfo
+++ b/graphics/darktable/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751715144
-SHA256 (darktable-5.2.0.tar.xz) = 53a46cd46ef7118485c4abf4ab407c181639bb8634243ec0ed1f7c1e8299bec6
-SIZE (darktable-5.2.0.tar.xz) = 7319420
+TIMESTAMP = 1755067613
+SHA256 (darktable-5.2.1.tar.xz) = 02f1aa9ae93949e7bc54c34eeb5ff92c2b87f95d2547865df55c60467564ee11
+SIZE (darktable-5.2.1.tar.xz) = 7445076
diff --git a/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748 b/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748
deleted file mode 100644
index 4127a55bb2ba..000000000000
--- a/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748
+++ /dev/null
@@ -1,85 +0,0 @@
-From 0cc770a2e21ced661c5363c5733eb13ac7433748 Mon Sep 17 00:00:00 2001
-From: Martin Straeten <39386816+MStraeten@users.noreply.github.com>
-Date: Fri, 27 Jun 2025 17:06:45 +0200
-Subject: [PATCH] reset window placement if last position is out of available
- display space (#18988)
-
-* reset window if position is out of display space
-
-on initialisation darktable moves the window to the last position even thats outside of the available displays.
-
-_valid_window_placement checks for an overlay with an existing display
-
-dt_gui_gtk_load_config() resets position to default if there's no overlap
-
-* 24 pixel as a border
-
-a border of 24 pixels is used to define the effective area that must be overlapped from the last window position to avoid a reset of position
-
-* stile fixes
-
-one parameter per line
-several const additions
----
- src/gui/gtk.c | 41 ++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 40 insertions(+), 1 deletion(-)
-
-diff --git a/src/gui/gtk.c b/src/gui/gtk.c
-index 671d87345850..a620dcb42332 100644
---- src/gui/gtk.c
-+++ b/src/gui/gtk.c
-@@ -773,6 +773,42 @@ static gboolean _scrollbar_changed(GtkWidget *widget,
- return TRUE;
- }
-
-+gboolean _valid_window_placement( const gint saved_x,
-+ const gint saved_y,
-+ const gint window_width,
-+ const gint window_height,
-+ const gint border)
-+{
-+ GdkDisplay *display = gdk_display_get_default();
-+ const gint n_monitors = gdk_display_get_n_monitors(display);
-+
-+ // check each monitor
-+ for(gint i = 0; i < n_monitors; i++)
-+ {
-+ GdkMonitor *monitor = gdk_display_get_monitor(display, i);
-+ GdkRectangle geometry;
-+ gdk_monitor_get_geometry(monitor, &geometry);
-+
-+ // Calculate effective area excluding border
-+ const gint eff_x = geometry.x + border;
-+ const gint eff_y = geometry.y + border;
-+ const gint eff_width = geometry.width - (2 * border);
-+ const gint eff_height = geometry.height - (2 * border);
-+
-+ if(eff_width <= 0 || eff_height <= 0) continue;
-+
-+ // Check overlap
-+ const gboolean x_overlap = (saved_x < eff_x + eff_width) && (saved_x + window_width > eff_x);
-+ const gboolean y_overlap = (saved_y < eff_y + eff_height) && (saved_y + window_height > eff_y);
-+
-+ if(x_overlap && y_overlap)
-+ {
-+ return TRUE;
-+ }
-+ }
-+ return FALSE;
-+}
-+
- int dt_gui_gtk_load_config()
- {
- dt_pthread_mutex_lock(&darktable.gui->mutex);
-@@ -784,7 +820,10 @@ int dt_gui_gtk_load_config()
- const gint y = MAX(0, dt_conf_get_int("ui_last/window_y"));
-
- gtk_window_resize(GTK_WINDOW(widget), width, height);
-- gtk_window_move(GTK_WINDOW(widget), x, y);
-+ if(_valid_window_placement(x, y, width, height, 24))
-+ gtk_window_move(GTK_WINDOW(widget), x, y);
-+ else
-+ gtk_window_move(GTK_WINDOW(widget), 0, 0);
- const gboolean fullscreen = dt_conf_get_bool("ui_last/fullscreen");
-
- if(fullscreen)
diff --git a/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059 b/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059
deleted file mode 100644
index cabdbe858e29..000000000000
--- a/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059
+++ /dev/null
@@ -1,46 +0,0 @@
-From 5db7918176ca45a24e9ea5b2a7bdbce898343059 Mon Sep 17 00:00:00 2001
-From: Mario Zimmermann <mail@zisoft.de>
-Date: Mon, 23 Jun 2025 13:36:33 +0200
-Subject: [PATCH] use full metadata tag name for variable substitution
-
----
- src/common/variables.c | 4 +---
- src/gui/gtkentry.c | 2 +-
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/src/common/variables.c b/src/common/variables.c
-index b8deed704af0..2746a7cf8647 100644
---- src/common/variables.c
-+++ b/src/common/variables.c
-@@ -953,9 +953,8 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable)
- for(GList* iter = dt_metadata_get_list(); iter; iter = iter->next)
- {
- dt_metadata_t *metadata = (dt_metadata_t *)iter->data;
-- gchar *prefix = g_utf8_strup(dt_metadata_get_tag_subkey(metadata->tagname), -1);
- gboolean found = FALSE;
-- if(_has_prefix(variable, prefix))
-+ if(_has_prefix(variable, metadata->tagname))
- {
- GList *res = dt_metadata_get(params->imgid, metadata->tagname, NULL);
- if(res != NULL)
-@@ -963,7 +962,6 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable)
- g_list_free_full(res, g_free);
- found = TRUE;
- }
-- g_free(prefix);
- if(found) break;
- }
- dt_pthread_mutex_unlock(&darktable.metadata_threadsafe);
-diff --git a/src/gui/gtkentry.c b/src/gui/gtkentry.c
-index b4acc9ccc8ad..db200eff47a9 100644
---- src/gui/gtkentry.c
-+++ b/src/gui/gtkentry.c
-@@ -291,7 +291,7 @@ void dt_gtkentry_variables_add_metadata(dt_metadata_t *metadata)
- {
- GtkTreeIter iter;
-
-- gchar *varname = g_utf8_strup(dt_metadata_get_tag_subkey(metadata->tagname), -1);
-+ gchar *varname = g_strdup(metadata->tagname);
- gchar *description = g_strdup_printf("$(%s) - %s", varname, _("from metadata"));
- gtk_list_store_append(_completion_model, &iter);
- gtk_list_store_set(_completion_model, &iter,
diff --git a/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af b/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af
deleted file mode 100644
index 2cf87c412f38..000000000000
--- a/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af
+++ /dev/null
@@ -1,23 +0,0 @@
-From 727ad35663589dc046c557787f0c1c34a45fb4af Mon Sep 17 00:00:00 2001
-From: Hanno Schwalm <hanno@schwalm-bremen.de>
-Date: Sun, 29 Jun 2025 06:07:42 +0200
-Subject: [PATCH] Fix non-raw OpenCL rastermask codepath
-
-Using the correct OpenCL interpolator
----
- src/iop/rasterfile.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/iop/rasterfile.c b/src/iop/rasterfile.c
-index 9f774b3c86cb..4e582861be70 100644
---- src/iop/rasterfile.c
-+++ b/src/iop/rasterfile.c
-@@ -378,7 +378,7 @@ int process_cl(dt_iop_module_t *self,
- if(visual) return err;
-
- if(roi_out->scale != roi_in->scale && ch == 4)
-- err = dt_iop_clip_and_zoom_roi_cl(devid, dev_out, dev_in, roi_out, roi_in);
-+ err = dt_iop_clip_and_zoom_cl(devid, dev_out, dev_in, roi_out, roi_in);
- else
- {
- size_t iorigin[] = { roi_out->x, roi_out->y, 0 };
diff --git a/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b b/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b
deleted file mode 100644
index 666c92431acb..000000000000
--- a/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b
+++ /dev/null
@@ -1,154 +0,0 @@
-From b4e81416381fd7a1e189a4fc4d8b3836906ddd2b Mon Sep 17 00:00:00 2001
-From: Pascal Obry <pascal@obry.net>
-Date: Tue, 17 Jun 2025 17:35:04 +0200
-Subject: [PATCH] Fix memory leak when using dt_util_localize_segmented_name.
-
----
- src/common/history.c | 8 +++++---
- src/common/presets.c | 14 +++++++-------
- src/common/presets.h | 8 ++++----
- src/develop/imageop.c | 6 +++++-
- src/gui/styles_dialog.c | 12 +++++++-----
- 5 files changed, 28 insertions(+), 20 deletions(-)
-
-diff --git a/src/common/history.c b/src/common/history.c
-index 94b370c140f7..3fa458999ed7 100644
---- src/common/history.c
-+++ b/src/common/history.c
-@@ -1,6 +1,6 @@
- /*
- This file is part of darktable,
-- Copyright (C) 2010-2024 darktable developers.
-+ Copyright (C) 2010-2025 darktable developers.
-
- darktable is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -1023,13 +1023,15 @@ char *dt_history_get_name_label(const char *name,
- }
- else
- {
-- const char *l_label = hand_edited
-- ? label
-+ char *l_label = hand_edited
-+ ? g_strdup (label)
- : dt_util_localize_segmented_name(label, FALSE);
-
- result = markup
- ? g_markup_printf_escaped("%s • <small>%s</small>", name, l_label)
- : g_markup_printf_escaped("%s • %s", name, l_label);
-+
-+ g_free(l_label);
- }
-
- return result;
-diff --git a/src/common/presets.c b/src/common/presets.c
-index a22dc8935c56..50fab77749dc 100644
---- src/common/presets.c
-+++ b/src/common/presets.c
-@@ -428,7 +428,7 @@ char *dt_presets_get_module_label(const char *module_name,
- const char *name = (const char *)sqlite3_column_text(stmt, 0);
- const char *multi_name = (const char *)sqlite3_column_text(stmt, 1);
- if(multi_name && (strlen(multi_name) == 0 || multi_name[0] != ' '))
-- result = g_strdup(dt_presets_get_multi_name(name, multi_name, FALSE));
-+ result = dt_presets_get_multi_name(name, multi_name, FALSE);
- }
- g_free(query);
- sqlite3_finalize(stmt);
-@@ -436,9 +436,9 @@ char *dt_presets_get_module_label(const char *module_name,
- return result;
- }
-
--const char *dt_presets_get_multi_name(const char *name,
-- const char *multi_name,
-- const gboolean localize)
-+char *dt_presets_get_multi_name(const char *name,
-+ const char *multi_name,
-+ const gboolean localize)
- {
- const gboolean auto_module = dt_conf_get_bool("darkroom/ui/auto_module_name_update");
-
-@@ -446,10 +446,10 @@ const char *dt_presets_get_multi_name(const char *name,
- // in non auto-update mode : use only the multi_name if defined
- if(auto_module)
- return strlen(multi_name) > 0
-- ? multi_name
-- : (localize ? dt_util_localize_segmented_name(name, FALSE) : name);
-+ ? g_strdup(multi_name)
-+ : (localize ? dt_util_localize_segmented_name(name, FALSE) : g_strdup(name));
- else
-- return strlen(multi_name) > 0 ? multi_name : "";
-+ return g_strdup(strlen(multi_name) > 0 ? multi_name : "");
- }
-
- // clang-format off
-diff --git a/src/common/presets.h b/src/common/presets.h
-index b493b543b1db..fe4c65fc3960 100644
---- src/common/presets.h
-+++ b/src/common/presets.h
-@@ -1,6 +1,6 @@
- /*
- This file is part of darktable,
-- Copyright (C) 2019-2023 darktable developers.
-+ Copyright (C) 2019-2025 darktable developers.
-
- darktable is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -42,9 +42,9 @@ char *dt_presets_get_module_label(const char *module_name,
- and the recorded preset's multi_name. This depends on the preference
- darkroom/ui/auto_module_name_update
- */
--const char *dt_presets_get_multi_name(const char *name,
-- const char *multi_name,
-- const gboolean localize);
-+char *dt_presets_get_multi_name(const char *name,
-+ const char *multi_name,
-+ const gboolean localize);
-
- /** get currently active preset name for the module */
- gchar *dt_get_active_preset_name(dt_iop_module_t *module, gboolean *writeprotect);
-diff --git a/src/develop/imageop.c b/src/develop/imageop.c
-index b2886b8d274e..13386fb6286b 100644
---- src/develop/imageop.c
-+++ b/src/develop/imageop.c
-@@ -1198,7 +1198,11 @@ static void _iop_panel_name(dt_iop_module_t *module)
- if(module->multi_name_hand_edited)
- new_label = g_strdup_printf("• %s", module->multi_name);
- else
-- new_label = g_strdup_printf("• %s", dt_util_localize_segmented_name(module->multi_name, FALSE));
-+ {
-+ char *loc = dt_util_localize_segmented_name(module->multi_name, FALSE);
-+ new_label = g_strdup_printf("• %s", loc);
-+ g_free(loc);
-+ }
- gtk_widget_set_name(GTK_WIDGET(iname), "iop-module-name");
- }
- }
-diff --git a/src/gui/styles_dialog.c b/src/gui/styles_dialog.c
-index c4fc24704e9f..75474de98793 100644
---- src/gui/styles_dialog.c
-+++ b/src/gui/styles_dialog.c
-@@ -1,6 +1,6 @@
- /*
- This file is part of darktable,
-- Copyright (C) 2010-2024 darktable developers.
-+ Copyright (C) 2010-2025 darktable developers.
-
- darktable is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -1003,10 +1003,12 @@ GtkWidget *dt_gui_style_content_dialog(char *name, const dt_imgid_t imgid)
-
- if(i->multi_name && strlen(i->multi_name) > 0)
- {
-- snprintf(mn, sizeof(mn), "(%s)",
-- i->multi_name_hand_edited
-- ? i->multi_name
-- : dt_util_localize_segmented_name(i->multi_name, TRUE));
-+ char *mname = i->multi_name_hand_edited
-+ ? g_strdup(i->multi_name)
-+ : dt_util_localize_segmented_name(i->multi_name, TRUE);
-+
-+ snprintf(mn, sizeof(mn), "(%s)", mname);
-+ g_free(mname);
- }
- else
- {
diff --git a/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642 b/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642
deleted file mode 100644
index 9b218f023472..000000000000
--- a/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642
+++ /dev/null
@@ -1,23 +0,0 @@
-From dd5e98050bbd3b726cf1577042f03de734eaf642 Mon Sep 17 00:00:00 2001
-From: Pascal Obry <pascal@obry.net>
-Date: Tue, 17 Jun 2025 17:34:51 +0200
-Subject: [PATCH] snapshots: Ensure the entry fill all the widget while
- editing.
-
----
- src/libs/snapshots.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libs/snapshots.c b/src/libs/snapshots.c
-index bf0909f757e7..9c2fd0c23c76 100644
---- src/libs/snapshots.c
-+++ b/src/libs/snapshots.c
-@@ -558,7 +558,7 @@ static void _init_snapshot_entry(dt_lib_module_t *self, dt_lib_snapshot_t *s)
- gtk_widget_set_halign(s->name, GTK_ALIGN_START);
-
- s->entry = gtk_entry_new();
-- gtk_widget_set_halign(s->entry, GTK_ALIGN_START);
-+ gtk_widget_set_halign(s->entry, GTK_ALIGN_FILL);
- g_signal_connect(G_OBJECT(s->entry), "activate",
- G_CALLBACK(_entry_activated_callback), self);
-
diff --git a/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712 b/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712
deleted file mode 100644
index 67331abd7b4c..000000000000
--- a/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712
+++ /dev/null
@@ -1,27 +0,0 @@
-From e00a758e6164389e845308f3615c3754dd04c712 Mon Sep 17 00:00:00 2001
-From: Mario Zimmermann <mail@zisoft.de>
-Date: Fri, 27 Jun 2025 20:05:23 +0200
-Subject: [PATCH] fix screen dpi setting has no effect
-
----
- src/gui/gtk.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/gui/gtk.c b/src/gui/gtk.c
-index a620dcb42332..d62411e9d6ef 100644
---- src/gui/gtk.c
-+++ b/src/gui/gtk.c
-@@ -1630,10 +1630,10 @@ double dt_get_screen_resolution(GtkWidget *widget)
- screen_dpi = 96.0;
- strncpy(opt_str, "(default value)", sizeof(opt_str));
- }
-- gdk_screen_set_resolution(gtk_widget_get_screen(widget), screen_dpi);
-- dt_print(DT_DEBUG_CONTROL, "[screen resolution] setting the screen resolution to %f dpi %s",
-- screen_dpi, opt_str);
- }
-+ gdk_screen_set_resolution(gtk_widget_get_screen(widget), screen_dpi);
-+ dt_print(DT_DEBUG_CONTROL, "[screen resolution] setting the screen resolution to %f dpi %s",
-+ screen_dpi, opt_str);
- return screen_dpi;
- }
-
diff --git a/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa b/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa
deleted file mode 100644
index 2f3bf38c170c..000000000000
--- a/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa
+++ /dev/null
@@ -1,30 +0,0 @@
-From eac87cf0c41ef6d2190cd88cd9379a288edba1fa Mon Sep 17 00:00:00 2001
-From: Pascal Obry <pascal@obry.net>
-Date: Fri, 27 Jun 2025 08:14:30 +0200
-Subject: [PATCH] Fix compilation when OpenMP is disabled.
-
-Fixes #19006.
----
- src/common/darktable.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/common/darktable.c b/src/common/darktable.c
-index 11f86b0330a8..e5feaf63eddd 100644
---- src/common/darktable.c
-+++ b/src/common/darktable.c
-@@ -1193,10 +1193,13 @@ int dt_init(int argc, char *argv[], const gboolean init_gui, const gboolean load
- if(desired > possible)
- dt_print(DT_DEBUG_ALWAYS,
- "[dt_init --threads] requested %d ompthreads restricted to %d",
-- desired, possible);
-+ desired, possible);
-+#ifdef _OPENMP
- dt_print(DT_DEBUG_ALWAYS,
- "[dt_init --threads] using %d threads of %d for openmp parallel sections %s",
-- darktable.num_openmp_threads, (int)dt_get_num_procs(), omp_get_dynamic() ? "(dynamic)" : "(static)");
-+ darktable.num_openmp_threads, (int)dt_get_num_procs(),
-+ omp_get_dynamic() ? "(dynamic)" : "(static)");
-+#endif
- k++;
- argv[k-1] = NULL;
- argv[k] = NULL;
diff --git a/graphics/darktable/pkg-plist b/graphics/darktable/pkg-plist
index 8cfa8b9195b8..8fc55ec1e2dd 100644
--- a/graphics/darktable/pkg-plist
+++ b/graphics/darktable/pkg-plist
@@ -972,6 +972,7 @@ share/icons/hicolor/scalable/apps/darktable.svg
%%NLS%%share/locale/hu/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/it/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/ja/LC_MESSAGES/darktable.mo
+%%NLS%%share/locale/ko_KR/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/nl/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/ru/LC_MESSAGES/darktable.mo
diff --git a/graphics/dataplot/Makefile b/graphics/dataplot/Makefile
index 1d0d424cd95c..a13bd4455e90 100644
--- a/graphics/dataplot/Makefile
+++ b/graphics/dataplot/Makefile
@@ -1,40 +1,35 @@
PORTNAME= dataplot
-DISTVERSION= 20210713
-PORTREVISION= 2
+DISTVERSION= 20240806
CATEGORIES= graphics
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= pfg@FreeBSD.org
COMMENT= Free software system for statistical visualization
WWW= https://www.itl.nist.gov/div898/software/dataplot/index.htm
LICENSE= PD
+LICENSE_FILE= ${WRKSRC}/../LICENSE.txt
LIB_DEPENDS= libgd.so:graphics/gd \
- libpng.so:graphics/png
-
-USES= gmake gnome fortran jpeg readline xorg
-USE_XORG= x11 xi
-USE_GNOME= cairo
+ libtiff.so:graphics/tiff
+RUN_DEPENDS= xclip:x11/xclip
+USES= gmake gnome fortran readline xorg
USE_GITHUB= yes
GH_ACCOUNT= usnistgov
-GH_TAGNAME= d5eb15dd86dd80098c6535aa68898ab8392ab700
-
-WRKSRC_SUBDIR= src
-
-MAXOBV?= 450000 # Change if you need more observations/variable
+GH_TAGNAME= b779512889cc78757fae29f9546e01b9c6cef95d
+USE_GNOME= cairo
+USE_XORG= x11 xft xi
-FFLAGS+= -DLINUX -fdefault-real-8 -fdefault-double-8 -std=legacy
+FFLAGS+= -fdefault-real-8 -fdefault-double-8 -std=legacy
-PORTDATA= *
+WRKSRC_SUBDIR= src
PLIST_FILES= bin/dataplot bin/xdataplot
+PORTDATA= *
OPTIONS_DEFINE= DOCS
post-patch:
- @${REINPLACE_CMD} -e 's/MAXOBV=1500000/MAXOBV=${MAXOBV}/' \
- ${WRKSRC}/DPCOPA.INC
@${REINPLACE_CMD} \
-e 's;%%FC%%;${FC};' \
-e 's;%%CC%%;${CC};' \
diff --git a/graphics/dataplot/distinfo b/graphics/dataplot/distinfo
index 0489f8aa74df..6c9f0246c90d 100644
--- a/graphics/dataplot/distinfo
+++ b/graphics/dataplot/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1663389742
-SHA256 (usnistgov-dataplot-20210713-d5eb15dd86dd80098c6535aa68898ab8392ab700_GH0.tar.gz) = f92bbb322ec80ea03e83163b9de741131bb064fbe59323475b27958cddeb197f
-SIZE (usnistgov-dataplot-20210713-d5eb15dd86dd80098c6535aa68898ab8392ab700_GH0.tar.gz) = 22850998
+TIMESTAMP = 1753233966
+SHA256 (usnistgov-dataplot-20240806-b779512889cc78757fae29f9546e01b9c6cef95d_GH0.tar.gz) = 6386f56d6b74638d877cbe6a929dd476422dc791e009f83ce6bd5703ac58261a
+SIZE (usnistgov-dataplot-20240806-b779512889cc78757fae29f9546e01b9c6cef95d_GH0.tar.gz) = 23319908
diff --git a/graphics/dataplot/files/patch-Makefile b/graphics/dataplot/files/patch-Makefile
index df26252ff7ed..115aadaf4461 100644
--- a/graphics/dataplot/files/patch-Makefile
+++ b/graphics/dataplot/files/patch-Makefile
@@ -1,4 +1,4 @@
---- Makefile.orig 2021-07-13 20:35:55 UTC
+--- Makefile.orig 2024-08-06 18:20:40 UTC
+++ Makefile
@@ -1,5 +1,5 @@
-FC = gfortran
@@ -7,8 +7,8 @@
+CC = %%CC%%
# FEATURES to enable during compilation
- # all: READLINE NCURSES GD TIFF VPX CAIRO X11 GKS OPENGL PLOT XCLIP
-@@ -12,11 +12,12 @@ PREFIX = $(DESTDIR)/usr/local
+ # all: READLINE NCURSES GD TIFF VPX CAIRO X11 GKS OPENGL PLOT XCLIP CYGWIN MACOSX TCL DISABLE_SYSTEM_COMMAND STACK_SIZE DEBUG
+@@ -13,12 +13,13 @@ BINDIR = $(PREFIX)/bin
BINDIR = $(PREFIX)/bin
# where to find additional dataplot files (help, menus, etc).
@@ -16,15 +16,25 @@
+DPLIBDIR=$(DESTDIR)%%DATADIR%%
#FFLAGS += -O2 -DLINUX -fdefault-real-8 -fdefault-double-8 -fmax-stack-var-size=1000000 -Wall
+ #FFLAGS += -O2 -g -DLINUX -fdefault-real-8 -fdefault-double-8 -Wall
-FFLAGS += -O2 -DLINUX -fdefault-real-8 -fdefault-double-8 -Wall
-CFLAGS += -O2
-+FFLAGS += %%FFLAGS%%
++FFLAGS += %%FFLAGS%% -DLINUX
+CFLAGS += %%CFLAGS%% -I%%LOCALBASE%%/include
+LDFLAGS += -L%%LOCALBASE%%/lib
# special flags for dp1
DP1FLAGS = -DDDOUBLE -DINTEGER32 -DHAVE_ISNAN -DHAVE_EXECUTE_COMMAND_LINE -DDPLIBDIR=\'$(DPLIBDIR)\'
-@@ -129,7 +130,7 @@ clean:
+@@ -79,7 +80,7 @@ CFLAGS += -DHAVE_X11
+ LDFLAGS += -lcairo
+ FFLAGS4 += -DHAVE_CAIRO
+ CFLAGS += -DHAVE_X11
+-#CFLAGS += -I/usr/include/cairo
++CFLAGS += -I%%LOCALBASE%%/include/freetype2
+ endif
+
+ ifneq (,$(findstring PLOT,$(FEATURES)))
+@@ -170,7 +171,7 @@ install: dataplot xdataplot
install: dataplot xdataplot
@echo installing binary to $(BINDIR)
-[ ! -d $(BINDIR) ] && mkdir -vp $(BINDIR) ||:
diff --git a/graphics/devil/Makefile b/graphics/devil/Makefile
index 429b5b9e31ec..02a128585a0c 100644
--- a/graphics/devil/Makefile
+++ b/graphics/devil/Makefile
@@ -1,7 +1,7 @@
PORTNAME= devil
DISTVERSIONPREFIX= v
DISTVERSION= 1.8.0
-PORTREVISION= 6
+PORTREVISION= 7
PORTEPOCH= 1
CATEGORIES= graphics
diff --git a/graphics/diff-pdf/Makefile b/graphics/diff-pdf/Makefile
index 700fa595c41a..b3c86e1db0b6 100644
--- a/graphics/diff-pdf/Makefile
+++ b/graphics/diff-pdf/Makefile
@@ -1,7 +1,7 @@
PORTNAME= diff-pdf
DISTVERSIONPREFIX= v
DISTVERSION= 0.5.2
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
MAINTAINER= uzsolt@FreeBSD.org
diff --git a/graphics/dify/Makefile b/graphics/dify/Makefile
index 23a73597fc23..c4e1a0497f84 100644
--- a/graphics/dify/Makefile
+++ b/graphics/dify/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dify
DISTVERSION= 0.6.0
-PORTREVISION= 22
+PORTREVISION= 25
CATEGORIES= graphics
MASTER_SITES= CRATESIO
# XXX Teach USES=cargo to have proper default
diff --git a/graphics/digikam/Makefile b/graphics/digikam/Makefile
index 1931b993bb81..abb8a8849ac9 100644
--- a/graphics/digikam/Makefile
+++ b/graphics/digikam/Makefile
@@ -1,13 +1,15 @@
PORTNAME= digikam
-DISTVERSION= 8.6.0
-PORTREVISION= 2
+DISTVERSION= 8.8.0
+PORTREVISION= 1
CATEGORIES= graphics kde
MASTER_SITES= KDE/stable/${PORTNAME}/${PORTVERSION} \
- https://files.kde.org/${PORTNAME}/%SUBDIR%/:aesthetic,autotags,face,yunet \
- https://kde-applicationdata.mirrors.omnilance.com/${PORTNAME}/%SUBDIR%/:aesthetic,autotags,face,yunet \
- https://mirrors.ocf.berkeley.edu/kde-applicationdata/${PORTNAME}/%SUBDIR%/:aesthetic,autotags,face,yunet
+ https://files.kde.org/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet \
+ https://kde-applicationdata.mirrors.omnilance.com/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet \
+ https://mirrors.ocf.berkeley.edu/kde-applicationdata/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet
MASTER_SITE_SUBDIR= aestheticdetector/:aesthetic \
+ aitools/:aitools \
autotags/:autotags \
+ facesengine/:testimage \
facesengine/dnnface/:face \
facesengine/yunet/:yunet
# One bit changed in the naming convention ..
@@ -32,7 +34,7 @@ LIB_DEPENDS= libexiv2.so:graphics/exiv2 \
liblensfun.so:graphics/lensfun \
libopencv_core.so:graphics/opencv \
libheif.so:graphics/libheif \
- libpng.so:graphics/png \
+ libpng16.so:graphics/png \
libtiff.so:graphics/tiff \
libx265.so:multimedia/x265
RUN_DEPENDS= exiftool:graphics/p5-Image-ExifTool
@@ -43,13 +45,15 @@ USES= bison cmake compiler:c++20-lang desktop-file-utils eigen:3 \
USE_GL= opengl glu
USE_GNOME= glib20 libxml2 libxslt
USE_KDE= calendarcore colorscheme completion config configwidgets \
- coreaddons doctools filemetadata i18n iconthemes jobwidgets \
- kio libksane notifications notifyconfig service solid sonnet \
- texttemplate threadweaver widgetsaddons windowsystem xmlgui \
+ coreaddons doctools filemetadata guiaddons i18n iconthemes \
+ jobwidgets kio libksane notifications notifyconfig service \
+ solid sonnet texttemplate threadweaver widgetsaddons \
+ windowsystem xmlgui \
ecm:build
USE_LDCONFIG= yes
USE_QT= base declarative networkauth positioning scxml svg \
- webchannel webengine
+ webchannel webengine \
+ imageformats:run
USE_XORG= ice sm x11 xext
SHEBANG_FILES= core/data/scripts/digitaglinktree/digitaglinktree
@@ -60,6 +64,7 @@ CMAKE_ON= BUILD_WITH_CCACHE \
DIGIKAMSC_COMPILE_DIGIKAM \
ENABLE_KFILEMETADATASUPPORT
+CXXFLAGS+= -Wno-error=undef
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
PLIST_SUB= SHLIB_VER=${DISTVERSION}
@@ -69,7 +74,7 @@ WITH_CCACHE_BUILD= yes
OPTIONS_DEFINE= KDEPIM MEDIAPLAYER
OPTIONS_GROUP= DATA
DATA_DESC= Binary data required for certain features
-OPTIONS_GROUP_DATA= AESTHETIC AUTOTAGS FACEDETECT
+OPTIONS_GROUP_DATA= AITOOLS AESTHETIC AUTOTAGS FACEDETECT
OPTIONS_MULTI= DB
DB_DESC= Database options
OPTIONS_MULTI_DB= MYSQL MYSQL_INTERNAL SQLITE3
@@ -78,7 +83,10 @@ OPTIONS_DEFAULT= ${OPTIONS_DEFINE} \
OPTIONS_SUB= yes
# Check core/data/dnnmodels/dnnmodels.conf for new and obsolete files
-# for the AESTHETIC, AUTOTAGS and FACEDETECT options with each update.
+# for the AITOOLS. AESTHETIC, AUTOTAGS and FACEDETECT options with each update.
+AITOOLS_DESC= Install aitools (autorotate) data (~330 MiB)
+AITOOLS_DISTFILES= deep-image-orientation-angle-detection.onnx:aitools
+
AESTHETIC_DESC= Install aesthetic detection data (~84 MiB)
AESTHETIC_DISTFILES= weights_inceptionv3_299.pb:aesthetic
@@ -90,7 +98,8 @@ AUTOTAGS_DISTFILES= classification_classes_ILSVRC2012.txt:autotags \
yolo11x.onnx:autotags
FACEDETECT_DESC= Install face management data (~37 MiB)
-FACEDETECT_DISTFILES= face_recognition_sface_2021dec.onnx:face \
+FACEDETECT_DISTFILES= dnntestimage.jpeg:testimage \
+ face_recognition_sface_2021dec.onnx:face \
face_detection_yunet_2023mar.onnx:yunet
KDEPIM_DESC= KDEPim Addressbook support
@@ -116,6 +125,12 @@ MYSQL_INTERNAL_IMPLIES= MYSQL
SQLITE3_USE= QT=sqldriver-sqlite:run
+post-install-AITOOLS-on:
+ @${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
+.for f in ${AITOOLS_DISTFILES:C/:.*//}
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${f} ${STAGEDIR}${DATADIR}/facesengine
+.endfor
+
post-install-AESTHETIC-on:
@${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
.for f in ${AESTHETIC_DISTFILES:C/:.*//}
diff --git a/graphics/digikam/distinfo b/graphics/digikam/distinfo
index f97c8c85ff7c..0f555e15b762 100644
--- a/graphics/digikam/distinfo
+++ b/graphics/digikam/distinfo
@@ -1,8 +1,10 @@
-TIMESTAMP = 1745529278
-SHA256 (KDE/digikam/digiKam-8.6.0.tar.xz) = 000971e117201976cba413b6d7201720a8893799d6064bcf158d4388e829c233
-SIZE (KDE/digikam/digiKam-8.6.0.tar.xz) = 58958608
+TIMESTAMP = 1761264364
+SHA256 (KDE/digikam/digiKam-8.8.0.tar.xz) = db3a1b6e3c73f903e3dff8003f52455dd2ecd198cb66534fee4abbd0bdeb6b9a
+SIZE (KDE/digikam/digiKam-8.8.0.tar.xz) = 61419860
SHA256 (KDE/digikam/weights_inceptionv3_299.pb) = 8923e3daff71c07533b9023ef32c69d8c058d1e0931d76d8b81241a201138538
SIZE (KDE/digikam/weights_inceptionv3_299.pb) = 88007527
+SHA256 (KDE/digikam/deep-image-orientation-angle-detection.onnx) = e9f9d20330977750bc941b5f820f80a07eef3b23bd8b2271d44d14488d8709b5
+SIZE (KDE/digikam/deep-image-orientation-angle-detection.onnx) = 345861567
SHA256 (KDE/digikam/classification_classes_ILSVRC2012.txt) = 4eb3da435cf544e4a6f390f62c84cb9c9bb68cf8b14e97f8a063452382e5efd2
SIZE (KDE/digikam/classification_classes_ILSVRC2012.txt) = 21675
SHA256 (KDE/digikam/coco.names) = 634a1132eb33f8091d60f2c346ababe8b905ae08387037aed883953b7329af84
@@ -13,6 +15,8 @@ SHA256 (KDE/digikam/yolo11n.onnx) = 82f23e3cdc299fb44317e8a4b2c1d4d67efd0acd5eb3
SIZE (KDE/digikam/yolo11n.onnx) = 10720316
SHA256 (KDE/digikam/yolo11x.onnx) = dd81d4d06a4c92a6e1066d024219efe5c4c1982566ddf6ce5c280ebd847f117a
SIZE (KDE/digikam/yolo11x.onnx) = 228016573
+SHA256 (KDE/digikam/dnntestimage.jpeg) = 158c039c7ae795340eea959bedde4a5d263a8add9e5bebca10b4a45bb7073a2b
+SIZE (KDE/digikam/dnntestimage.jpeg) = 52913
SHA256 (KDE/digikam/face_recognition_sface_2021dec.onnx) = 0ba9fbfa01b5270c96627c4ef784da859931e02f04419c829e83484087c34e79
SIZE (KDE/digikam/face_recognition_sface_2021dec.onnx) = 38696353
SHA256 (KDE/digikam/face_detection_yunet_2023mar.onnx) = 8f2383e4dd3cfbb4553ea8718107fc0423210dc964f9f4280604804ed2552fa4
diff --git a/graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp b/graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp
deleted file mode 100644
index 96bf42efa73f..000000000000
--- a/graphics/digikam/files/patch-core_libs_widgets_text_localizeselector.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-Fix build with Qt 6.9. QChar constructors no longer perform implicit
-conversions.
-
---- core/libs/widgets/text/localizeselector.cpp.orig 2025-03-15 14:01:45 UTC
-+++ core/libs/widgets/text/localizeselector.cpp
-@@ -326,7 +326,7 @@ bool s_inlineTranslateString(const QString& text, cons
- }
- else
- {
-- error = QChar(trengine->error());
-+ error = QChar(static_cast<int>(trengine->error()));
- }
-
- return false;
diff --git a/graphics/digikam/pkg-plist b/graphics/digikam/pkg-plist
index f2d0e31ce77c..b2473a48c89f 100644
--- a/graphics/digikam/pkg-plist
+++ b/graphics/digikam/pkg-plist
@@ -25,6 +25,7 @@ include/digikam/dcolorcomposer.h
include/digikam/dcolorpixelaccess.h
include/digikam/dcolorselector.h
include/digikam/dexpanderbox.h
+include/digikam/dfiledialog.h
include/digikam/dhistoryview.h
include/digikam/digikam_config.h
include/digikam/digikam_core_export.h
@@ -46,6 +47,9 @@ include/digikam/dinfointerface.h
include/digikam/ditemslist.h
include/digikam/ditemtooltip.h
include/digikam/dmessagebox.h
+include/digikam/dmetadata.h
+include/digikam/dmetadatasettings.h
+include/digikam/dmetadatasettingscontainer.h
include/digikam/dmetainfoiface.h
include/digikam/dplugin.h
include/digikam/dpluginaboutdlg.h
@@ -97,6 +101,8 @@ include/digikam/managedloadsavethread.h
include/digikam/metadatainfo.h
include/digikam/metaengine.h
include/digikam/metaengine_data.h
+include/digikam/metaenginesettings.h
+include/digikam/metaenginesettingscontainer.h
include/digikam/modelcompleter.h
include/digikam/photoinfocontainer.h
include/digikam/previewlayout.h
@@ -109,6 +115,7 @@ include/digikam/searchtextbar.h
include/digikam/statesavingobject.h
include/digikam/thumbnailinfo.h
include/digikam/thumbnailloadthread.h
+include/digikam/videoinfocontainer.h
include/digikam/wbcontainer.h
include/digikam/wsitem.h
include/digikam/wslogindialog.h
@@ -139,6 +146,7 @@ lib/libdigikamgui.so.%%SHLIB_VER%%
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_AssignTemplate_Plugin.so
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_Assigncaptions_Plugin.so
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_AutoCorrection_Plugin.so
+%%QT_PLUGINDIR%%/digikam/bqm/Bqm_AutoRotate_Plugin.so
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_BWconvert_Plugin.so
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_BcgCorrection_Plugin.so
%%QT_PLUGINDIR%%/digikam/bqm/Bqm_Blur_Plugin.so
@@ -197,6 +205,7 @@ lib/libdigikamgui.so.%%SHLIB_VER%%
%%QT_PLUGINDIR%%/digikam/editor/Editor_AutoCorrectionTool_Plugin.so
%%QT_PLUGINDIR%%/digikam/editor/Editor_AutoCropTool_Plugin.so
%%QT_PLUGINDIR%%/digikam/editor/Editor_BWSepiaTool_Plugin.so
+%%QT_PLUGINDIR%%/digikam/editor/Editor_BackgroundBlurTool_Plugin.so
%%QT_PLUGINDIR%%/digikam/editor/Editor_BcgTool_Plugin.so
%%QT_PLUGINDIR%%/digikam/editor/Editor_BlurFxTool_Plugin.so
%%QT_PLUGINDIR%%/digikam/editor/Editor_BlurTool_Plugin.so
@@ -298,8 +307,8 @@ share/applications/org.kde.showfoto.desktop
%%DATADIR%%/about/css/bootstrap-theme.min.css
%%DATADIR%%/about/css/bootstrap.min.css
%%DATADIR%%/about/css/digikam.css
-%%DATADIR%%/about/images/body-background.jpg
-%%DATADIR%%/about/images/top-left-digikam.png
+%%DATADIR%%/about/images/body-background.webp
+%%DATADIR%%/about/images/top-left-digikam.webp
%%DATADIR%%/about/js/bootstrap.min.js
%%DATADIR%%/about/js/digikam.js
%%DATADIR%%/about/js/jquery.min.js
@@ -314,89 +323,91 @@ share/applications/org.kde.showfoto.desktop
%%DATADIR%%/colorschemes/shadeofgray.colors
%%DATADIR%%/colorschemes/sunsetcolor.colors
%%DATADIR%%/colorschemes/whitebalance.colors
-%%DATADIR%%/data/assistant-enfuse.png
-%%DATADIR%%/data/assistant-hugin.png
-%%DATADIR%%/data/assistant-preprocessing.png
-%%DATADIR%%/data/assistant-stack.png
-%%DATADIR%%/data/assistant-tripod.png
-%%DATADIR%%/data/banner-digikam.png
-%%DATADIR%%/data/bluejean-texture.png
+%%DATADIR%%/data/assistant-enfuse.webp
+%%DATADIR%%/data/assistant-hugin.webp
+%%DATADIR%%/data/assistant-preprocessing.webp
+%%DATADIR%%/data/assistant-stack.webp
+%%DATADIR%%/data/assistant-tripod.webp
+%%DATADIR%%/data/banner-digikam.webp
+%%DATADIR%%/data/bluejean-texture.webp
%%DATADIR%%/data/bothhorz.png
%%DATADIR%%/data/bothvert.png
-%%DATADIR%%/data/bricks-texture.png
-%%DATADIR%%/data/bricks2-texture.png
-%%DATADIR%%/data/burlap-texture.png
-%%DATADIR%%/data/canvas-texture.png
-%%DATADIR%%/data/cellwood-texture.png
+%%DATADIR%%/data/bricks-texture.webp
+%%DATADIR%%/data/bricks2-texture.webp
+%%DATADIR%%/data/burlap-texture.webp
+%%DATADIR%%/data/canvas-texture.webp
+%%DATADIR%%/data/cellwood-texture.webp
%%DATADIR%%/data/centerheight.png
%%DATADIR%%/data/centerwidth.png
-%%DATADIR%%/data/chalk-pattern.png
+%%DATADIR%%/data/chalk-pattern.webp
%%DATADIR%%/data/colors-chromablue.png
%%DATADIR%%/data/colors-chromared.png
%%DATADIR%%/data/colors-luma.png
-%%DATADIR%%/data/craters-pattern.png
+%%DATADIR%%/data/craters-pattern.webp
%%DATADIR%%/data/curvefree.png
%%DATADIR%%/data/curvemooth.png
-%%DATADIR%%/data/dried-pattern.png
+%%DATADIR%%/data/dried-pattern.webp
%%DATADIR%%/data/duplicatebothhorz.png
%%DATADIR%%/data/duplicatebothvert.png
%%DATADIR%%/data/editimage.png
%%DATADIR%%/data/exifinfo.png
-%%DATADIR%%/data/fabric-texture.png
-%%DATADIR%%/data/granit-pattern.png
-%%DATADIR%%/data/ice-pattern.png
+%%DATADIR%%/data/fabric-texture.webp
+%%DATADIR%%/data/granit-pattern.webp
+%%DATADIR%%/data/ice-pattern.webp
%%DATADIR%%/data/image-full.png
%%DATADIR%%/data/image-selection.png
-%%DATADIR%%/data/leaf-pattern.png
-%%DATADIR%%/data/logo-beta.png
-%%DATADIR%%/data/logo-cimg.png
-%%DATADIR%%/data/logo-digikam.png
-%%DATADIR%%/data/logo-gphoto.png
-%%DATADIR%%/data/logo-lcms.png
-%%DATADIR%%/data/logo-piwigo.png
-%%DATADIR%%/data/lut3d/bleach.png
-%%DATADIR%%/data/lut3d/blue_crush.png
-%%DATADIR%%/data/lut3d/bw_contrast.png
-%%DATADIR%%/data/lut3d/instant.png
-%%DATADIR%%/data/lut3d/original.png
-%%DATADIR%%/data/lut3d/punch.png
-%%DATADIR%%/data/lut3d/summer.png
-%%DATADIR%%/data/lut3d/tokyo.png
-%%DATADIR%%/data/lut3d/vintage.png
-%%DATADIR%%/data/lut3d/washout.png
-%%DATADIR%%/data/lut3d/washout_color.png
-%%DATADIR%%/data/lut3d/x_process.png
-%%DATADIR%%/data/marble-pattern.png
-%%DATADIR%%/data/marble-texture.png
-%%DATADIR%%/data/marble2-texture.png
-%%DATADIR%%/data/metalwire-texture.png
-%%DATADIR%%/data/modern-texture.png
-%%DATADIR%%/data/moss-texture.png
+%%DATADIR%%/data/leaf-pattern.webp
+%%DATADIR%%/data/logo-beta.webp
+%%DATADIR%%/data/logo-cimg.webp
+%%DATADIR%%/data/logo-digikam.webp
+%%DATADIR%%/data/logo-gphoto.webp
+%%DATADIR%%/data/logo-lcms.webp
+%%DATADIR%%/data/logo-piwigo.webp
+%%DATADIR%%/data/lut3d/bleach.webp
+%%DATADIR%%/data/lut3d/blue_crush.webp
+%%DATADIR%%/data/lut3d/bw_contrast.webp
+%%DATADIR%%/data/lut3d/instant.webp
+%%DATADIR%%/data/lut3d/original.webp
+%%DATADIR%%/data/lut3d/punch.webp
+%%DATADIR%%/data/lut3d/summer.webp
+%%DATADIR%%/data/lut3d/tokyo.webp
+%%DATADIR%%/data/lut3d/vintage.webp
+%%DATADIR%%/data/lut3d/washout.webp
+%%DATADIR%%/data/lut3d/washout_color.webp
+%%DATADIR%%/data/lut3d/x_process.webp
+%%DATADIR%%/data/marble-pattern.webp
+%%DATADIR%%/data/marble-texture.webp
+%%DATADIR%%/data/marble2-texture.webp
+%%DATADIR%%/data/metalwire-texture.webp
+%%DATADIR%%/data/modern-texture.webp
+%%DATADIR%%/data/moss-texture.webp
%%DATADIR%%/data/original.png
-%%DATADIR%%/data/paper-pattern.png
-%%DATADIR%%/data/paper-texture.png
-%%DATADIR%%/data/paper2-texture.png
-%%DATADIR%%/data/parque-pattern.png
-%%DATADIR%%/data/pine-pattern.png
-%%DATADIR%%/data/pink-pattern.png
+%%DATADIR%%/data/paper-pattern.webp
+%%DATADIR%%/data/paper-texture.webp
+%%DATADIR%%/data/paper2-texture.webp
+%%DATADIR%%/data/parque-pattern.webp
+%%DATADIR%%/data/pine-pattern.webp
+%%DATADIR%%/data/pink-pattern.webp
%%DATADIR%%/data/process-working.png
-%%DATADIR%%/data/rain-pattern.png
-%%DATADIR%%/data/rock-pattern.png
-%%DATADIR%%/data/sample-aix.png
-%%DATADIR%%/data/splash-digikam.png
-%%DATADIR%%/data/stone-pattern.png
-%%DATADIR%%/data/stone-texture.png
+%%DATADIR%%/data/rain-pattern.webp
+%%DATADIR%%/data/rock-pattern.webp
+%%DATADIR%%/data/sample-aix.webp
+%%DATADIR%%/data/splash-digikam.webp
+%%DATADIR%%/data/stone-pattern.webp
+%%DATADIR%%/data/stone-texture.webp
%%DATADIR%%/data/target.png
%%DATADIR%%/data/togglemouseover.png
%%DATADIR%%/data/video-digikam.mp4
-%%DATADIR%%/data/wall-pattern.png
-%%DATADIR%%/data/wall-texture.png
-%%DATADIR%%/data/wood-pattern.png
+%%DATADIR%%/data/wall-pattern.webp
+%%DATADIR%%/data/wall-texture.webp
+%%DATADIR%%/data/wood-pattern.webp
%%DATADIR%%/database/dbconfig.xml
%%DATADIR%%/database/mysql-global.conf
%%DATADIR%%/dnnmodels/dnnmodels.conf
%%AUTOTAGS%%%%DATADIR%%/facesengine/classification_classes_ILSVRC2012.txt
%%AUTOTAGS%%%%DATADIR%%/facesengine/coco.names
+%%AITOOLS%%%%DATADIR%%/facesengine/deep-image-orientation-angle-detection.onnx
+%%FACEDETECT%%%%DATADIR%%/facesengine/dnntestimage.jpeg
%%AUTOTAGS%%%%DATADIR%%/facesengine/efficientnetb7.onnx
%%FACEDETECT%%%%DATADIR%%/facesengine/face_detection_yunet_2023mar.onnx
%%FACEDETECT%%%%DATADIR%%/facesengine/face_recognition_sface_2021dec.onnx
@@ -2051,7 +2062,7 @@ share/man/man1/cleanup_digikamdb.1.gz
share/man/man1/digitaglinktree.1.gz
share/metainfo/org.kde.digikam.appdata.xml
share/metainfo/org.kde.showfoto.appdata.xml
-share/showfoto/data/banner-showfoto.png
-share/showfoto/data/logo-showfoto.png
-share/showfoto/data/splash-showfoto.png
+share/showfoto/data/banner-showfoto.webp
+share/showfoto/data/logo-showfoto.webp
+share/showfoto/data/splash-showfoto.webp
share/solid/actions/digikam-opencamera.desktop
diff --git a/graphics/djview4/Makefile b/graphics/djview4/Makefile
index 128a1350e358..bf791afb2c93 100644
--- a/graphics/djview4/Makefile
+++ b/graphics/djview4/Makefile
@@ -4,7 +4,7 @@ PORTREVISION= 4
CATEGORIES= graphics
MASTER_SITES= SF/djvu/DjView/${PORTVERSION}
-MAINTAINER= nc@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Standalone Djvu viewer and plugin based on Qt toolkit
WWW= https://djvu.sourceforge.net/
diff --git a/graphics/drawio/Makefile b/graphics/drawio/Makefile
index 6df4bd569854..43e2f1c5604d 100644
--- a/graphics/drawio/Makefile
+++ b/graphics/drawio/Makefile
@@ -1,6 +1,6 @@
PORTNAME= drawio
-PORTVERSION= 26.2.15
-PORTREVISION= 9
+PORTVERSION= 28.0.6
+PORTREVISION= 14
DISTVERSIONPREFIX= x86_64-
CATEGORIES= graphics
MASTER_SITES= https://github.com/jgraph/drawio-desktop/releases/download/v${PORTVERSION}/
@@ -12,7 +12,7 @@ WWW= https://drawio.com/
LICENSE= APACHE20
-USES= desktop-file-utils electronfix:35 shared-mime-info
+USES= desktop-file-utils electronfix:37 shared-mime-info
NO_BUILD= yes
SUB_FILES= drawio
diff --git a/graphics/drawio/distinfo b/graphics/drawio/distinfo
index 9d6db3780cd2..4753d707483c 100644
--- a/graphics/drawio/distinfo
+++ b/graphics/drawio/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745920570
-SHA256 (drawio-x86_64-26.2.15.rpm) = 526d400ea422532a626049992ff790226dc584e2bb0a270051bde5dace8f54b8
-SIZE (drawio-x86_64-26.2.15.rpm) = 101266949
+TIMESTAMP = 1754379319
+SHA256 (drawio-x86_64-28.0.6.rpm) = 1bc0cd527cd5e21c58aa255a22f4c6bc9531d0b255654022b863c44d10cac121
+SIZE (drawio-x86_64-28.0.6.rpm) = 104528857
diff --git a/graphics/drawpile/Makefile b/graphics/drawpile/Makefile
index a1f43d6ecc00..8f29be27ba40 100644
--- a/graphics/drawpile/Makefile
+++ b/graphics/drawpile/Makefile
@@ -1,6 +1,5 @@
PORTNAME= Drawpile
-DISTVERSION= 2.2.2
-PORTREVISION= 3
+DISTVERSION= 2.3.0
CATEGORIES= graphics python
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/drawpile/distinfo b/graphics/drawpile/distinfo
index 6a110cb1c991..a0c975743275 100644
--- a/graphics/drawpile/distinfo
+++ b/graphics/drawpile/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1743054476
+TIMESTAMP = 1763956597
SHA256 (rust/crates/aho-corasick-1.0.5.crate) = 0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783
SIZE (rust/crates/aho-corasick-1.0.5.crate) = 172064
SHA256 (rust/crates/anyhow-1.0.75.crate) = a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6
@@ -15,5 +15,5 @@ SHA256 (rust/crates/xflags-0.3.1.crate) = c4554b580522d0ca238369c16b8f6ce34524d6
SIZE (rust/crates/xflags-0.3.1.crate) = 6642
SHA256 (rust/crates/xflags-macros-0.3.1.crate) = f58e7b3ca8977093aae6b87b6a7730216fc4c53a6530bab5c43a783cd810c1a8
SIZE (rust/crates/xflags-macros-0.3.1.crate) = 12229
-SHA256 (drawpile-Drawpile-2.2.2_GH0.tar.gz) = 159fc433b21ac3f82388a4b45853f2ed13fbb47b7dd57874bf4e41f44f801969
-SIZE (drawpile-Drawpile-2.2.2_GH0.tar.gz) = 6701513
+SHA256 (drawpile-Drawpile-2.3.0_GH0.tar.gz) = d09d3eef00b15004184700817d1b6620acc4cfd0738ad8977680c1e05bc2ea7d
+SIZE (drawpile-Drawpile-2.3.0_GH0.tar.gz) = 10842390
diff --git a/graphics/drawpile/files/patch-src_desktop_bundled_miniaudio_CMakeLists.txt b/graphics/drawpile/files/patch-src_desktop_bundled_miniaudio_CMakeLists.txt
new file mode 100644
index 000000000000..8c2714c2feb2
--- /dev/null
+++ b/graphics/drawpile/files/patch-src_desktop_bundled_miniaudio_CMakeLists.txt
@@ -0,0 +1,9 @@
+--- src/desktop/bundled/miniaudio/CMakeLists.txt.orig 2025-11-24 04:01:34 UTC
++++ src/desktop/bundled/miniaudio/CMakeLists.txt
+@@ -16,5 +16,5 @@ elseif(UNIX AND NOT ANDROID AND NOT HAIKU AND NOT EMSC
+ if(APPLE)
+ target_link_options(miniaudio PUBLIC -lpthread -lm)
+ elseif(UNIX AND NOT ANDROID AND NOT HAIKU AND NOT EMSCRIPTEN)
+- target_link_libraries(miniaudio PUBLIC -latomic -ldl -lpthread -lm)
++ target_link_libraries(miniaudio PUBLIC -ldl -lpthread -lm)
+ endif()
diff --git a/graphics/drawpile/files/patch-src_drawdance_libcommon_dpcommon_common.h b/graphics/drawpile/files/patch-src_drawdance_libcommon_dpcommon_common.h
index e3af366bed4b..567e627ad9a2 100644
--- a/graphics/drawpile/files/patch-src_drawdance_libcommon_dpcommon_common.h
+++ b/graphics/drawpile/files/patch-src_drawdance_libcommon_dpcommon_common.h
@@ -1,11 +1,11 @@
---- src/drawdance/libcommon/dpcommon/common.h.orig 2025-03-26 05:46:04 UTC
+--- src/drawdance/libcommon/dpcommon/common.h.orig 2025-11-18 11:26:42 UTC
+++ src/drawdance/libcommon/dpcommon/common.h
-@@ -41,6 +41,8 @@
+@@ -44,6 +44,8 @@
# define DP_PLATFORM "darwin"
# elif defined(__linux__)
# define DP_PLATFORM "linux"
+# elif defined(__FreeBSD__)
+# define DP_PLATFORM "freebsd"
+ # elif defined(__HAIKU__)
+ # define DP_PLATFORM "haiku"
# else
- # error "unknown platform"
- # endif
diff --git a/graphics/drawpile/files/patch-src_drawdance_libimpex_dpimpex_save.c b/graphics/drawpile/files/patch-src_drawdance_libimpex_dpimpex_save.c
index 4baa24981a90..f442829aeb4c 100644
--- a/graphics/drawpile/files/patch-src_drawdance_libimpex_dpimpex_save.c
+++ b/graphics/drawpile/files/patch-src_drawdance_libimpex_dpimpex_save.c
@@ -1,11 +1,11 @@
---- src/drawdance/libimpex/dpimpex/save.c.orig 2025-03-27 05:51:37 UTC
+--- src/drawdance/libimpex/dpimpex/save.c.orig 2025-11-18 11:26:42 UTC
+++ src/drawdance/libimpex/dpimpex/save.c
-@@ -884,7 +884,7 @@ DP_SaveResult DP_save(DP_CanvasState *cs, DP_DrawConte
+@@ -1123,7 +1123,7 @@ DP_SaveResult DP_save(DP_CanvasState *cs, DP_DrawConte
#if defined(_WIN32)
# define PREFERRED_PATH_SEPARATOR "\\"
# define POSSIBLE_PATH_SEPARATORS "\\/"
--#elif defined(__EMSCRIPTEN__) || defined(__APPLE__) || defined(__linux__)
-+#elif defined(__EMSCRIPTEN__) || defined(__APPLE__) || defined(__linux__) || defined(__FreeBSD__)
+-#elif defined(__EMSCRIPTEN__) || defined(__APPLE__) || defined(__linux__) \
++#elif defined(__EMSCRIPTEN__) || defined(__APPLE__) || defined(__linux__) || defined(__FreeBSD__) \
+ || defined(__HAIKU__)
# define PREFERRED_PATH_SEPARATOR "/"
# define POSSIBLE_PATH_SEPARATORS "/"
- #else
diff --git a/graphics/drawpile/pkg-plist b/graphics/drawpile/pkg-plist
index c4582ede4bb8..c4e6173e3d84 100644
--- a/graphics/drawpile/pkg-plist
+++ b/graphics/drawpile/pkg-plist
@@ -1,6 +1,7 @@
bin/drawpile
share/applications/net.drawpile.drawpile.desktop
share/drawpile/drawpile/blueapatite.colors
+share/drawpile/drawpile/brushes/0001-2_3_0.zpresets
share/drawpile/drawpile/gamutmasks/atmospherewithaccent.svg
share/drawpile/drawpile/gamutmasks/atmospherictriad.svg
share/drawpile/drawpile/gamutmasks/complementary.svg
@@ -11,9 +12,11 @@ share/drawpile/drawpile/gamutmasks/splitcomplementary.svg
share/drawpile/drawpile/gamutmasks/tetradic.svg
share/drawpile/drawpile/hotdogstand.colors
share/drawpile/drawpile/i18n/all_ar_EG.qm
+share/drawpile/drawpile/i18n/all_ca_ES.qm
share/drawpile/drawpile/i18n/all_cs_CZ.qm
share/drawpile/drawpile/i18n/all_de_DE.qm
share/drawpile/drawpile/i18n/all_en_US.qm
+share/drawpile/drawpile/i18n/all_eo_XZ.qm
share/drawpile/drawpile/i18n/all_es_CO.qm
share/drawpile/drawpile/i18n/all_fi_FI.qm
share/drawpile/drawpile/i18n/all_fr_FR.qm
@@ -90,25 +93,48 @@ share/drawpile/drawpile/theme/dark/draw-freehand.svg
share/drawpile/drawpile/theme/dark/draw-line.svg
share/drawpile/drawpile/theme/dark/draw-rectangle.svg
share/drawpile/drawpile/theme/dark/draw-text.svg
+share/drawpile/drawpile/theme/dark/drawpile_alpha_disabled.svg
+share/drawpile/drawpile/theme/dark/drawpile_alpha_locked.svg
+share/drawpile/drawpile/theme/dark/drawpile_alpha_off.svg
+share/drawpile/drawpile/theme/dark/drawpile_alpha_on.svg
+share/drawpile/drawpile/theme/dark/drawpile_alpha_unlocked.svg
+share/drawpile/drawpile/theme/dark/drawpile_antioverflow.svg
share/drawpile/drawpile/theme/dark/drawpile_ban.svg
share/drawpile/drawpile/theme/dark/drawpile_brusherase.svg
share/drawpile/drawpile/theme/dark/drawpile_brushlock.svg
share/drawpile/drawpile/theme/dark/drawpile_center.svg
share/drawpile/drawpile/theme/dark/drawpile_chat.svg
+share/drawpile/drawpile/theme/dark/drawpile_chat_send.svg
+share/drawpile/drawpile/theme/dark/drawpile_close.svg
share/drawpile/drawpile/theme/dark/drawpile_colorcircle.svg
share/drawpile/drawpile/theme/dark/drawpile_colorpalette.svg
share/drawpile/drawpile/theme/dark/drawpile_colorsliders.svg
share/drawpile/drawpile/theme/dark/drawpile_colorwheel.svg
+share/drawpile/drawpile/theme/dark/drawpile_crop.svg
+share/drawpile/drawpile/theme/dark/drawpile_ellipsis_vertical.svg
share/drawpile/drawpile/theme/dark/drawpile_expanddown.svg
share/drawpile/drawpile/theme/dark/drawpile_expandleft.svg
share/drawpile/drawpile/theme/dark/drawpile_expandright.svg
share/drawpile/drawpile/theme/dark/drawpile_expandup.svg
share/drawpile/drawpile/theme/dark/drawpile_flip.svg
+share/drawpile/drawpile/theme/dark/drawpile_folder_alpha_off.svg
+share/drawpile/drawpile/theme/dark/drawpile_folder_alpha_on.svg
share/drawpile/drawpile/theme/dark/drawpile_folderhidden.svg
+share/drawpile/drawpile/theme/dark/drawpile_gradient.svg
+share/drawpile/drawpile/theme/dark/drawpile_gradientalphatofg.svg
+share/drawpile/drawpile/theme/dark/drawpile_gradientbgtofg.svg
+share/drawpile/drawpile/theme/dark/drawpile_gradientfgtoalpha.svg
+share/drawpile/drawpile/theme/dark/drawpile_gradientfgtobg.svg
share/drawpile/drawpile/theme/dark/drawpile_incremental_mode.svg
+share/drawpile/drawpile/theme/dark/drawpile_indirect_mode.svg
+share/drawpile/drawpile/theme/dark/drawpile_lassofill.svg
+share/drawpile/drawpile/theme/dark/drawpile_layer_alpha_off.svg
+share/drawpile/drawpile/theme/dark/drawpile_layer_alpha_on.svg
+share/drawpile/drawpile/theme/dark/drawpile_layeralpha_on.svg
share/drawpile/drawpile/theme/dark/drawpile_magicwand.svg
share/drawpile/drawpile/theme/dark/drawpile_mirror.svg
share/drawpile/drawpile/theme/dark/drawpile_mypaint.svg
+share/drawpile/drawpile/theme/dark/drawpile_pixelperfect.svg
share/drawpile/drawpile/theme/dark/drawpile_pixelround.svg
share/drawpile/drawpile/theme/dark/drawpile_presetchanged.svg
share/drawpile/drawpile/theme/dark/drawpile_rotate_left.svg
@@ -119,8 +145,10 @@ share/drawpile/drawpile/theme/dark/drawpile_selection_exclude.svg
share/drawpile/drawpile/theme/dark/drawpile_selection_intersect.svg
share/drawpile/drawpile/theme/dark/drawpile_selection_replace.svg
share/drawpile/drawpile/theme/dark/drawpile_selection_unite.svg
+share/drawpile/drawpile/theme/dark/drawpile_soft_mode.svg
share/drawpile/drawpile/theme/dark/drawpile_square.svg
share/drawpile/drawpile/theme/dark/drawpile_transform.svg
+share/drawpile/drawpile/theme/dark/drawpile_wash_mode.svg
share/drawpile/drawpile/theme/dark/edit-comment.svg
share/drawpile/drawpile/theme/dark/edit-copy.svg
share/drawpile/drawpile/theme/dark/edit-cut.svg
@@ -173,11 +201,13 @@ share/drawpile/drawpile/theme/dark/im-kick-user.svg
share/drawpile/drawpile/theme/dark/im-user.svg
share/drawpile/drawpile/theme/dark/index.theme
share/drawpile/drawpile/theme/dark/input-keyboard.svg
+share/drawpile/drawpile/theme/dark/input-mouse.svg
share/drawpile/drawpile/theme/dark/input-tablet.svg
share/drawpile/drawpile/theme/dark/input-touchscreen.svg
share/drawpile/drawpile/theme/dark/insert-math-expression.svg
share/drawpile/drawpile/theme/dark/irc-operator.svg
share/drawpile/drawpile/theme/dark/irc-unvoice.svg
+share/drawpile/drawpile/theme/dark/kdenlive-show-video.svg
share/drawpile/drawpile/theme/dark/keyframe-add.svg
share/drawpile/drawpile/theme/dark/keyframe-disable.svg
share/drawpile/drawpile/theme/dark/keyframe-next.svg
@@ -203,7 +233,9 @@ share/drawpile/drawpile/theme/dark/network-disconnect.svg
share/drawpile/drawpile/theme/dark/network-modem.svg
share/drawpile/drawpile/theme/dark/network-server-database.svg
share/drawpile/drawpile/theme/dark/network-server.svg
+share/drawpile/drawpile/theme/dark/news-subscribe.svg
share/drawpile/drawpile/theme/dark/object-locked.svg
+share/drawpile/drawpile/theme/dark/object-unlocked.svg
share/drawpile/drawpile/theme/dark/onion-off.svg
share/drawpile/drawpile/theme/dark/onion-on.svg
share/drawpile/drawpile/theme/dark/pathshape.svg
@@ -214,10 +246,13 @@ share/drawpile/drawpile/theme/dark/select-rectangular.svg
share/drawpile/drawpile/theme/dark/sidebar-collapse-left.svg
share/drawpile/drawpile/theme/dark/sidebar-expand-left.svg
share/drawpile/drawpile/theme/dark/state-error.svg
+share/drawpile/drawpile/theme/dark/state-offline.svg
share/drawpile/drawpile/theme/dark/state-ok.svg
share/drawpile/drawpile/theme/dark/state-warning.svg
share/drawpile/drawpile/theme/dark/tag-delete.svg
share/drawpile/drawpile/theme/dark/tag.svg
+share/drawpile/drawpile/theme/dark/timeline-use-zone-off.svg
+share/drawpile/drawpile/theme/dark/timeline-use-zone-on.svg
share/drawpile/drawpile/theme/dark/toolbar-ext-h-drawpile.svg
share/drawpile/drawpile/theme/dark/toolbar-ext-h-rtl-drawpile.svg
share/drawpile/drawpile/theme/dark/toolbar-ext-v-drawpile.svg
@@ -271,25 +306,48 @@ share/drawpile/drawpile/theme/light/draw-freehand.svg
share/drawpile/drawpile/theme/light/draw-line.svg
share/drawpile/drawpile/theme/light/draw-rectangle.svg
share/drawpile/drawpile/theme/light/draw-text.svg
+share/drawpile/drawpile/theme/light/drawpile_alpha_disabled.svg
+share/drawpile/drawpile/theme/light/drawpile_alpha_locked.svg
+share/drawpile/drawpile/theme/light/drawpile_alpha_off.svg
+share/drawpile/drawpile/theme/light/drawpile_alpha_on.svg
+share/drawpile/drawpile/theme/light/drawpile_alpha_unlocked.svg
+share/drawpile/drawpile/theme/light/drawpile_antioverflow.svg
share/drawpile/drawpile/theme/light/drawpile_ban.svg
share/drawpile/drawpile/theme/light/drawpile_brusherase.svg
share/drawpile/drawpile/theme/light/drawpile_brushlock.svg
share/drawpile/drawpile/theme/light/drawpile_center.svg
share/drawpile/drawpile/theme/light/drawpile_chat.svg
+share/drawpile/drawpile/theme/light/drawpile_chat_send.svg
+share/drawpile/drawpile/theme/light/drawpile_close.svg
share/drawpile/drawpile/theme/light/drawpile_colorcircle.svg
share/drawpile/drawpile/theme/light/drawpile_colorpalette.svg
share/drawpile/drawpile/theme/light/drawpile_colorsliders.svg
share/drawpile/drawpile/theme/light/drawpile_colorwheel.svg
+share/drawpile/drawpile/theme/light/drawpile_crop.svg
+share/drawpile/drawpile/theme/light/drawpile_ellipsis_vertical.svg
share/drawpile/drawpile/theme/light/drawpile_expanddown.svg
share/drawpile/drawpile/theme/light/drawpile_expandleft.svg
share/drawpile/drawpile/theme/light/drawpile_expandright.svg
share/drawpile/drawpile/theme/light/drawpile_expandup.svg
share/drawpile/drawpile/theme/light/drawpile_flip.svg
+share/drawpile/drawpile/theme/light/drawpile_folder_alpha_off.svg
+share/drawpile/drawpile/theme/light/drawpile_folder_alpha_on
+share/drawpile/drawpile/theme/light/drawpile_folder_alpha_on.svg
share/drawpile/drawpile/theme/light/drawpile_folderhidden.svg
+share/drawpile/drawpile/theme/light/drawpile_gradient.svg
+share/drawpile/drawpile/theme/light/drawpile_gradientalphatofg.svg
+share/drawpile/drawpile/theme/light/drawpile_gradientbgtofg.svg
+share/drawpile/drawpile/theme/light/drawpile_gradientfgtoalpha.svg
+share/drawpile/drawpile/theme/light/drawpile_gradientfgtobg.svg
share/drawpile/drawpile/theme/light/drawpile_incremental_mode.svg
+share/drawpile/drawpile/theme/light/drawpile_indirect_mode.svg
+share/drawpile/drawpile/theme/light/drawpile_lassofill.svg
+share/drawpile/drawpile/theme/light/drawpile_layer_alpha_off.svg
+share/drawpile/drawpile/theme/light/drawpile_layer_alpha_on.svg
share/drawpile/drawpile/theme/light/drawpile_magicwand.svg
share/drawpile/drawpile/theme/light/drawpile_mirror.svg
share/drawpile/drawpile/theme/light/drawpile_mypaint.svg
+share/drawpile/drawpile/theme/light/drawpile_pixelperfect.svg
share/drawpile/drawpile/theme/light/drawpile_pixelround.svg
share/drawpile/drawpile/theme/light/drawpile_presetchanged.svg
share/drawpile/drawpile/theme/light/drawpile_rotate_left.svg
@@ -300,8 +358,10 @@ share/drawpile/drawpile/theme/light/drawpile_selection_exclude.svg
share/drawpile/drawpile/theme/light/drawpile_selection_intersect.svg
share/drawpile/drawpile/theme/light/drawpile_selection_replace.svg
share/drawpile/drawpile/theme/light/drawpile_selection_unite.svg
+share/drawpile/drawpile/theme/light/drawpile_soft_mode.svg
share/drawpile/drawpile/theme/light/drawpile_square.svg
share/drawpile/drawpile/theme/light/drawpile_transform.svg
+share/drawpile/drawpile/theme/light/drawpile_wash_mode.svg
share/drawpile/drawpile/theme/light/edit-comment.svg
share/drawpile/drawpile/theme/light/edit-copy.svg
share/drawpile/drawpile/theme/light/edit-cut.svg
@@ -354,11 +414,13 @@ share/drawpile/drawpile/theme/light/im-kick-user.svg
share/drawpile/drawpile/theme/light/im-user.svg
share/drawpile/drawpile/theme/light/index.theme
share/drawpile/drawpile/theme/light/input-keyboard.svg
+share/drawpile/drawpile/theme/light/input-mouse.svg
share/drawpile/drawpile/theme/light/input-tablet.svg
share/drawpile/drawpile/theme/light/input-touchscreen.svg
share/drawpile/drawpile/theme/light/insert-math-expression.svg
share/drawpile/drawpile/theme/light/irc-operator.svg
share/drawpile/drawpile/theme/light/irc-unvoice.svg
+share/drawpile/drawpile/theme/light/kdenlive-show-video.svg
share/drawpile/drawpile/theme/light/keyframe-add.svg
share/drawpile/drawpile/theme/light/keyframe-disable.svg
share/drawpile/drawpile/theme/light/keyframe-next.svg
@@ -384,7 +446,9 @@ share/drawpile/drawpile/theme/light/network-disconnect.svg
share/drawpile/drawpile/theme/light/network-modem.svg
share/drawpile/drawpile/theme/light/network-server-database.svg
share/drawpile/drawpile/theme/light/network-server.svg
+share/drawpile/drawpile/theme/light/news-subscribe.svg
share/drawpile/drawpile/theme/light/object-locked.svg
+share/drawpile/drawpile/theme/light/object-unlocked.svg
share/drawpile/drawpile/theme/light/onion-off.svg
share/drawpile/drawpile/theme/light/onion-on.svg
share/drawpile/drawpile/theme/light/pathshape.svg
@@ -395,10 +459,13 @@ share/drawpile/drawpile/theme/light/select-rectangular.svg
share/drawpile/drawpile/theme/light/sidebar-collapse-left.svg
share/drawpile/drawpile/theme/light/sidebar-expand-left.svg
share/drawpile/drawpile/theme/light/state-error.svg
+share/drawpile/drawpile/theme/light/state-offline.svg
share/drawpile/drawpile/theme/light/state-ok.svg
share/drawpile/drawpile/theme/light/state-warning.svg
share/drawpile/drawpile/theme/light/tag-delete.svg
share/drawpile/drawpile/theme/light/tag.svg
+share/drawpile/drawpile/theme/light/timeline-use-zone-off.svg
+share/drawpile/drawpile/theme/light/timeline-use-zone-on.svg
share/drawpile/drawpile/theme/light/toolbar-ext-h-drawpile.svg
share/drawpile/drawpile/theme/light/toolbar-ext-h-rtl-drawpile.svg
share/drawpile/drawpile/theme/light/toolbar-ext-v-drawpile.svg
@@ -428,5 +495,6 @@ share/icons/hicolor/scalable/apps/drawpile.svg
share/icons/hicolor/scalable/mimetypes/application-vnd.drawpile.recording.svg
share/icons/hicolor/scalable/mimetypes/text-vnd.drawpile.recording.svg
share/metainfo/net.drawpile.drawpile.appdata.xml
+share/mime/application/vnd.drawpile.canvas.xml
share/mime/application/vnd.drawpile.recording.xml
share/mime/text/vnd.drawpile.recording.xml
diff --git a/graphics/drm-510-kmod/Makefile b/graphics/drm-510-kmod/Makefile
index 02d22f80cfea..d6cd2dcd56ec 100644
--- a/graphics/drm-510-kmod/Makefile
+++ b/graphics/drm-510-kmod/Makefile
@@ -1,12 +1,12 @@
PORTNAME= drm-510-kmod
PORTVERSION= ${DRM_KMOD_DISTVERSION}
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= graphics kld
.include "Makefile.version"
MAINTAINER= x11@FreeBSD.org
-COMMENT= DRM drivers modules
+COMMENT= Direct Rendering Manager GPU drivers
WWW= https://github.com/freebsd/drm-kmod/
LICENSE= BSD2CLAUSE MIT GPLv2
diff --git a/graphics/drm-510-kmod/Makefile.version b/graphics/drm-510-kmod/Makefile.version
index e28b86fb673b..238f08477281 100644
--- a/graphics/drm-510-kmod/Makefile.version
+++ b/graphics/drm-510-kmod/Makefile.version
@@ -2,4 +2,4 @@
#
# This will be included from consumers such as nvidia-drm
DRM_KMOD_DISTVERSION= 5.10.163
-DRM_KMOD_GH_TAGNAME= drm_v5.10.163_8
+DRM_KMOD_GH_TAGNAME= drm_v5.10.163_9
diff --git a/graphics/drm-510-kmod/distinfo b/graphics/drm-510-kmod/distinfo
index 4d4337c25f9f..b651bb2b2a9c 100644
--- a/graphics/drm-510-kmod/distinfo
+++ b/graphics/drm-510-kmod/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750505062
-SHA256 (freebsd-drm-kmod-5.10.163-drm_v5.10.163_8_GH0.tar.gz) = ea6b04c4bbd859248aabb81bc2abc19f33d68f57decf2e41dd8f5341124227d4
-SIZE (freebsd-drm-kmod-5.10.163-drm_v5.10.163_8_GH0.tar.gz) = 20095720
+TIMESTAMP = 1760982866
+SHA256 (freebsd-drm-kmod-5.10.163-drm_v5.10.163_9_GH0.tar.gz) = e4e77f5907418bd5e4be12c26d77fd176f51b82fe8a074b1237cde58be5ce385
+SIZE (freebsd-drm-kmod-5.10.163-drm_v5.10.163_9_GH0.tar.gz) = 20095205
diff --git a/graphics/drm-515-kmod/Makefile b/graphics/drm-515-kmod/Makefile
index 1f7940ea262b..47eb4b4aa210 100644
--- a/graphics/drm-515-kmod/Makefile
+++ b/graphics/drm-515-kmod/Makefile
@@ -1,12 +1,12 @@
PORTNAME= drm-515-kmod
PORTVERSION= ${DRM_KMOD_DISTVERSION}
-PORTREVISION= 6
+PORTREVISION= 8
CATEGORIES= graphics kld
.include "Makefile.version"
MAINTAINER= x11@FreeBSD.org
-COMMENT= DRM drivers modules
+COMMENT= Direct Rendering Manager GPU drivers
WWW= https://github.com/freebsd/drm-kmod/
LICENSE= BSD2CLAUSE MIT GPLv2
@@ -31,13 +31,18 @@ GH_TAGNAME= ${DRM_KMOD_GH_TAGNAME}
SUB_FILES= pkg-message
SUB_LIST= OPSYS=${OPSYS} OSREL=${OSREL}
-.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1400081
-IGNORE= not supported on older than 14.0, no kernel support
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1600000
+IGNORE= not supported on FreeBSD 16.0 and higher
.endif
.if ${OPSYS} != FreeBSD
IGNORE= not supported on anything but FreeBSD (missing linuxkpi functionality)
.endif
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1500065
+# LinuxKPI PCI changes. We cannot apply them to drm-kmod yet as it would break 14.x.
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-linuxkpi-pci
+.endif
+
.if ${ARCH} == "amd64"
PLIST_SUB+= AMDGPU=""
PLIST_SUB+= I915=""
diff --git a/graphics/drm-515-kmod/Makefile.version b/graphics/drm-515-kmod/Makefile.version
index e14d70600da8..db97049c4ab1 100644
--- a/graphics/drm-515-kmod/Makefile.version
+++ b/graphics/drm-515-kmod/Makefile.version
@@ -2,4 +2,4 @@
#
# This will be included from consumers such as nvidia-drm
DRM_KMOD_DISTVERSION= 5.15.160
-DRM_KMOD_GH_TAGNAME= drm_v5.15.160_5
+DRM_KMOD_GH_TAGNAME= drm_v5.15.160_6
diff --git a/graphics/drm-515-kmod/distinfo b/graphics/drm-515-kmod/distinfo
index 649d5a270e8b..c61f5441c75e 100644
--- a/graphics/drm-515-kmod/distinfo
+++ b/graphics/drm-515-kmod/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750400500
-SHA256 (freebsd-drm-kmod-5.15.160-drm_v5.15.160_5_GH0.tar.gz) = 93fc30211374d028ec8e24872cc5ac03dab13309b637cf3bdad27f2dcb808fc0
-SIZE (freebsd-drm-kmod-5.15.160-drm_v5.15.160_5_GH0.tar.gz) = 26098570
+TIMESTAMP = 1760982913
+SHA256 (freebsd-drm-kmod-5.15.160-drm_v5.15.160_6_GH0.tar.gz) = e21962b06c5c4740a165fbb36a1c15107a4c6ccba50ca08df4fb1c9368645ce6
+SIZE (freebsd-drm-kmod-5.15.160-drm_v5.15.160_6_GH0.tar.gz) = 26099109
diff --git a/graphics/drm-515-kmod/files/extra-patch-linuxkpi-pci b/graphics/drm-515-kmod/files/extra-patch-linuxkpi-pci
new file mode 100644
index 000000000000..220f7c3f8e9d
--- /dev/null
+++ b/graphics/drm-515-kmod/files/extra-patch-linuxkpi-pci
@@ -0,0 +1,102 @@
+commit 20829888caf411a4ac5a4349cbb013334e0b31de
+Author: Bjoern A. Zeeb <bz@FreeBSD.org>
+AuthorDate: Thu Jul 31 07:31:38 2025 +0000
+Commit: Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr>
+CommitDate: Sat Aug 9 16:13:12 2025 +0200
+
+ drm: use LinuxKPI PCI functions rather than bsd native
+
+ LinuxKPI seems to provide everything needed here, which allows
+ us to remove the special casing for FreeBSD.
+ Switch from bsddev and FreeBSD native functions to LinuxKPI
+ variables and functions/macros; this will avoid conflicts with
+ upcoming additions to LinuxKPI.
+
+ Sponsored by: The FreeBSD Foundation
+
+diff --git drivers/gpu/drm/drm_pci.c drivers/gpu/drm/drm_pci.c
+index b7fcd9ea0b..2798d55a48 100644
+--- drivers/gpu/drm/drm_pci.c
++++ drivers/gpu/drm/drm_pci.c
+@@ -57,30 +57,18 @@ static int drm_get_pci_domain(struct drm_device *dev)
+ return 0;
+ #endif /* __alpha__ */
+
+-#ifdef __FreeBSD__
+- return pci_get_domain(dev->dev->bsddev);
+-#else
+ return pci_domain_nr(to_pci_dev(dev->dev)->bus);
+-#endif
+ }
+
+ int drm_pci_set_busid(struct drm_device *dev, struct drm_master *master)
+ {
+ struct pci_dev *pdev = to_pci_dev(dev->dev);
+
+-#ifdef __FreeBSD__
+- master->unique = kasprintf(GFP_KERNEL, "pci:%04x:%02x:%02x.%d",
+- drm_get_pci_domain(dev),
+- pci_get_bus(dev->dev->bsddev),
+- pci_get_slot(dev->dev->bsddev),
+- PCI_FUNC(pdev->devfn));
+-#else
+ master->unique = kasprintf(GFP_KERNEL, "pci:%04x:%02x:%02x.%d",
+ drm_get_pci_domain(dev),
+ pdev->bus->number,
+ PCI_SLOT(pdev->devfn),
+ PCI_FUNC(pdev->devfn));
+-#endif
+ if (!master->unique)
+ return -ENOMEM;
+
+@@ -93,16 +81,17 @@ int
+ drm_getpciinfo(struct drm_device *dev, void *data, struct drm_file *file_priv)
+ {
+ struct drm_pciinfo *info = data;
++ struct pci_dev *pdev = to_pci_dev(dev->dev);
+
+- info->domain = pci_get_domain(dev->dev->bsddev);
+- info->bus = pci_get_bus(dev->dev->bsddev);
+- info->dev = pci_get_slot(dev->dev->bsddev);
+- info->func = pci_get_function(dev->dev->bsddev);
+- info->vendor_id = pci_get_vendor(dev->dev->bsddev);
+- info->device_id = pci_get_device(dev->dev->bsddev);
+- info->subvendor_id = pci_get_subvendor(dev->dev->bsddev);
+- info->subdevice_id = pci_get_subdevice(dev->dev->bsddev);
+- info->revision_id = pci_get_revid(dev->dev->bsddev);
++ info->domain = drm_get_pci_domain(dev);
++ info->bus = pdev->bus->number;
++ info->dev = PCI_SLOT(pdev->devfn);
++ info->func = PCI_FUNC(pdev->devfn);
++ info->vendor_id = pdev->vendor;
++ info->device_id = pdev->device;
++ info->subvendor_id = pdev->subsystem_vendor;
++ info->subdevice_id = pdev->subsystem_device;
++ info->revision_id = pdev->revision;
+
+ return 0;
+ }
+diff --git drivers/gpu/drm/drm_sysctl_freebsd.c drivers/gpu/drm/drm_sysctl_freebsd.c
+index b6dd16b5b5..b9eca7a53c 100644
+--- drivers/gpu/drm/drm_sysctl_freebsd.c
++++ drivers/gpu/drm/drm_sysctl_freebsd.c
+@@ -170,14 +170,13 @@ drm_add_busid_modesetting(struct drm_device *dev, struct sysctl_ctx_list *ctx,
+ struct sysctl_oid *top)
+ {
+ struct sysctl_oid *oid;
+- device_t bsddev;
+ int domain, bus, slot, func;
++ struct pci_dev *pdev = to_pci_dev(dev->dev);
+
+- bsddev = dev->dev->bsddev;
+- domain = pci_get_domain(bsddev);
+- bus = pci_get_bus(bsddev);
+- slot = pci_get_slot(bsddev);
+- func = pci_get_function(bsddev);
++ domain = pci_domain_nr(pdev->bus);
++ bus = pdev->bus->number;
++ slot = PCI_SLOT(pdev->devfn);
++ func = PCI_FUNC(pdev->devfn);
+
+ snprintf(dev->busid_str, sizeof(dev->busid_str),
+ "pci:%04x:%02x:%02x.%d", domain, bus, slot, func);
diff --git a/graphics/drm-61-kmod/Makefile b/graphics/drm-61-kmod/Makefile
index 5c289bf8e9d8..26bc501b55bb 100644
--- a/graphics/drm-61-kmod/Makefile
+++ b/graphics/drm-61-kmod/Makefile
@@ -1,12 +1,12 @@
PORTNAME= drm-61-kmod
PORTVERSION= ${DRM_KMOD_DISTVERSION}
-PORTREVISION= 5
+PORTREVISION= 8
CATEGORIES= graphics kld
.include "Makefile.version"
MAINTAINER= x11@FreeBSD.org
-COMMENT= DRM drivers modules
+COMMENT= Direct Rendering Manager GPU drivers
WWW= https://github.com/freebsd/drm-kmod/
LICENSE= BSD2CLAUSE MIT GPLv2
diff --git a/graphics/drm-61-kmod/Makefile.version b/graphics/drm-61-kmod/Makefile.version
index 2e456304c3fc..18876fe7d77e 100644
--- a/graphics/drm-61-kmod/Makefile.version
+++ b/graphics/drm-61-kmod/Makefile.version
@@ -2,4 +2,4 @@
#
# This will be included from consumers such as nvidia-drm
DRM_KMOD_DISTVERSION= 6.1.128
-DRM_KMOD_GH_TAGNAME= drm_v6.1.128_4
+DRM_KMOD_GH_TAGNAME= drm_v6.1.128_7
diff --git a/graphics/drm-61-kmod/distinfo b/graphics/drm-61-kmod/distinfo
index 58a2c695559c..604c6a966715 100644
--- a/graphics/drm-61-kmod/distinfo
+++ b/graphics/drm-61-kmod/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750400606
-SHA256 (freebsd-drm-kmod-6.1.128-drm_v6.1.128_4_GH0.tar.gz) = ef5ee435493351a4d123f53b503c018a5195604ad4954a052d40f103643de39d
-SIZE (freebsd-drm-kmod-6.1.128-drm_v6.1.128_4_GH0.tar.gz) = 37105937
+TIMESTAMP = 1765462710
+SHA256 (freebsd-drm-kmod-6.1.128-drm_v6.1.128_7_GH0.tar.gz) = d4eb440e982ceef08888dafa1aeb2bd046b3b53026ee526eb7d8f7f52bc988f1
+SIZE (freebsd-drm-kmod-6.1.128-drm_v6.1.128_7_GH0.tar.gz) = 37104632
diff --git a/graphics/drm-66-kmod/Makefile b/graphics/drm-66-kmod/Makefile
index 7096ca1c9ff5..db1e64b0f5ea 100644
--- a/graphics/drm-66-kmod/Makefile
+++ b/graphics/drm-66-kmod/Makefile
@@ -1,12 +1,12 @@
PORTNAME= drm-66-kmod
PORTVERSION= ${DRM_KMOD_DISTVERSION}
-PORTREVISION= 4
+PORTREVISION= 8
CATEGORIES= graphics kld
.include "Makefile.version"
MAINTAINER= x11@FreeBSD.org
-COMMENT= DRM drivers modules
+COMMENT= Direct Rendering Manager GPU drivers
WWW= https://github.com/freebsd/drm-kmod/
LICENSE= BSD2CLAUSE MIT GPLv2
diff --git a/graphics/drm-66-kmod/Makefile.version b/graphics/drm-66-kmod/Makefile.version
index a00310dcbc92..d08c25a622a0 100644
--- a/graphics/drm-66-kmod/Makefile.version
+++ b/graphics/drm-66-kmod/Makefile.version
@@ -2,4 +2,4 @@
#
# This will be included from consumers such as nvidia-drm
DRM_KMOD_DISTVERSION= 6.6.25
-DRM_KMOD_GH_TAGNAME= drm_v6.6.25_5
+DRM_KMOD_GH_TAGNAME= drm_v6.6.25_9
diff --git a/graphics/drm-66-kmod/distinfo b/graphics/drm-66-kmod/distinfo
index fab7bb832a01..cc162c27aab7 100644
--- a/graphics/drm-66-kmod/distinfo
+++ b/graphics/drm-66-kmod/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750400677
-SHA256 (freebsd-drm-kmod-6.6.25-drm_v6.6.25_5_GH0.tar.gz) = 412fe7b8db00ce7ed6339fa3099f9b17fe78b115ccb05a8714228ce70c9d0882
-SIZE (freebsd-drm-kmod-6.6.25-drm_v6.6.25_5_GH0.tar.gz) = 38486809
+TIMESTAMP = 1765465156
+SHA256 (freebsd-drm-kmod-6.6.25-drm_v6.6.25_9_GH0.tar.gz) = 14e90e4cc9ed5e72f6036f01987a20e2918026502d3116e97ffa4156514a13bb
+SIZE (freebsd-drm-kmod-6.6.25-drm_v6.6.25_9_GH0.tar.gz) = 38488554
diff --git a/graphics/drm-kmod/Makefile b/graphics/drm-kmod/Makefile
index a538e9c71ff2..1b23b0ceae03 100644
--- a/graphics/drm-kmod/Makefile
+++ b/graphics/drm-kmod/Makefile
@@ -3,7 +3,7 @@ PORTVERSION= 20250428
CATEGORIES= graphics
MAINTAINER= x11@FreeBSD.org
-COMMENT= Metaport of DRM modules for the linuxkpi-based KMS components
+COMMENT= Direct Rendering Manager GPU drivers metaport
WWW= https://github.com/freebsd/drm-kmod
USES= metaport
diff --git a/graphics/drm-latest-kmod/Makefile b/graphics/drm-latest-kmod/Makefile
new file mode 100644
index 000000000000..54e1b4c9ae2f
--- /dev/null
+++ b/graphics/drm-latest-kmod/Makefile
@@ -0,0 +1,61 @@
+PORTNAME= drm-latest-kmod
+PORTVERSION= ${DRM_KMOD_DISTVERSION}
+PORTREVISION= 1
+CATEGORIES= graphics kld
+
+.include "Makefile.version"
+
+MAINTAINER= x11@FreeBSD.org
+COMMENT= DRM drivers modules
+WWW= https://github.com/freebsd/drm-kmod/
+
+LICENSE= BSD2CLAUSE MIT GPLv2
+LICENSE_COMB= multi
+
+ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS_REASON= the new KMS components are only supported on amd64
+
+CONFLICTS_INSTALL= drm-510-kmod \
+ drm-515-kmod \
+ drm-61-kmod
+
+USES= kmod uidfix compiler:c++11-lang
+
+USE_GITHUB= yes
+GH_ACCOUNT= freebsd
+GH_PROJECT= drm-kmod
+GH_TAGNAME= ${DRM_KMOD_GH_TAGNAME}
+
+.include <bsd.port.options.mk>
+
+SUB_FILES= pkg-message
+SUB_LIST= PORTNAME=${PORTNAME} OPSYS=${OPSYS} OSREL=${OSREL}
+
+.if ${OPSYS} == FreeBSD && !( ${OSVERSION} >= 1500058 )
+IGNORE= not supported on older than 1500058, no kernel support
+.endif
+.if ${OPSYS} != FreeBSD
+IGNORE= not supported on anything but FreeBSD (missing linuxkpi functionality)
+.endif
+
+.if ${ARCH} == "amd64"
+PLIST_SUB+= AMDGPU=""
+PLIST_SUB+= I915=""
+.elif ${ARCH} == "i386"
+PLIST_SUB+= AMDGPU="@comment "
+PLIST_SUB+= I915=""
+.elif ${ARCH} == "aarch64" || ${ARCH:Mpowerpc*}
+PLIST_SUB+= AMDGPU=""
+PLIST_SUB+= I915="@comment "
+.else
+PLIST_SUB+= AMDGPU="@comment "
+PLIST_SUB+= I915="@comment "
+.endif
+
+MAKE_ENV+= MAKEOBJDIRPREFIX=${WRKSRC}/obj
+
+pre-build:
+ ${MKDIR} ${WRKSRC}/obj
+ (cd ${WRKSRC} ; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} obj)
+
+.include <bsd.port.mk>
diff --git a/graphics/drm-latest-kmod/Makefile.version b/graphics/drm-latest-kmod/Makefile.version
new file mode 100644
index 000000000000..5fa7d0963110
--- /dev/null
+++ b/graphics/drm-latest-kmod/Makefile.version
@@ -0,0 +1,5 @@
+# drm-kmod common version definition
+#
+# This will be included from consumers such as nvidia-drm
+DRM_KMOD_DISTVERSION= 6.9
+DRM_KMOD_GH_TAGNAME= drm_v6.9_1
diff --git a/graphics/drm-latest-kmod/distinfo b/graphics/drm-latest-kmod/distinfo
new file mode 100644
index 000000000000..b801c3d21098
--- /dev/null
+++ b/graphics/drm-latest-kmod/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1765611228
+SHA256 (freebsd-drm-kmod-6.9-drm_v6.9_1_GH0.tar.gz) = df7933202e61ebf8c9decb6835e4908817923fe4e76213e532873b0b611e8c63
+SIZE (freebsd-drm-kmod-6.9-drm_v6.9_1_GH0.tar.gz) = 41512758
diff --git a/graphics/drm-latest-kmod/files/pkg-message.in b/graphics/drm-latest-kmod/files/pkg-message.in
new file mode 100644
index 000000000000..95465e0ab188
--- /dev/null
+++ b/graphics/drm-latest-kmod/files/pkg-message.in
@@ -0,0 +1,22 @@
+[
+{ type: install
+ message: <<EOM
+The %%PORTNAME%% port can be enabled for amdgpu (for AMD
+GPUs starting with the HD7000 series / Tahiti) or i915kms (for Intel
+APUs starting with HD3000 / Sandy Bridge) through kld_list in
+/etc/rc.conf. radeonkms for older AMD GPUs can be loaded and there are
+some positive reports if EFI boot is NOT enabled.
+
+For amdgpu: kld_list="amdgpu"
+For Intel: kld_list="i915kms"
+For radeonkms: kld_list="radeonkms"
+
+Please ensure that all users requiring graphics are members of the
+"video" group.
+
+Please note that this package was built for %%OPSYS%% %%OSREL%%.
+If this is not your current running version, please rebuild
+it from ports to prevent panics when loading the module.
+EOM
+}
+]
diff --git a/graphics/drm-latest-kmod/pkg-descr b/graphics/drm-latest-kmod/pkg-descr
new file mode 100644
index 000000000000..af39d0f3fff6
--- /dev/null
+++ b/graphics/drm-latest-kmod/pkg-descr
@@ -0,0 +1,4 @@
+amdgpu, i915, and radeon DRM drivers modules.
+Currently corresponding to Linux 6.9 DRM.
+This version is for FreeBSD 15 1500058
+and above.
diff --git a/graphics/drm-latest-kmod/pkg-plist b/graphics/drm-latest-kmod/pkg-plist
new file mode 100644
index 000000000000..42f54df26cff
--- /dev/null
+++ b/graphics/drm-latest-kmod/pkg-plist
@@ -0,0 +1,6 @@
+/%%KMODDIR%%/dmabuf.ko
+%%AMDGPU%%/%%KMODDIR%%/amdgpu.ko
+/%%KMODDIR%%/drm.ko
+%%I915%%/%%KMODDIR%%/i915kms.ko
+/%%KMODDIR%%/radeonkms.ko
+/%%KMODDIR%%/ttm.ko
diff --git a/graphics/drm_info/Makefile b/graphics/drm_info/Makefile
index 11a9e0638323..c543120bb16a 100644
--- a/graphics/drm_info/Makefile
+++ b/graphics/drm_info/Makefile
@@ -1,10 +1,10 @@
PORTNAME= drm_info
DISTVERSIONPREFIX= v
-DISTVERSION= 2.7.0
+DISTVERSION= 2.9.0
CATEGORIES= graphics
MAINTAINER= jbeich@FreeBSD.org
-COMMENT= Small utility to dump info about DRM devices
+COMMENT= Dump info about DRM devices
WWW= https://gitlab.freedesktop.org/emersion/drm_info
LICENSE= MIT
@@ -19,8 +19,12 @@ GL_SITE= https://gitlab.freedesktop.org
GL_ACCOUNT= emersion
PLIST_FILES= bin/${PORTNAME}
-OPTIONS_DEFINE= MANPAGES PCI
-OPTIONS_DEFAULT=MANPAGES PCI
+OPTIONS_DEFINE= EDID MANPAGES PCI
+OPTIONS_DEFAULT=EDID MANPAGES PCI
+
+EDID_DESC= Print EDID identification via libdisplay-info
+EDID_LIB_DEPENDS= libdisplay-info.so:sysutils/libdisplay-info
+EDID_MESON_ENABLED= libdisplay-info
MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc
MANPAGES_MESON_ENABLED= man-pages
diff --git a/graphics/drm_info/distinfo b/graphics/drm_info/distinfo
index 4e67e704b715..8fa5d13c34d0 100644
--- a/graphics/drm_info/distinfo
+++ b/graphics/drm_info/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1722361585
-SHA256 (drm_info-v2.7.0.tar.bz2) = 6c503e00a6d8915e9d0c92677cf2805a96d0256b0cc364e702f8d2dd989edb4a
-SIZE (drm_info-v2.7.0.tar.bz2) = 16899
+TIMESTAMP = 1763314559
+SHA256 (drm_info-v2.9.0.tar.bz2) = b684773e3ae48b9f9937b2078221fc4b46590c7c4130a55aa746918a03a0a1a2
+SIZE (drm_info-v2.9.0.tar.bz2) = 20575
diff --git a/graphics/drm_info/files/patch-libdrm-2.4.123 b/graphics/drm_info/files/patch-libdrm-2.4.123
new file mode 100644
index 000000000000..9a2b1d298d0b
--- /dev/null
+++ b/graphics/drm_info/files/patch-libdrm-2.4.123
@@ -0,0 +1,55 @@
+Drop after graphics/libdrm >= 2.4.125 update
+
+--- meson.build.orig 2025-11-16 17:35:59 UTC
++++ meson.build
+@@ -45,7 +45,7 @@ libdrm = dependency(
+ #
+ # We need to make sure we don't use any new libdrm functions, but those
+ # are added very infrequently, so this is unlikely to be an issue.
+-if libdrm.version().version_compare('<2.4.125')
++if libdrm.version().version_compare('<2.4.123')
+ if libdrm.type_name() == 'internal'
+ error('libdrm subproject out of date. Run `meson subprojects update`.')
+ endif
+@@ -71,6 +71,11 @@ endif
+ fourcc_h = libdrm.get_variable(pkgconfig: 'pc_sysrootdir') + libdrm.get_variable(pkgconfig: 'includedir') / 'libdrm/drm_fourcc.h'
+ endif
+
++# DRM_FORMAT_MOD_VENDOR_MTK and its information is included in libdrm v2.4.125
++if libdrm.version().version_compare('>=2.4.125')
++ add_project_arguments('-DHAVE_MEDIATEK', language: 'c')
++endif
++
+ # The DRM_BUS_FAUX bus and its information is included in libdrm v2.4.127
+ if libdrm.version().version_compare('>=2.4.127')
+ add_project_arguments('-DHAVE_FAUX_BUS', language: 'c')
+--- modifiers.c.orig 2025-06-09 12:43:22 UTC
++++ modifiers.c
+@@ -298,6 +298,7 @@ static void print_vivante_modifier(uint64_t mod) {
+ printf(")");
+ }
+
++#ifdef HAVE_MEDIATEK
+ static const char *mediatek_tile_layout_str(uint64_t tile_layout) {
+ switch (tile_layout) {
+ case MTK_FMT_MOD_TILE_NONE:
+@@ -343,6 +344,7 @@ static void print_mediatek_modifier(uint64_t mod) {
+ mediatek_compression_str(compression),
+ mediatek_10bit_layout_str(layout_10bit));
+ }
++#endif
+
+ static uint8_t mod_vendor(uint64_t mod) {
+ return (uint8_t)(mod >> 56);
+@@ -365,9 +367,11 @@ void print_modifier(uint64_t mod) {
+ case DRM_FORMAT_MOD_VENDOR_VIVANTE:
+ print_vivante_modifier(mod);
+ break;
++#ifdef HAVE_MEDIATEK
+ case DRM_FORMAT_MOD_VENDOR_MTK:
+ print_mediatek_modifier(mod);
+ break;
++#endif
+ default:
+ printf("%s", basic_modifier_str(mod));
+ }
diff --git a/graphics/dspdfviewer/Makefile b/graphics/dspdfviewer/Makefile
index 48618332398c..20df4f110790 100644
--- a/graphics/dspdfviewer/Makefile
+++ b/graphics/dspdfviewer/Makefile
@@ -1,7 +1,7 @@
PORTNAME= dspdfviewer
PORTVERSION= 1.15.1
DISTVERSIONPREFIX= v
-PORTREVISION= 74
+PORTREVISION= 76
CATEGORIES= graphics
MAINTAINER= fox@FreeBSD.org
diff --git a/graphics/dssim/Makefile b/graphics/dssim/Makefile
index d5906884f249..fffd0635172b 100644
--- a/graphics/dssim/Makefile
+++ b/graphics/dssim/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dssim
DISTVERSION= 3.2.4
-PORTREVISION= 25
+PORTREVISION= 28
CATEGORIES= graphics
MASTER_SITES= CRATESIO
# XXX Teach USES=cargo to have proper default
diff --git a/graphics/durdraw/Makefile b/graphics/durdraw/Makefile
index 661d72054fcc..8c05466ff3bd 100644
--- a/graphics/durdraw/Makefile
+++ b/graphics/durdraw/Makefile
@@ -1,6 +1,5 @@
PORTNAME= durdraw
-DISTVERSION= 0.28.0
-PORTREVISION= 1
+DISTVERSION= 0.29.0
CATEGORIES= graphics python
MAINTAINER= yuri@FreeBSD.org
@@ -11,10 +10,12 @@ WWW= https://durdraw.org/ \
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PY_PILLOW}
USES= python
-USE_PYTHON= distutils noflavors autoplist
+USE_PYTHON= pep517 noflavors autoplist
USE_GITHUB= yes
GH_ACCOUNT= cmang
diff --git a/graphics/durdraw/distinfo b/graphics/durdraw/distinfo
index c9d8f37d4faf..4b3aada4e84d 100644
--- a/graphics/durdraw/distinfo
+++ b/graphics/durdraw/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1736887840
-SHA256 (cmang-durdraw-0.28.0_GH0.tar.gz) = 7efde14ecbd35ed5feb9e5dff4e45e5520f1e53e7c9803e30861c1f5f17e3c21
-SIZE (cmang-durdraw-0.28.0_GH0.tar.gz) = 320200
+TIMESTAMP = 1762591359
+SHA256 (cmang-durdraw-0.29.0_GH0.tar.gz) = 7878cc0ed97d03defe01f24935f0fbe18d11c1cfc5c3b801ee12c9116dddf0c5
+SIZE (cmang-durdraw-0.29.0_GH0.tar.gz) = 343139
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/enblend/Makefile b/graphics/enblend/Makefile
index 098658da135b..0499ee25e5c6 100644
--- a/graphics/enblend/Makefile
+++ b/graphics/enblend/Makefile
@@ -1,6 +1,6 @@
PORTNAME= enblend
PORTVERSION= 4.2
-PORTREVISION= 26
+PORTREVISION= 27
CATEGORIES= graphics
MASTER_SITES= SF/enblend/enblend-enfuse/enblend-enfuse-${PORTVERSION}
DISTNAME= enblend-enfuse-${PORTVERSION}
diff --git a/graphics/engauge-digitizer/Makefile b/graphics/engauge-digitizer/Makefile
index 7286295d0d0c..c68c38d82409 100644
--- a/graphics/engauge-digitizer/Makefile
+++ b/graphics/engauge-digitizer/Makefile
@@ -1,12 +1,13 @@
PORTNAME= engauge-digitizer
DISTVERSIONPREFIX= v
-DISTVERSION= 12.2.2
-PORTREVISION= 37
+DISTVERSION= 12.9.1
+PORTREVISION= 1
CATEGORIES= graphics math science
MAINTAINER= yuri@FreeBSD.org
COMMENT= Extract data points from images of graphs
-WWW= https://markummitchell.github.io/engauge-digitizer/
+WWW= https://markummitchell.github.io/engauge-digitizer/ \
+ https://github.com/akhuettel/engauge-digitizer
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -14,38 +15,34 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libfftw3.so:math/fftw3 \
liblog4cpp.so:devel/log4cpp \
libopenjp2.so:graphics/openjpeg \
- libpoppler-qt5.so:graphics/poppler-qt5
+ libpoppler-qt6.so:graphics/poppler-qt6
-USES= compiler:c++11-lang desktop-file-utils gl pkgconfig qmake qt:5 # pkgconfig is for https://github.com/markummitchell/engauge-digitizer/issues/423
-USE_GITHUB= yes
-GH_ACCOUNT= markummitchell
-USE_QT= core gui printsupport sql xml widgets buildtools:build
+USES= compiler:c++11-lang desktop-file-utils gl pkgconfig qmake qt:6 # pkgconfig is for https://github.com/markummitchell/engauge-digitizer/issues/423
+USE_QT= base tools
USE_GL= gl
+
+USE_GITHUB= yes
+GH_ACCOUNT= akhuettel
+
CONFIGURE_ENV= OPENJPEG_INCLUDE=${PREFIX}/include/openjpeg-2.4 OPENJPEG_LIB=${PREFIX}/lib \
- POPPLER_INCLUDE=${PREFIX}/include/poppler/qt5 POPPLER_LIB=${PREFIX}/lib
+ POPPLER_INCLUDE=${PREFIX}/include/poppler/qt6 POPPLER_LIB=${PREFIX}/lib
QMAKE_ARGS= "CONFIG+=jpeg2000 pdf"
CXXFLAGS+= `pkg-config --cflags libopenjp2` # workaround for https://github.com/markummitchell/engauge-digitizer/issues/423
-OPTIONS_DEFINE= NLS DOCS
+OPTIONS_DEFINE= NLS
OPTIONS_SUB= yes
-DOCS_USE= QT=help,linguist:build
+#DOCS_USE= QT=help,linguist:build
do-patch-NLS-on:
@${REINPLACE_CMD} -e 's|QCoreApplication::applicationDirPath () + "/translations",|"${DATADIR}/translations",|' ${WRKSRC}/src/Translator/TranslatorContainer.cpp
-do-patch-DOCS-on:
- @${REINPLACE_CMD} -e 's|qcollectiongenerator|${QCOLLECTIONGENERATOR}|' ${WRKSRC}/help/build.bash
-
post-build-NLS-on:
@cd ${WRKSRC} && ${LRELEASE} engauge.pro
-post-build-DOCS-on:
- @cd ${WRKSRC}/help && ./build.bash
-
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/bin/engauge ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/Engauge ${STAGEDIR}${PREFIX}/bin
@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps
${GZIP_CMD} < ${WRKSRC}/src/img/${PORTNAME}.svg > ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/${PORTNAME}.svgz
${INSTALL_DATA} ${WRKSRC}/dev/${PORTNAME}.desktop ${STAGEDIR}${PREFIX}/share/applications/${PORTNAME}.desktop
@@ -54,9 +51,4 @@ do-install-NLS-on:
@${MKDIR} ${STAGEDIR}${DATADIR}/translations
${INSTALL_DATA} ${WRKSRC}/translations/*.qm ${STAGEDIR}${DATADIR}/translations
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/bin/documentation/engauge.qch ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/bin/documentation/engauge.qhc ${STAGEDIR}${DOCSDIR}
-
.include <bsd.port.mk>
diff --git a/graphics/engauge-digitizer/distinfo b/graphics/engauge-digitizer/distinfo
index 791ca4cc4ef1..efd4c1e22e3d 100644
--- a/graphics/engauge-digitizer/distinfo
+++ b/graphics/engauge-digitizer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1595407069
-SHA256 (markummitchell-engauge-digitizer-v12.2.2_GH0.tar.gz) = d66f4028c112f02024b6313288dc88b1b1039b43dcbc90524cc20ad28f0f3363
-SIZE (markummitchell-engauge-digitizer-v12.2.2_GH0.tar.gz) = 73793824
+TIMESTAMP = 1763961598
+SHA256 (akhuettel-engauge-digitizer-v12.9.1_GH0.tar.gz) = 0da5d884390af70770204a0c19e3b1e2fca876ba1d5f416b62a6922edff365f3
+SIZE (akhuettel-engauge-digitizer-v12.9.1_GH0.tar.gz) = 70903732
diff --git a/graphics/engauge-digitizer/files/patch-src_Logger_LoggerUpload.h b/graphics/engauge-digitizer/files/patch-src_Logger_LoggerUpload.h
new file mode 100644
index 000000000000..dfad4c5a48ac
--- /dev/null
+++ b/graphics/engauge-digitizer/files/patch-src_Logger_LoggerUpload.h
@@ -0,0 +1,11 @@
+--- src/Logger/LoggerUpload.h.orig 2025-11-24 05:39:46 UTC
++++ src/Logger/LoggerUpload.h
+@@ -9,7 +9,7 @@
+
+ #include <QtGlobal>
+
+-#if defined(WIN32) || defined(WIN64)
++#if defined(WIN32) || defined(WIN64) || defined(__FreeBSD__)
+ #define NO_RETURN_VALUE
+ #else
+ #define NO_RETURN_VALUE Q_NORETURN
diff --git a/graphics/engauge-digitizer/pkg-plist b/graphics/engauge-digitizer/pkg-plist
index c8c2a5de271d..d129126f1a68 100644
--- a/graphics/engauge-digitizer/pkg-plist
+++ b/graphics/engauge-digitizer/pkg-plist
@@ -1,7 +1,5 @@
-bin/engauge
+bin/Engauge
share/applications/engauge-digitizer.desktop
-%%PORTDOCS%%%%DOCSDIR%%/engauge.qch
-%%PORTDOCS%%%%DOCSDIR%%/engauge.qhc
%%NLS%%%%DATADIR%%/translations/engauge_ar.qm
%%NLS%%%%DATADIR%%/translations/engauge_cs.qm
%%NLS%%%%DATADIR%%/translations/engauge_de.qm
@@ -15,6 +13,7 @@ share/applications/engauge-digitizer.desktop
%%NLS%%%%DATADIR%%/translations/engauge_kk.qm
%%NLS%%%%DATADIR%%/translations/engauge_ko.qm
%%NLS%%%%DATADIR%%/translations/engauge_nb.qm
+%%NLS%%%%DATADIR%%/translations/engauge_nl.qm
%%NLS%%%%DATADIR%%/translations/engauge_pt.qm
%%NLS%%%%DATADIR%%/translations/engauge_ru.qm
%%NLS%%%%DATADIR%%/translations/engauge_zh.qm
diff --git a/graphics/epdfview/Makefile b/graphics/epdfview/Makefile
index 7d521843df20..933fe95a7347 100644
--- a/graphics/epdfview/Makefile
+++ b/graphics/epdfview/Makefile
@@ -1,6 +1,6 @@
PORTNAME= epdfview
DISTVERSION= 0.2.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics print gnome
MAINTAINER= mew14930xvi@inbox.lv
diff --git a/graphics/epsonscan2/Makefile b/graphics/epsonscan2/Makefile
index 59e334199fff..5a47aa4e5b72 100644
--- a/graphics/epsonscan2/Makefile
+++ b/graphics/epsonscan2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= epsonscan2
DISTVERSION= 6.7.70.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MASTER_SITES= https://download3.ebz.epson.net/dsc/f/03/00/16/14/37/7577ee65efdad48ee2d2f38d9eda75418e490552/
DISTNAME= ${PORTNAME}-${PORTVERSION}-1.src
diff --git a/graphics/evince/Makefile b/graphics/evince/Makefile
index 972382c18e18..9c4371e079ae 100644
--- a/graphics/evince/Makefile
+++ b/graphics/evince/Makefile
@@ -1,5 +1,6 @@
PORTNAME= evince
DISTVERSION= 48.1
+PORTREVISION= 1
CATEGORIES= graphics print gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome
diff --git a/graphics/evolvotron/Makefile b/graphics/evolvotron/Makefile
index bea7d738e274..e34f2054cad3 100644
--- a/graphics/evolvotron/Makefile
+++ b/graphics/evolvotron/Makefile
@@ -1,6 +1,6 @@
PORTNAME= evolvotron
DISTVERSION= 0.8.1
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION:R} \
SF/nemysisfreebsdp/${CATEGORIES}/:icons
diff --git a/graphics/exiv2/Makefile b/graphics/exiv2/Makefile
index cbb3e3514fbe..d1d66016dce6 100644
--- a/graphics/exiv2/Makefile
+++ b/graphics/exiv2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= exiv2
DISTVERSIONPREFIX= v
-DISTVERSION= 0.28.5
+DISTVERSION= 0.28.7
PORTEPOCH= 1
CATEGORIES= graphics
diff --git a/graphics/exiv2/distinfo b/graphics/exiv2/distinfo
index 899594e14444..6ac47d788136 100644
--- a/graphics/exiv2/distinfo
+++ b/graphics/exiv2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1740448863
-SHA256 (Exiv2-exiv2-v0.28.5_GH0.tar.gz) = e1671f744e379a87ba0c984617406fdf8c0ad0c594e5122f525b2fb7c28d394d
-SIZE (Exiv2-exiv2-v0.28.5_GH0.tar.gz) = 46932602
+TIMESTAMP = 1756965229
+SHA256 (Exiv2-exiv2-v0.28.7_GH0.tar.gz) = 5e292b02614dbc0cee40fe1116db2f42f63ef6b2ba430c77b614e17b8d61a638
+SIZE (Exiv2-exiv2-v0.28.7_GH0.tar.gz) = 46935478
diff --git a/graphics/exrtools/Makefile b/graphics/exrtools/Makefile
index a0b0738109ab..d2d63895529c 100644
--- a/graphics/exrtools/Makefile
+++ b/graphics/exrtools/Makefile
@@ -1,6 +1,6 @@
PORTNAME= exrtools
DISTVERSION= 0.4
-PORTREVISION= 36
+PORTREVISION= 38
CATEGORIES= graphics
MASTER_SITES= http://scanline.ca/exrtools/ \
LOCAL/ehaupt
diff --git a/graphics/f3d/Makefile b/graphics/f3d/Makefile
index 9b69bde42b92..41e4582cd345 100644
--- a/graphics/f3d/Makefile
+++ b/graphics/f3d/Makefile
@@ -1,6 +1,7 @@
PORTNAME= f3d
DISTVERSIONPREFIX= v
-DISTVERSION= 3.2.0
+DISTVERSION= 3.3.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -48,7 +49,7 @@ MODULES_DESC= Build modules:
ALEMBIC_DESC= Alembic plugin (for ABC files)
ALEMBIC_CMAKE_BOOL= F3D_PLUGIN_BUILD_ALEMBIC
ALEMBIC_LIB_DEPENDS= libAlembic.so:graphics/alembic \
- libImath-3_1.so:math/Imath
+ libImath.so:math/Imath
ASSIMP_DESC= Assimp plugin (for FBX, OFF, DAE and DXF files)
ASSIMP_CMAKE_BOOL= F3D_PLUGIN_BUILD_ASSIMP
diff --git a/graphics/f3d/distinfo b/graphics/f3d/distinfo
index 4b7c92357910..2d5101793b79 100644
--- a/graphics/f3d/distinfo
+++ b/graphics/f3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752141480
-SHA256 (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 2a3cff123821be41d99489e080a7153812e58a86598fa9f4988099660bf6a947
-SIZE (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 68125944
+TIMESTAMP = 1761665817
+SHA256 (f3d-app-f3d-v3.3.0_GH0.tar.gz) = f3feeaed716022bc3440b891afbd5eba82a69af7215f66bb9aa72344d7591126
+SIZE (f3d-app-f3d-v3.3.0_GH0.tar.gz) = 68866937
diff --git a/graphics/f3d/pkg-plist b/graphics/f3d/pkg-plist
index 77289080d9c5..abc9ae757993 100644
--- a/graphics/f3d/pkg-plist
+++ b/graphics/f3d/pkg-plist
@@ -25,7 +25,7 @@ lib/cmake/f3d/f3dTargets.cmake
lib/cmake/f3d/library-config.cmake
lib/libf3d.so
lib/libf3d.so.3
-lib/libf3d.so.3.2
+lib/libf3d.so.3.3
lib/libvtkext.so
%%ALEMBIC%%share/applications/f3d-plugin-alembic.desktop
%%ASSIMP%%share/applications/f3d-plugin-assimp.desktop
diff --git a/graphics/feh/Makefile b/graphics/feh/Makefile
index ac21b66d26be..c2cbefba83ce 100644
--- a/graphics/feh/Makefile
+++ b/graphics/feh/Makefile
@@ -1,6 +1,5 @@
PORTNAME= feh
-PORTVERSION= 3.10.3
-PORTREVISION= 2
+PORTVERSION= 3.11.2
CATEGORIES= graphics
MASTER_SITES= https://feh.finalrewind.org/
diff --git a/graphics/feh/distinfo b/graphics/feh/distinfo
index 36111270ffc9..d95c256972ce 100644
--- a/graphics/feh/distinfo
+++ b/graphics/feh/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1719868241
-SHA256 (feh-3.10.3.tar.bz2) = 5426e2799770217af1e01c2e8c182d9ca8687d84613321d8ab4a66fe4041e9c8
-SIZE (feh-3.10.3.tar.bz2) = 2113623
+TIMESTAMP = 1757523180
+SHA256 (feh-3.11.2.tar.bz2) = 020f8bce84c709333dcc6ec5fff36313782e0b50662754947c6585d922a7a7b2
+SIZE (feh-3.11.2.tar.bz2) = 2110185
diff --git a/graphics/filament/Makefile b/graphics/filament/Makefile
index 05a58e344472..848ce3c1ff22 100644
--- a/graphics/filament/Makefile
+++ b/graphics/filament/Makefile
@@ -1,11 +1,12 @@
PORTNAME= filament
DISTVERSIONPREFIX= v
-DISTVERSION= 1.59.3
+DISTVERSION= 1.62.2
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
COMMENT= Real-time physically based rendering engine
-WWW= https://google.github.io/filament/
+WWW= https://google.github.io/filament/ \
+ https://github.com/google/filament
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -52,5 +53,9 @@ post-install:
@cd ${STAGEDIR}${PREFIX} && ${RM} -r README.md LICENSE docs
# remove conflicting file, see https://github.com/google/filament/issues/5957
@${RM} ${STAGEDIR}${PREFIX}/lib/libzstd.a
+ # remove files installed by the improperly bundled spirv-tools package, see https://github.com/google/filament/issues/8965
+ @${FIND} ${STAGEDIR}${PREFIX} -iname "*spirv*" -delete
+ @${RM} -r ${STAGEDIR}${PREFIX}/include/spirv-tools # workaround for the find(1) -delete bug, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288277
+ @${RMDIR} ${STAGEDIR}${PREFIX}/lib/cmake
.include <bsd.port.mk>
diff --git a/graphics/filament/distinfo b/graphics/filament/distinfo
index 49e9483e7ac2..687b3f3972d7 100644
--- a/graphics/filament/distinfo
+++ b/graphics/filament/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745309194
-SHA256 (google-filament-v1.59.3_GH0.tar.gz) = 897d1880d1573b3a8452e7df5a82f8fb82a35f997775edfa44ee26cbcedbdafb
-SIZE (google-filament-v1.59.3_GH0.tar.gz) = 759893829
+TIMESTAMP = 1754114300
+SHA256 (google-filament-v1.62.2_GH0.tar.gz) = 3ae746cb11fcb93a4cd494a5bbb86a8e2fc81075218593dad0ac0f3381be24e0
+SIZE (google-filament-v1.62.2_GH0.tar.gz) = 766597384
diff --git a/graphics/filament/files/patch-CMakeLists.txt b/graphics/filament/files/patch-CMakeLists.txt
index 40f6db9d930b..108eeb9035b6 100644
--- a/graphics/filament/files/patch-CMakeLists.txt
+++ b/graphics/filament/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig 2024-06-03 18:10:41 UTC
+--- CMakeLists.txt.orig 2025-07-14 23:11:31 UTC
+++ CMakeLists.txt
-@@ -87,7 +87,7 @@ find_program(CCACHE_PROGRAM ccache)
+@@ -101,7 +101,7 @@ find_program(CCACHE_PROGRAM ccache)
# Support for ccache
# ==================================================================================================
find_program(CCACHE_PROGRAM ccache)
diff --git a/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp b/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
index fd6961590dba..bded9df8b8d5 100644
--- a/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
+++ b/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
@@ -1,6 +1,6 @@
---- filament/backend/src/PlatformFactory.cpp.orig 2025-03-31 22:23:27 UTC
+--- filament/backend/src/PlatformFactory.cpp.orig 2025-07-14 23:11:31 UTC
+++ filament/backend/src/PlatformFactory.cpp
-@@ -41,7 +41,7 @@
+@@ -42,7 +42,7 @@
#include <backend/platforms/PlatformCocoaGL.h>
#endif
#endif
@@ -9,7 +9,7 @@
#if defined(FILAMENT_SUPPORTS_X11)
#if defined(FILAMENT_SUPPORTS_OPENGL) && !defined(FILAMENT_USE_EXTERNAL_GLES3)
#include "backend/platforms/PlatformGLX.h"
-@@ -151,7 +151,7 @@ Platform* PlatformFactory::create(Backend* backend) no
+@@ -152,7 +152,7 @@ Platform* PlatformFactory::create(Backend* backend) no
#else
return new PlatformCocoaGL();
#endif
diff --git a/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h b/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h
index 3af2733630ee..f084580c50df 100644
--- a/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h
+++ b/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h
@@ -1,8 +1,8 @@
---- libs/bluevk/include/bluevk/BlueVK.h.orig 2022-11-11 07:03:46 UTC
+--- libs/bluevk/include/bluevk/BlueVK.h.orig 2025-07-14 23:11:31 UTC
+++ libs/bluevk/include/bluevk/BlueVK.h
@@ -42,7 +42,7 @@
#define VK_USE_PLATFORM_ANDROID_KHR 1
- #elif defined(IOS)
+ #elif defined(FILAMENT_IOS)
#define VK_USE_PLATFORM_IOS_MVK 1
- #elif defined(__linux__)
+ #elif defined(__linux__) || defined(__FreeBSD__)
diff --git a/graphics/filament/files/patch-libs_utils_CMakeLists.txt b/graphics/filament/files/patch-libs_utils_CMakeLists.txt
index 4e45fbc7aa4d..8bf9c71d2a66 100644
--- a/graphics/filament/files/patch-libs_utils_CMakeLists.txt
+++ b/graphics/filament/files/patch-libs_utils_CMakeLists.txt
@@ -1,7 +1,7 @@
---- libs/utils/CMakeLists.txt.orig 2023-05-30 23:22:31 UTC
+--- libs/utils/CMakeLists.txt.orig 2025-07-14 23:11:31 UTC
+++ libs/utils/CMakeLists.txt
-@@ -82,8 +82,10 @@ if (ANDROID)
- list(APPEND SRCS src/android/Systrace.cpp)
+@@ -90,8 +90,10 @@ if (LINUX OR ANDROID)
+ list(APPEND SRCS src/android/Tracing.cpp)
endif()
if (LINUX OR ANDROID)
- list(APPEND SRCS src/linux/Condition.cpp)
diff --git a/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc
new file mode 100644
index 000000000000..f760a992860e
--- /dev/null
+++ b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc
@@ -0,0 +1,40 @@
+--- third_party/perfetto/perfetto/perfetto.cc.orig 2025-07-16 02:06:53 UTC
++++ third_party/perfetto/perfetto/perfetto.cc
+@@ -14,6 +14,8 @@
+ //
+ // This file is automatically generated by gen_amalgamated. Do not edit.
+
++#include <sys/ucred.h>
++
+ // gen_amalgamated: predefined macros
+ #if !defined(PERFETTO_IMPLEMENTATION)
+ #define PERFETTO_IMPLEMENTATION
+@@ -42125,7 +42127,7 @@ ClockSnapshotVector CaptureClockSnapshots() {
+ {0, 0}},
+ {CLOCK_REALTIME, protos::pbzero::BUILTIN_CLOCK_REALTIME, {0, 0}},
+ {CLOCK_MONOTONIC, protos::pbzero::BUILTIN_CLOCK_MONOTONIC, {0, 0}},
+- {CLOCK_MONOTONIC_RAW,
++ {CLOCK_MONOTONIC,
+ protos::pbzero::BUILTIN_CLOCK_MONOTONIC_RAW,
+ {0, 0}},
+ };
+@@ -58913,8 +58915,8 @@ void UnixSocket::ReadPeerCredentialsPosix() {
+ int res = getpeereid(fd, &peer_uid_, nullptr);
+ PERFETTO_CHECK(res == 0);
+ // There is no pid when obtaining peer credentials for QNX
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#elif !defined(__FreeBSD__) && (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID))
+ struct ucred user_cred;
+ socklen_t len = sizeof(user_cred);
+ int fd = sock_raw_.fd();
+@@ -58922,7 +58924,7 @@ void UnixSocket::ReadPeerCredentialsPosix() {
+ PERFETTO_CHECK(res == 0);
+ peer_uid_ = user_cred.uid;
+ peer_pid_ = user_cred.pid;
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++#elif defined(__FreeBSD__) || PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
+ struct xucred user_cred;
+ socklen_t len = sizeof(user_cred);
+ int res = getsockopt(sock_raw_.fd(), 0, LOCAL_PEERCRED, &user_cred, &len);
diff --git a/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h
new file mode 100644
index 000000000000..a1c99bc6e26e
--- /dev/null
+++ b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h
@@ -0,0 +1,42 @@
+--- third_party/perfetto/perfetto/perfetto.h.orig 2025-07-15 17:16:00 UTC
++++ third_party/perfetto/perfetto/perfetto.h
+@@ -34,6 +34,8 @@
+ * limitations under the License.
+ */
+
++#include <pthread_np.h>
++
+ // Generated by write_buildflag_header.py
+
+ // fix_include_guards: off
+@@ -129,10 +131,10 @@
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
+ #endif
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__FreeBSD__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1
+-#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 1
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -1075,7 +1077,7 @@ inline TimeNanos GetWallTimeRawNs() {
+ }
+
+ inline TimeNanos GetWallTimeRawNs() {
+- return GetTimeInternalNs(CLOCK_MONOTONIC_RAW);
++ return GetTimeInternalNs(CLOCK_MONOTONIC);
+ }
+
+ inline TimeNanos GetThreadCPUTimeNs() {
+@@ -8167,7 +8169,7 @@ inline PlatformThreadId GetThreadId() {
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
+ using PlatformThreadId = pid_t;
+ inline PlatformThreadId GetThreadId() {
+- return static_cast<pid_t>(syscall(__NR_gettid));
++ return static_cast<pid_t>(pthread_getthreadid_np());
+ }
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA)
+ using PlatformThreadId = zx_koid_t;
diff --git a/graphics/filament/pkg-plist b/graphics/filament/pkg-plist
index 25b8b2373291..9351c86540cf 100644
--- a/graphics/filament/pkg-plist
+++ b/graphics/filament/pkg-plist
@@ -17,16 +17,6 @@ bin/normal-blending
bin/resgen
bin/roughness-prefilter
bin/specular-color
-bin/spirv-as
-bin/spirv-cfg
-bin/spirv-dis
-bin/spirv-lesspipe.sh
-bin/spirv-link
-bin/spirv-lint
-bin/spirv-objdump
-bin/spirv-opt
-bin/spirv-reduce
-bin/spirv-val
bin/uberz
include/backend/AcquiredImage.h
include/backend/BufferDescriptor.h
@@ -66,6 +56,7 @@ include/filamat/Enums.h
include/filamat/IncludeCallback.h
include/filamat/MaterialBuilder.h
include/filamat/Package.h
+include/filament-generatePrefilterMipmap/generatePrefilterMipmap.h
include/filament-iblprefilter/IBLPrefilterContext.h
include/filament/Box.h
include/filament/BufferObject.h
@@ -150,10 +141,6 @@ include/math/vec3.h
include/math/vec4.h
include/mathio/ostream.h
include/mikktspace/mikktspace.h
-include/spirv-tools/libspirv.h
-include/spirv-tools/libspirv.hpp
-include/spirv-tools/linker.hpp
-include/spirv-tools/optimizer.hpp
include/tsl/robin_growth_policy.h
include/tsl/robin_hash.h
include/tsl/robin_map.h
@@ -171,6 +158,7 @@ include/utils/EntityManager.h
include/utils/FixedCapacityVector.h
include/utils/Invocable.h
include/utils/Log.h
+include/utils/Logger.h
include/utils/Mutex.h
include/utils/NameComponentManager.h
include/utils/Panic.h
@@ -197,34 +185,6 @@ include/viewer/AutomationSpec.h
include/viewer/RemoteServer.h
include/viewer/Settings.h
include/viewer/ViewerGui.h
-lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffConfig.cmake
-lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets.cmake
-lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkConfig.cmake
-lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets.cmake
-lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintConfig.cmake
-lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets.cmake
-lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optConfig.cmake
-lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake
-lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceConfig.cmake
-lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget.cmake
-lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsConfig.cmake
-lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsTargets.cmake
-lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake
-lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake
-lib/libSPIRV-Tools-diff.a
-lib/libSPIRV-Tools-link.a
-lib/libSPIRV-Tools-lint.a
-lib/libSPIRV-Tools-opt.a
-lib/libSPIRV-Tools-reduce.a
-lib/libSPIRV-Tools-shared.so
-lib/libSPIRV-Tools.a
lib/libabseil.a
lib/libbackend.a
lib/libbasis_transcoder.a
@@ -236,6 +196,7 @@ lib/libdracodec.a
lib/libfilabridge.a
lib/libfilaflat.a
lib/libfilamat.a
+lib/libfilament-generatePrefilterMipmap.a
lib/libfilament-iblprefilter.a
lib/libfilament.a
lib/libfilameshio.a
@@ -249,6 +210,7 @@ lib/libktxreader.a
lib/libmatdbg.a
lib/libmeshoptimizer.a
lib/libmikktspace.a
+lib/libperfetto.a
lib/libshaders.a
lib/libsmol-v.a
lib/libstb.a
@@ -257,5 +219,3 @@ lib/libuberzlib.a
lib/libutils.a
lib/libviewer.a
lib/libvkshaders.a
-libdata/pkgconfig/SPIRV-Tools-shared.pc
-libdata/pkgconfig/SPIRV-Tools.pc
diff --git a/graphics/fortytwo/Makefile b/graphics/fortytwo/Makefile
index 1de06c6816ac..3c30d0882436 100644
--- a/graphics/fortytwo/Makefile
+++ b/graphics/fortytwo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fortytwo
PORTVERSION= 0.2.0
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= graphics gnustep
MASTER_SITES= SF/${PORTNAME}/FT%20%2842%29/${PORTVERSION}
DISTFILES= FT-${PORTVERSION}-src.tgz \
diff --git a/graphics/fracplanet/Makefile b/graphics/fracplanet/Makefile
index 36a6c8e134dd..074902c86f72 100644
--- a/graphics/fracplanet/Makefile
+++ b/graphics/fracplanet/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fracplanet
PORTVERSION= 0.5.1
-PORTREVISION= 23
+PORTREVISION= 24
CATEGORIES= graphics
MASTER_SITES= SF \
SF/nemysisfreebsdp/:icons
diff --git a/graphics/fractgen/Makefile b/graphics/fractgen/Makefile
index 76261e0f6e24..b0678a1524e9 100644
--- a/graphics/fractgen/Makefile
+++ b/graphics/fractgen/Makefile
@@ -1,5 +1,5 @@
PORTNAME= fractgen
-DISTVERSION= 3.0.5
+DISTVERSION= 3.0.6
CATEGORIES= graphics
MASTER_SITES= https://www.nntb.no/~dreibh/fractalgenerator/download/
@@ -12,7 +12,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING
USES= cmake compiler:c++17-lang desktop-file-utils gl qt:6 \
shared-mime-info tar:xz
-USE_GL= gl opengl
+USE_GL= opengl
USE_QT= base tools:build
.include <bsd.port.mk>
diff --git a/graphics/fractgen/distinfo b/graphics/fractgen/distinfo
index 4b12900c51e7..f8a6288e7d53 100644
--- a/graphics/fractgen/distinfo
+++ b/graphics/fractgen/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751736940
-SHA256 (fractgen-3.0.5.tar.xz) = e6144cfb556f38ffbf2fe29c2526155c0f5677e0e090bd22053fdc0dc00b355f
-SIZE (fractgen-3.0.5.tar.xz) = 342408
+TIMESTAMP = 1758565723
+SHA256 (fractgen-3.0.6.tar.xz) = ecf84ee495c6472dc7dda8d93b3cb0a9f6b7ea9c13f3d39e981432161d7d6e38
+SIZE (fractgen-3.0.6.tar.xz) = 362812
diff --git a/graphics/fractgen/pkg-plist b/graphics/fractgen/pkg-plist
index 558fc1801f03..38701eee15d6 100644
--- a/graphics/fractgen/pkg-plist
+++ b/graphics/fractgen/pkg-plist
@@ -27,6 +27,18 @@ share/bash-completion/completions/fractgen
%%DATADIR%%/examples/beta10.fsf
%%DATADIR%%/examples/beta11.fsf
%%DATADIR%%/examples/beta12.fsf
+%%DATADIR%%/examples/chi01.fsf
+%%DATADIR%%/examples/chi02.fsf
+%%DATADIR%%/examples/chi03.fsf
+%%DATADIR%%/examples/chi04.fsf
+%%DATADIR%%/examples/chi05.fsf
+%%DATADIR%%/examples/chi06.fsf
+%%DATADIR%%/examples/chi07.fsf
+%%DATADIR%%/examples/chi08.fsf
+%%DATADIR%%/examples/chi09.fsf
+%%DATADIR%%/examples/chi10.fsf
+%%DATADIR%%/examples/chi11.fsf
+%%DATADIR%%/examples/chi12.fsf
%%DATADIR%%/examples/delta01.fsf
%%DATADIR%%/examples/delta02.fsf
%%DATADIR%%/examples/delta03.fsf
@@ -51,6 +63,18 @@ share/bash-completion/completions/fractgen
%%DATADIR%%/examples/epsilon10.fsf
%%DATADIR%%/examples/epsilon11.fsf
%%DATADIR%%/examples/epsilon12.fsf
+%%DATADIR%%/examples/eta01.fsf
+%%DATADIR%%/examples/eta02.fsf
+%%DATADIR%%/examples/eta03.fsf
+%%DATADIR%%/examples/eta04.fsf
+%%DATADIR%%/examples/eta05.fsf
+%%DATADIR%%/examples/eta06.fsf
+%%DATADIR%%/examples/eta07.fsf
+%%DATADIR%%/examples/eta08.fsf
+%%DATADIR%%/examples/eta09.fsf
+%%DATADIR%%/examples/eta10.fsf
+%%DATADIR%%/examples/eta11.fsf
+%%DATADIR%%/examples/eta12.fsf
%%DATADIR%%/examples/gamma01.fsf
%%DATADIR%%/examples/gamma02.fsf
%%DATADIR%%/examples/gamma03.fsf
@@ -63,6 +87,18 @@ share/bash-completion/completions/fractgen
%%DATADIR%%/examples/gamma10.fsf
%%DATADIR%%/examples/gamma11.fsf
%%DATADIR%%/examples/gamma12.fsf
+%%DATADIR%%/examples/iota01.fsf
+%%DATADIR%%/examples/iota02.fsf
+%%DATADIR%%/examples/iota03.fsf
+%%DATADIR%%/examples/iota04.fsf
+%%DATADIR%%/examples/iota05.fsf
+%%DATADIR%%/examples/iota06.fsf
+%%DATADIR%%/examples/iota07.fsf
+%%DATADIR%%/examples/iota08.fsf
+%%DATADIR%%/examples/iota09.fsf
+%%DATADIR%%/examples/iota10.fsf
+%%DATADIR%%/examples/iota11.fsf
+%%DATADIR%%/examples/iota12.fsf
%%DATADIR%%/examples/kappa01.fsf
%%DATADIR%%/examples/kappa02.fsf
%%DATADIR%%/examples/kappa03.fsf
@@ -87,17 +123,166 @@ share/bash-completion/completions/fractgen
%%DATADIR%%/examples/lambda10.fsf
%%DATADIR%%/examples/lambda11.fsf
%%DATADIR%%/examples/lambda12.fsf
+%%DATADIR%%/examples/mu01.fsf
+%%DATADIR%%/examples/mu02.fsf
+%%DATADIR%%/examples/mu03.fsf
+%%DATADIR%%/examples/mu04.fsf
+%%DATADIR%%/examples/mu05.fsf
+%%DATADIR%%/examples/mu06.fsf
+%%DATADIR%%/examples/mu07.fsf
+%%DATADIR%%/examples/mu08.fsf
+%%DATADIR%%/examples/mu09.fsf
+%%DATADIR%%/examples/mu10.fsf
+%%DATADIR%%/examples/mu11.fsf
+%%DATADIR%%/examples/mu12.fsf
+%%DATADIR%%/examples/nu01.fsf
+%%DATADIR%%/examples/nu02.fsf
+%%DATADIR%%/examples/nu03.fsf
+%%DATADIR%%/examples/nu04.fsf
+%%DATADIR%%/examples/nu05.fsf
+%%DATADIR%%/examples/nu06.fsf
+%%DATADIR%%/examples/nu07.fsf
+%%DATADIR%%/examples/nu08.fsf
+%%DATADIR%%/examples/nu09.fsf
+%%DATADIR%%/examples/nu10.fsf
+%%DATADIR%%/examples/nu11.fsf
+%%DATADIR%%/examples/nu12.fsf
+%%DATADIR%%/examples/omega01.fsf
+%%DATADIR%%/examples/omega02.fsf
+%%DATADIR%%/examples/omega03.fsf
+%%DATADIR%%/examples/omega04.fsf
+%%DATADIR%%/examples/omega05.fsf
+%%DATADIR%%/examples/omega06.fsf
+%%DATADIR%%/examples/omega07.fsf
+%%DATADIR%%/examples/omega08.fsf
+%%DATADIR%%/examples/omega09.fsf
+%%DATADIR%%/examples/omega10.fsf
+%%DATADIR%%/examples/omega11.fsf
+%%DATADIR%%/examples/omega12.fsf
+%%DATADIR%%/examples/omicron01.fsf
+%%DATADIR%%/examples/omicron02.fsf
+%%DATADIR%%/examples/omicron03.fsf
+%%DATADIR%%/examples/omicron04.fsf
+%%DATADIR%%/examples/omicron05.fsf
+%%DATADIR%%/examples/omicron06.fsf
+%%DATADIR%%/examples/omicron07.fsf
+%%DATADIR%%/examples/omicron08.fsf
+%%DATADIR%%/examples/omicron09.fsf
+%%DATADIR%%/examples/omicron10.fsf
+%%DATADIR%%/examples/omicron11.fsf
+%%DATADIR%%/examples/omicron12.fsf
%%DATADIR%%/examples/phi01.fsf
+%%DATADIR%%/examples/phi02.fsf
+%%DATADIR%%/examples/phi03.fsf
+%%DATADIR%%/examples/phi04.fsf
+%%DATADIR%%/examples/phi05.fsf
+%%DATADIR%%/examples/phi06.fsf
+%%DATADIR%%/examples/phi07.fsf
+%%DATADIR%%/examples/phi08.fsf
+%%DATADIR%%/examples/phi09.fsf
+%%DATADIR%%/examples/phi10.fsf
+%%DATADIR%%/examples/phi11.fsf
+%%DATADIR%%/examples/phi12.fsf
+%%DATADIR%%/examples/pi01.fsf
+%%DATADIR%%/examples/pi02.fsf
+%%DATADIR%%/examples/pi03.fsf
+%%DATADIR%%/examples/pi04.fsf
+%%DATADIR%%/examples/pi05.fsf
+%%DATADIR%%/examples/pi06.fsf
+%%DATADIR%%/examples/pi07.fsf
+%%DATADIR%%/examples/pi08.fsf
+%%DATADIR%%/examples/pi09.fsf
+%%DATADIR%%/examples/pi10.fsf
+%%DATADIR%%/examples/pi11.fsf
+%%DATADIR%%/examples/pi12.fsf
%%DATADIR%%/examples/psi01.fsf
+%%DATADIR%%/examples/psi02.fsf
+%%DATADIR%%/examples/psi03.fsf
+%%DATADIR%%/examples/psi04.fsf
+%%DATADIR%%/examples/psi05.fsf
+%%DATADIR%%/examples/psi06.fsf
+%%DATADIR%%/examples/psi07.fsf
+%%DATADIR%%/examples/psi08.fsf
+%%DATADIR%%/examples/psi09.fsf
+%%DATADIR%%/examples/psi10.fsf
+%%DATADIR%%/examples/psi11.fsf
+%%DATADIR%%/examples/psi12.fsf
%%DATADIR%%/examples/rho01.fsf
+%%DATADIR%%/examples/rho02.fsf
+%%DATADIR%%/examples/rho03.fsf
+%%DATADIR%%/examples/rho04.fsf
+%%DATADIR%%/examples/rho05.fsf
+%%DATADIR%%/examples/rho06.fsf
+%%DATADIR%%/examples/rho07.fsf
+%%DATADIR%%/examples/rho08.fsf
+%%DATADIR%%/examples/rho09.fsf
+%%DATADIR%%/examples/rho10.fsf
+%%DATADIR%%/examples/rho11.fsf
+%%DATADIR%%/examples/rho12.fsf
%%DATADIR%%/examples/sigma01.fsf
+%%DATADIR%%/examples/sigma02.fsf
+%%DATADIR%%/examples/sigma03.fsf
+%%DATADIR%%/examples/sigma04.fsf
+%%DATADIR%%/examples/sigma05.fsf
+%%DATADIR%%/examples/sigma06.fsf
+%%DATADIR%%/examples/sigma07.fsf
+%%DATADIR%%/examples/sigma08.fsf
+%%DATADIR%%/examples/sigma09.fsf
+%%DATADIR%%/examples/sigma10.fsf
+%%DATADIR%%/examples/sigma11.fsf
+%%DATADIR%%/examples/sigma12.fsf
%%DATADIR%%/examples/tau01.fsf
+%%DATADIR%%/examples/tau02.fsf
+%%DATADIR%%/examples/tau03.fsf
+%%DATADIR%%/examples/tau04.fsf
+%%DATADIR%%/examples/tau05.fsf
+%%DATADIR%%/examples/tau06.fsf
+%%DATADIR%%/examples/tau07.fsf
+%%DATADIR%%/examples/tau08.fsf
+%%DATADIR%%/examples/tau09.fsf
+%%DATADIR%%/examples/tau10.fsf
+%%DATADIR%%/examples/tau11.fsf
+%%DATADIR%%/examples/tau12.fsf
%%DATADIR%%/examples/test1.fsf
%%DATADIR%%/examples/test2.fsf
%%DATADIR%%/examples/test3.fsf
%%DATADIR%%/examples/theta01.fsf
+%%DATADIR%%/examples/theta02.fsf
+%%DATADIR%%/examples/theta03.fsf
+%%DATADIR%%/examples/theta04.fsf
+%%DATADIR%%/examples/theta05.fsf
+%%DATADIR%%/examples/theta06.fsf
+%%DATADIR%%/examples/theta07.fsf
+%%DATADIR%%/examples/theta08.fsf
+%%DATADIR%%/examples/theta09.fsf
+%%DATADIR%%/examples/theta10.fsf
+%%DATADIR%%/examples/theta11.fsf
+%%DATADIR%%/examples/theta12.fsf
%%DATADIR%%/examples/trivial.fsf
+%%DATADIR%%/examples/xi01.fsf
+%%DATADIR%%/examples/xi02.fsf
+%%DATADIR%%/examples/xi03.fsf
+%%DATADIR%%/examples/xi04.fsf
+%%DATADIR%%/examples/xi05.fsf
+%%DATADIR%%/examples/xi06.fsf
+%%DATADIR%%/examples/xi07.fsf
+%%DATADIR%%/examples/xi08.fsf
+%%DATADIR%%/examples/xi09.fsf
+%%DATADIR%%/examples/xi10.fsf
+%%DATADIR%%/examples/xi11.fsf
+%%DATADIR%%/examples/xi12.fsf
%%DATADIR%%/examples/ypsilon01.fsf
+%%DATADIR%%/examples/ypsilon02.fsf
+%%DATADIR%%/examples/ypsilon03.fsf
+%%DATADIR%%/examples/ypsilon04.fsf
+%%DATADIR%%/examples/ypsilon05.fsf
+%%DATADIR%%/examples/ypsilon06.fsf
+%%DATADIR%%/examples/ypsilon07.fsf
+%%DATADIR%%/examples/ypsilon08.fsf
+%%DATADIR%%/examples/ypsilon09.fsf
+%%DATADIR%%/examples/ypsilon10.fsf
+%%DATADIR%%/examples/ypsilon11.fsf
+%%DATADIR%%/examples/ypsilon12.fsf
%%DATADIR%%/examples/zeta01.fsf
%%DATADIR%%/examples/zeta02.fsf
%%DATADIR%%/examples/zeta03.fsf
diff --git a/graphics/frei0r-plugins-cairo/Makefile b/graphics/frei0r-plugins-cairo/Makefile
index 65bd9970e6f8..f6f725167722 100644
--- a/graphics/frei0r-plugins-cairo/Makefile
+++ b/graphics/frei0r-plugins-cairo/Makefile
@@ -1,11 +1,11 @@
PORTREVISION= 0
-PKGNAMESUFFIX= -plugins-${SLAVE_PORT:tl}
+PKGNAMESUFFIX= -plugins-${EXTRA_PLUGINS:tl}
-COMMENT= Frei0r ${SLAVE_PORT} plugins
+COMMENT= Frei0r ${EXTRA_PLUGINS} plugins
MASTERDIR= ${.CURDIR}/../frei0r
PLIST= ${.CURDIR}/pkg-plist
-SLAVE_PORT= cairo
+EXTRA_PLUGINS= cairo
.include "${MASTERDIR}/Makefile"
diff --git a/graphics/frei0r-plugins-cairo/pkg-plist b/graphics/frei0r-plugins-cairo/pkg-plist
index 01c4f99c20e5..b590a1f6ac22 100644
--- a/graphics/frei0r-plugins-cairo/pkg-plist
+++ b/graphics/frei0r-plugins-cairo/pkg-plist
@@ -2,3 +2,4 @@ lib/frei0r-1/cairoaffineblend.so
lib/frei0r-1/cairoblend.so
lib/frei0r-1/cairogradient.so
lib/frei0r-1/cairoimagegrid.so
+lib/frei0r-1/mirr0r.so
diff --git a/graphics/frei0r-plugins-gavl/Makefile b/graphics/frei0r-plugins-gavl/Makefile
index 84128a9dc03a..777909ec3c1e 100644
--- a/graphics/frei0r-plugins-gavl/Makefile
+++ b/graphics/frei0r-plugins-gavl/Makefile
@@ -1,11 +1,11 @@
PORTREVISION= 0
-PKGNAMESUFFIX= -plugins-${SLAVE_PORT:tl}
+PKGNAMESUFFIX= -plugins-${EXTRA_PLUGINS:tl}
-COMMENT= Frei0r ${SLAVE_PORT} plugins
+COMMENT= Frei0r ${EXTRA_PLUGINS} plugins
MASTERDIR= ${.CURDIR}/../frei0r
PLIST= ${.CURDIR}/pkg-plist
-SLAVE_PORT= gavl
+EXTRA_PLUGINS= gavl
.include "${MASTERDIR}/Makefile"
diff --git a/graphics/frei0r-plugins-opencv/Makefile b/graphics/frei0r-plugins-opencv/Makefile
index 5682aa685045..55f65ba70379 100644
--- a/graphics/frei0r-plugins-opencv/Makefile
+++ b/graphics/frei0r-plugins-opencv/Makefile
@@ -1,11 +1,11 @@
-PORTREVISION= 1
-PKGNAMESUFFIX= -plugins-${SLAVE_PORT:tl}
+PORTREVISION= 0
+PKGNAMESUFFIX= -plugins-${EXTRA_PLUGINS:tl}
-COMMENT= Frei0r ${SLAVE_PORT} plugins
+COMMENT= Frei0r ${EXTRA_PLUGINS} plugins
MASTERDIR= ${.CURDIR}/../frei0r
PLIST= ${.CURDIR}/pkg-plist
-SLAVE_PORT= OpenCV
+EXTRA_PLUGINS= OpenCV
.include "${MASTERDIR}/Makefile"
diff --git a/graphics/frei0r/Makefile b/graphics/frei0r/Makefile
index 2a5cace02dc4..51cd7385d34c 100644
--- a/graphics/frei0r/Makefile
+++ b/graphics/frei0r/Makefile
@@ -15,22 +15,22 @@ USES= cmake compiler:c++11-lang pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= dyne
-.if defined(SLAVE_PORT)
+.if defined(EXTRA_PLUGINS)
RUN_DEPENDS= frei0r>=${FREI0R_VERSION}:graphics/frei0r
-. if ${SLAVE_PORT:tl} == "cairo"
+. if ${EXTRA_PLUGINS:tl} == "cairo"
USES+= gnome
USE_GNOME+= cairo
CMAKE_ON= WITHOUT_GAVL \
WITHOUT_OPENCV
CMAKE_OFF= WITHOUT_CAIRO
-. elif ${SLAVE_PORT:tl} == "gavl"
+. elif ${EXTRA_PLUGINS:tl} == "gavl"
LIB_DEPENDS+= libgavl.so:multimedia/gavl
CMAKE_ON= WITHOUT_CAIRO \
WITHOUT_OPENCV
CMAKE_OFF= WITHOUT_GAVL
-. elif ${SLAVE_PORT:tl} == "opencv"
+. elif ${EXTRA_PLUGINS:tl} == "opencv"
LIB_DEPENDS+= libopencv_core.so:graphics/opencv
CMAKE_ON= WITHOUT_CAIRO \
diff --git a/graphics/frei0r/distinfo b/graphics/frei0r/distinfo
index 1b847f84c808..ad3a06785455 100644
--- a/graphics/frei0r/distinfo
+++ b/graphics/frei0r/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1718180347
-SHA256 (dyne-frei0r-v2.3.3_GH0.tar.gz) = aeeefe3a9b44761b2cf110017d2b1dfa2ceeb873da96d283ba5157380c5d0ce5
-SIZE (dyne-frei0r-v2.3.3_GH0.tar.gz) = 921452
+TIMESTAMP = 1760584037
+SHA256 (dyne-frei0r-v2.5.0_GH0.tar.gz) = c511aeb51faeb0de2afe47327c30026d5b76ccc910a0b93d286029f07d29c656
+SIZE (dyne-frei0r-v2.5.0_GH0.tar.gz) = 939132
diff --git a/graphics/frei0r/files/patch-CMakeLists.txt b/graphics/frei0r/files/patch-CMakeLists.txt
index a3d9fadcc109..5b47386f10e6 100644
--- a/graphics/frei0r/files/patch-CMakeLists.txt
+++ b/graphics/frei0r/files/patch-CMakeLists.txt
@@ -1,15 +1,15 @@
- Fix VERSION.
-- Make plugins dependent upon cairo optional.
-- Add logic so slave ports can build without installing base files or plugins.
+- Make plugins that depend upon cairo optional.
+- Add logic so extra plugins can build without installing base components.
---- CMakeLists.txt.orig 2024-06-07 09:00:56 UTC
+--- CMakeLists.txt.orig 2025-09-03 14:34:34 UTC
+++ CMakeLists.txt
@@ -3,16 +3,21 @@ project (frei0r)
list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
project (frei0r)
-set (VERSION 1.8)
-+set (VERSION 2.3)
++set (VERSION 2.4.0)
include(GNUInstallDirs)
@@ -28,25 +28,23 @@
include(FindPkgConfig)
option (WITHOUT_GAVL "Disable plugins dependent upon gavl" OFF)
-@@ -35,18 +40,25 @@ INCLUDE( cmake/modules/TargetDistclean.cmake OPTIONAL)
+@@ -35,17 +40,24 @@ INCLUDE( cmake/modules/TargetDistclean.cmake OPTIONAL)
# --- custom targets: ---
INCLUDE( cmake/modules/TargetDistclean.cmake OPTIONAL)
--# See this thread for a ridiculous discussion about the simple question how to install a header file with CMake: http://www.cmake.org/pipermail/cmake/2009-October/032874.html
--install (DIRECTORY include DESTINATION . FILES_MATCHING PATTERN "frei0r.h" PATTERN "msvc" EXCLUDE)
+-install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+if (NOT BUILD_EXTRA_PLUGINS)
-+ # See this thread for a ridiculous discussion about the simple question how to install a header file with CMake: http://www.cmake.org/pipermail/cmake/2009-October/032874.html
-+ install (DIRECTORY include DESTINATION . FILES_MATCHING PATTERN "frei0r.h" PATTERN "msvc" EXCLUDE)
++ install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
# For code documentation run: doxygen doc/Doxyfile
# add_subdirectory (doc)
-add_subdirectory (src)
+ add_subdirectory (src)
-+else()
++else ()
+ add_subdirectory (src/filter)
+ add_subdirectory (src/mixer2)
-+endif()
++endif ()
# Generate frei0r.pc and install it.
set (prefix "${CMAKE_INSTALL_PREFIX}")
diff --git a/graphics/frei0r/files/patch-src_filter_CMakeLists.txt b/graphics/frei0r/files/patch-src_filter_CMakeLists.txt
index e2e70420920e..b3de8938b99f 100644
--- a/graphics/frei0r/files/patch-src_filter_CMakeLists.txt
+++ b/graphics/frei0r/files/patch-src_filter_CMakeLists.txt
@@ -1,16 +1,16 @@
- Add logic so slave ports can build without installing base plugins.
---- src/filter/CMakeLists.txt.orig 2024-06-07 09:00:56 UTC
+--- src/filter/CMakeLists.txt.orig 2025-10-07 14:15:56 UTC
+++ src/filter/CMakeLists.txt
-@@ -14,6 +14,7 @@ endif (${Cairo_FOUND})
- add_subdirectory (cairogradient)
+@@ -15,6 +15,7 @@ endif (${Cairo_FOUND})
+ add_subdirectory (mirr0r)
endif (${Cairo_FOUND})
+if (NOT BUILD_EXTRA_PLUGINS)
add_subdirectory (3dflippo)
add_subdirectory (aech0r)
add_subdirectory (alpha0ps)
-@@ -99,3 +100,4 @@ add_subdirectory (vignette)
+@@ -102,3 +103,4 @@ add_subdirectory (vignette)
add_subdirectory (twolay0r)
add_subdirectory (vertigo)
add_subdirectory (vignette)
diff --git a/graphics/frei0r/files/patch-src_filter_heatmap0r_CMakeLists.txt b/graphics/frei0r/files/patch-src_filter_heatmap0r_CMakeLists.txt
new file mode 100644
index 000000000000..58f3c3557a18
--- /dev/null
+++ b/graphics/frei0r/files/patch-src_filter_heatmap0r_CMakeLists.txt
@@ -0,0 +1,10 @@
+Don't forget to install it!
+
+--- src/filter/heatmap0r/CMakeLists.txt.orig 2025-10-07 14:15:56 UTC
++++ src/filter/heatmap0r/CMakeLists.txt
+@@ -9,3 +9,5 @@ set_target_properties (${TARGET} PROPERTIES PREFIX "")
+
+ # No «lib» prefix (name.so instead of libname.so)
+ set_target_properties (${TARGET} PROPERTIES PREFIX "")
++
++install (TARGETS ${TARGET} LIBRARY DESTINATION ${LIBDIR})
diff --git a/graphics/frei0r/files/patch-src_mixer2_CMakeLists.txt b/graphics/frei0r/files/patch-src_mixer2_CMakeLists.txt
index d4e8f4cb0a0a..7b33c9b8bd1a 100644
--- a/graphics/frei0r/files/patch-src_mixer2_CMakeLists.txt
+++ b/graphics/frei0r/files/patch-src_mixer2_CMakeLists.txt
@@ -1,6 +1,6 @@
- Add logic so slave ports can build without installing base plugins.
---- src/mixer2/CMakeLists.txt.orig 2023-01-14 18:47:26 UTC
+--- src/mixer2/CMakeLists.txt.orig 2025-09-03 14:34:34 UTC
+++ src/mixer2/CMakeLists.txt
@@ -3,6 +3,7 @@ endif (${Cairo_FOUND})
add_subdirectory (cairoblend)
@@ -10,7 +10,7 @@
add_subdirectory (addition)
add_subdirectory (addition_alpha)
add_subdirectory (alphaatop)
-@@ -34,3 +35,4 @@ add_subdirectory (sleid0r)
+@@ -35,3 +36,4 @@ add_subdirectory (sleid0r)
add_subdirectory (value)
add_subdirectory (xfade0r)
add_subdirectory (sleid0r)
diff --git a/graphics/frei0r/pkg-plist b/graphics/frei0r/pkg-plist
index 6a6659c01952..57124bae10c0 100644
--- a/graphics/frei0r/pkg-plist
+++ b/graphics/frei0r/pkg-plist
@@ -1,4 +1,10 @@
include/frei0r.h
+include/frei0r.hpp
+include/frei0r/blur.h
+include/frei0r/cairo.h
+include/frei0r/cfc.h
+include/frei0r/colorspace.h
+include/frei0r/math.h
lib/frei0r-1/3dflippo.so
lib/frei0r-1/B.so
lib/frei0r-1/G.so
@@ -53,6 +59,7 @@ lib/frei0r-1/edgeglow.so
lib/frei0r-1/elastic_scale.so
lib/frei0r-1/emboss.so
lib/frei0r-1/equaliz0r.so
+lib/frei0r-1/euclid_eraser.so
lib/frei0r-1/filmgrain.so
lib/frei0r-1/flippo.so
lib/frei0r-1/gamma.so
@@ -62,6 +69,7 @@ lib/frei0r-1/glow.so
lib/frei0r-1/grain_extract.so
lib/frei0r-1/grain_merge.so
lib/frei0r-1/hardlight.so
+lib/frei0r-1/heatmap0r.so
lib/frei0r-1/hue.so
lib/frei0r-1/hueshift0r.so
lib/frei0r-1/invert0r.so
@@ -85,6 +93,7 @@ lib/frei0r-1/nervous.so
lib/frei0r-1/nois0r.so
lib/frei0r-1/normaliz0r.so
lib/frei0r-1/nosync0r.so
+lib/frei0r-1/ntsc.so
lib/frei0r-1/onecol0r.so
lib/frei0r-1/overlay.so
lib/frei0r-1/partik0l.so
diff --git a/graphics/frei0r/version.mk b/graphics/frei0r/version.mk
index e90ed7d077b8..de7ec6e8b8d6 100644
--- a/graphics/frei0r/version.mk
+++ b/graphics/frei0r/version.mk
@@ -1 +1 @@
-FREI0R_VERSION= 2.3.3
+FREI0R_VERSION= 2.5.0
diff --git a/graphics/fyre/Makefile b/graphics/fyre/Makefile
index 724c770bebf1..6e58b423ab94 100644
--- a/graphics/fyre/Makefile
+++ b/graphics/fyre/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fyre
PORTVERSION= 1.0.1
-PORTREVISION= 29
+PORTREVISION= 30
CATEGORIES= graphics
MASTER_SITES= http://releases.navi.cx/fyre/
diff --git a/graphics/gd/Makefile b/graphics/gd/Makefile
index fb199ac82c64..dea173561adf 100644
--- a/graphics/gd/Makefile
+++ b/graphics/gd/Makefile
@@ -14,7 +14,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING
CONFLICTS_INSTALL= libgd ??-libgd
-USES= cpe tar:xz pkgconfig pathfix libtool:keepla autoreconf shebangfix
+USES= autoreconf cpe gettext-tools libtool:keepla pathfix pkgconfig \
+ shebangfix tar:xz
SHEBANG_FILES= ${WRKSRC}/src/bdftogd
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-gd-formats
diff --git a/graphics/gdal-grass/Makefile b/graphics/gdal-grass/Makefile
index d3ab1fe6a280..bb2680f9f762 100644
--- a/graphics/gdal-grass/Makefile
+++ b/graphics/gdal-grass/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gdal-grass
-PORTVERSION= 1.0.4
+PORTVERSION= 2.0.0
PORTEPOCH= 1
CATEGORIES= graphics
@@ -13,14 +13,12 @@ BUILD_DEPENDS= grass8>=8.4<8.5:databases/grass8
LIB_DEPENDS= libgdal.so:graphics/gdal \
libgrass_gis.so:databases/grass8
-USES= gmake
+USES= cmake:testing
-ALL_TARGET= default
CFLAGS+= -fPIC
-CONFIGURE_ARGS= --with-autoload=${PREFIX}/lib/gdalplugins \
- --with-gdal=${LOCALBASE}/bin/gdal-config \
- --with-grass=${LOCALBASE}/grass84
-GNU_CONFIGURE= yes
+CMAKE_ARGS= -DAUTOLOAD_DIR=${PREFIX}/lib/gdalplugins
+CMAKE_OFF= AUTOTEST_DOWNLOAD_TEST_DATA \
+ AUTOTEST_SLOW_TEST
PLIST_FILES= lib/gdalplugins/gdal_GRASS.so \
lib/gdalplugins/ogr_GRASS.so
diff --git a/graphics/gdal-grass/distinfo b/graphics/gdal-grass/distinfo
index 33fb2482bf75..c344d8d2c2fd 100644
--- a/graphics/gdal-grass/distinfo
+++ b/graphics/gdal-grass/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750954124
-SHA256 (OSGeo-gdal-grass-1.0.4_GH0.tar.gz) = 38d2ec03c2efadaec142999b0ed7d8556b08dfa3cb228832dcde199e44af0af6
-SIZE (OSGeo-gdal-grass-1.0.4_GH0.tar.gz) = 346968
+TIMESTAMP = 1763853176
+SHA256 (OSGeo-gdal-grass-2.0.0_GH0.tar.gz) = a9b2d5cbeb617c1233763839c5a082a998817cfd81b5d9a26976ea45b8d13baa
+SIZE (OSGeo-gdal-grass-2.0.0_GH0.tar.gz) = 304947
diff --git a/graphics/gdal/Makefile b/graphics/gdal/Makefile
index 7a20a59b31b5..3b76cb597742 100644
--- a/graphics/gdal/Makefile
+++ b/graphics/gdal/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gdal
-PORTVERSION= 3.11.3
+PORTVERSION= 3.11.5
+PORTREVISION= 2
CATEGORIES= graphics geography
MASTER_SITES= https://download.osgeo.org/gdal/${PORTVERSION}/ \
LOCAL/sunpoet
@@ -56,8 +57,11 @@ CMAKE_OFF= BUILD_CSHARP_BINDINGS \
GDAL_USE_TIFF_INTERNAL \
GDAL_USE_ZLIB_INTERNAL \
HDFS_ENABLED \
- SWIG_REGENERATE_PYTHON
-CMAKE_ON= BUILD_APPS \
+ SWIG_REGENERATE_PYTHON \
+ ${CMAKE_OFF_${ARCH}}
+CMAKE_OFF_armv7=GDAL_ENABLE_ARM_NEON_OPTIMIZATIONS
+CMAKE_ON= AVIF_VERSION_CHECK \
+ BUILD_APPS \
BUILD_SHARED_LIBS \
BUILD_STATIC_LIBS \
ENABLE_GNM \
@@ -111,7 +115,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 +128,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 +156,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 +186,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 9e9a4f020e0f..4e3dd0da0d81 100644
--- a/graphics/gdal/distinfo
+++ b/graphics/gdal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752416410
-SHA256 (gdal-3.11.3.tar.xz) = ba0807729fa681eed55bb6d5588bb9e4bde2b691c46e8d6d375ff5eaf789b16a
-SIZE (gdal-3.11.3.tar.xz) = 9313768
+TIMESTAMP = 1762586754
+SHA256 (gdal-3.11.5.tar.xz) = 79f66756f1c843b5ee52c8482d4f6bd2a8b7706d6161cc11f0b27c83d638796a
+SIZE (gdal-3.11.5.tar.xz) = 9321156
diff --git a/graphics/gdal/files/patch-pugixml b/graphics/gdal/files/patch-pugixml
new file mode 100644
index 000000000000..3e67ada4cb72
--- /dev/null
+++ b/graphics/gdal/files/patch-pugixml
@@ -0,0 +1,10 @@
+--- 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,6 @@
+ #include "ogr_api.h"
+ #include <iostream>
+ #include <OpenDriveMap.h>
+-#include <pugixml/pugixml.hpp>
+ #include <vector>
+
+ struct RoadElements
diff --git a/graphics/gdal/pkg-plist b/graphics/gdal/pkg-plist
index 605a1c7d789c..af6f66843e42 100644
--- a/graphics/gdal/pkg-plist
+++ b/graphics/gdal/pkg-plist
@@ -137,6 +137,7 @@ share/bash-completion/completions/gdal_contour
share/bash-completion/completions/gdal_create
share/bash-completion/completions/gdal_edit.py
share/bash-completion/completions/gdal_fillnodata.py
+share/bash-completion/completions/gdal_footprint
share/bash-completion/completions/gdal_grid
share/bash-completion/completions/gdal_merge.py
share/bash-completion/completions/gdal_polygonize.py
@@ -148,12 +149,9 @@ share/bash-completion/completions/gdal_translate
share/bash-completion/completions/gdal_viewshed
share/bash-completion/completions/gdaladdo
share/bash-completion/completions/gdalbuildvrt
-share/bash-completion/completions/gdalchksum.py
share/bash-completion/completions/gdalcompare.py
share/bash-completion/completions/gdaldem
share/bash-completion/completions/gdalenhance
-share/bash-completion/completions/gdalident.py
-share/bash-completion/completions/gdalimport.py
share/bash-completion/completions/gdalinfo
share/bash-completion/completions/gdallocationinfo
share/bash-completion/completions/gdalmanage
@@ -163,10 +161,12 @@ share/bash-completion/completions/gdaltindex
share/bash-completion/completions/gdaltransform
share/bash-completion/completions/gdalwarp
share/bash-completion/completions/ogr2ogr
+share/bash-completion/completions/ogr_layer_algebra.py
share/bash-completion/completions/ogrinfo
share/bash-completion/completions/ogrlineref
share/bash-completion/completions/ogrmerge.py
share/bash-completion/completions/ogrtindex
+share/bash-completion/completions/sozip
%%DATADIR%%/GDALLogoBW.svg
%%DATADIR%%/GDALLogoColor.svg
%%DATADIR%%/GDALLogoGS.svg
diff --git a/graphics/gdk-pixbuf2/Makefile b/graphics/gdk-pixbuf2/Makefile
index e0f2ef659336..a864aa81e428 100644
--- a/graphics/gdk-pixbuf2/Makefile
+++ b/graphics/gdk-pixbuf2/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gdk-pixbuf
-PORTVERSION= 2.42.12
-PORTREVISION= 1
+PORTVERSION= 2.44.1
CATEGORIES= graphics
MASTER_SITES= GNOME
PKGNAMESUFFIX= 2
@@ -21,19 +20,26 @@ SHEBANG_FILES= build-aux/*.py
USE_LDCONFIG= yes
MESON_ARGS= -Dbuiltin_loaders="none" \
-Dtests=true \
+ -Dandroid=disabled \
+ -Dglycin=disabled \
-Dinstalled_tests=false
TRIGGERS= gdk-pixbuf-query-loaders
SUB_LIST= GTK2_VERSION=${GTK2_VERSION}
-LIBVERSION= 0.4200.12
+LIBVERSION= 0.4400.1
PLIST_SUB+= LIBVERSION=${LIBVERSION}
+TESTING_UNSAFE= some tests invoke OOM conditions, which may be destructive for the system
+
OPTIONS_SUB= yes
-OPTIONS_DEFINE= DOCS GIF JPEG MANPAGES PNG TIFF
+OPTIONS_DEFINE= DOCS MANPAGES
OPTIONS_DEFAULT=GIF JPEG MANPAGES PNG TIFF
+# at least one format has to be selected, otherwise the build fails
+OPTIONS_MULTI= FORMATS
+OPTIONS_MULTI_FORMATS= GIF JPEG PNG TIFF
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gi-docgen>0:textproc/py-gi-docgen@${PY_FLAVOR}
-DOCS_MESON_TRUE= gtk_doc
+DOCS_MESON_TRUE= documentation
GIF_MESON_ENABLED= gif
diff --git a/graphics/gdk-pixbuf2/distinfo b/graphics/gdk-pixbuf2/distinfo
index cce2b3b0ccbd..96dd8ae4b281 100644
--- a/graphics/gdk-pixbuf2/distinfo
+++ b/graphics/gdk-pixbuf2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1740710770
-SHA256 (gnome/gdk-pixbuf-2.42.12.tar.xz) = b9505b3445b9a7e48ced34760c3bcb73e966df3ac94c95a148cb669ab748e3c7
-SIZE (gnome/gdk-pixbuf-2.42.12.tar.xz) = 6525072
+TIMESTAMP = 1758197129
+SHA256 (gnome/gdk-pixbuf-2.44.1.tar.xz) = 4eec84cfc55979045b3e0fca72c3cc081d556952ad33b30c7d29c0474db48a28
+SIZE (gnome/gdk-pixbuf-2.44.1.tar.xz) = 6538636
diff --git a/graphics/gdk-pixbuf2/pkg-plist b/graphics/gdk-pixbuf2/pkg-plist
index 77fd1e87f90a..579b7ec3be63 100644
--- a/graphics/gdk-pixbuf2/pkg-plist
+++ b/graphics/gdk-pixbuf2/pkg-plist
@@ -3,7 +3,6 @@ bin/gdk-pixbuf-pixdata
bin/gdk-pixbuf-query-loaders
bin/gdk-pixbuf-thumbnailer
include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h
-include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h
include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h
include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h
include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h
@@ -117,6 +116,7 @@ libdata/pkgconfig/gdk-pixbuf-2.0.pc
%%DOCS%%%%DOCSDIR%%/flags.PixbufFormatFlags.html
%%DOCS%%%%DOCSDIR%%/fonts.css
%%DOCS%%%%DOCSDIR%%/func.PIXBUF_CHECK_VERSION.html
+%%DOCS%%%%DOCSDIR%%/func.PIXBUF_DEPRECATED_IN_2_44_FOR.html
%%DOCS%%%%DOCSDIR%%/fzy.js
%%DOCS%%%%DOCSDIR%%/gdk-pixbuf.devhelp2
%%DOCS%%%%DOCSDIR%%/gnome-gmush-1.png
diff --git a/graphics/geeqie/Makefile b/graphics/geeqie/Makefile
index 0ebe4e3f06e0..2988246fd50f 100644
--- a/graphics/geeqie/Makefile
+++ b/graphics/geeqie/Makefile
@@ -1,7 +1,7 @@
PORTNAME= geeqie
DISTVERSIONPREFIX= v
DISTVERSION= 2.4
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
MAINTAINER= amdmi3@FreeBSD.org
diff --git a/graphics/gegl/Makefile b/graphics/gegl/Makefile
index 2ec905392421..e166f8c0260a 100644
--- a/graphics/gegl/Makefile
+++ b/graphics/gegl/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gegl
-DISTVERSION= 0.4.62
+DISTVERSION= 0.4.64
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= GIMP
@@ -30,8 +31,6 @@ MESON_ARGS= -Ddocs=false \
-Dworkshop=false \
-Dintrospection=true \
-Dlensfun=disabled \
- -Dlibjpeg=enabled \
- -Dlibpng=enabled \
-Dmaxflow=disabled \
-Dmrg=disabled \
-Dpygobject=disabled \
@@ -40,7 +39,7 @@ MESON_ARGS= -Ddocs=false \
MESON_ARGS+= -Dopenmp=disabled
.endif
-GEGL_SHLIB= 0.461.1
+GEGL_SHLIB= 0.463.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 6baf544fe586..8c41ce29aae0 100644
--- a/graphics/gegl/distinfo
+++ b/graphics/gegl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752052464
-SHA256 (gegl-0.4.62.tar.xz) = 5887576371ebf1d9e90797d10e4b9a7f1658228d4827583e79e1db3d94505c6c
-SIZE (gegl-0.4.62.tar.xz) = 6025372
+TIMESTAMP = 1759928302
+SHA256 (gegl-0.4.64.tar.xz) = 0de1c9dd22c160d5e4bdfc388d292f03447cca6258541b9a12fed783d0cf7c60
+SIZE (gegl-0.4.64.tar.xz) = 6066976
diff --git a/graphics/geos/Makefile b/graphics/geos/Makefile
index a449ba9be17d..37fb8a9ed853 100644
--- a/graphics/geos/Makefile
+++ b/graphics/geos/Makefile
@@ -1,5 +1,5 @@
PORTNAME= geos
-PORTVERSION= 3.13.1
+PORTVERSION= 3.14.1
CATEGORIES= graphics geography
MASTER_SITES= https://github.com/libgeos/geos/releases/download/${PORTVERSION}/ \
https://download.osgeo.org/geos/
diff --git a/graphics/geos/distinfo b/graphics/geos/distinfo
index 143259f4982e..6482b900ef4d 100644
--- a/graphics/geos/distinfo
+++ b/graphics/geos/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742070260
-SHA256 (geos-3.13.1.tar.bz2) = df2c50503295f325e7c8d7b783aca8ba4773919cde984193850cf9e361dfd28c
-SIZE (geos-3.13.1.tar.bz2) = 6839955
+TIMESTAMP = 1762586708
+SHA256 (geos-3.14.1.tar.bz2) = 3c20919cda9a505db07b5216baa980bacdaa0702da715b43f176fb07eff7e716
+SIZE (geos-3.14.1.tar.bz2) = 7013834
diff --git a/graphics/geos/pkg-plist b/graphics/geos/pkg-plist
index 5a943f4f20e2..a0307d3fe7ce 100644
--- a/graphics/geos/pkg-plist
+++ b/graphics/geos/pkg-plist
@@ -30,7 +30,7 @@ include/geos/algorithm/PolygonNodeTopology.h
include/geos/algorithm/RayCrossingCounter.h
include/geos/algorithm/Rectangle.h
include/geos/algorithm/RobustDeterminant.h
-include/geos/algorithm/SimplePointInRing.h
+include/geos/algorithm/construct/ExactMaxInscribedCircle.h
include/geos/algorithm/construct/IndexedDistanceToPoint.h
include/geos/algorithm/construct/IndexedPointInPolygonsLocator.h
include/geos/algorithm/construct/LargestEmptyCircle.h
@@ -48,8 +48,10 @@ include/geos/algorithm/locate/IndexedPointInAreaLocator.h
include/geos/algorithm/locate/PointOnGeometryLocator.h
include/geos/algorithm/locate/SimplePointInAreaLocator.h
include/geos/constants.h
+include/geos/coverage/CleanCoverage.h
include/geos/coverage/Corner.h
include/geos/coverage/CoverageBoundarySegmentFinder.h
+include/geos/coverage/CoverageCleaner.h
include/geos/coverage/CoverageEdge.h
include/geos/coverage/CoverageGapFinder.h
include/geos/coverage/CoveragePolygon.h
@@ -62,6 +64,9 @@ include/geos/coverage/CoverageValidator.h
include/geos/coverage/InvalidSegmentDetector.h
include/geos/coverage/TPVWSimplifier.h
include/geos/coverage/VertexRingCounter.h
+include/geos/dissolve/DissolveEdgeGraph.h
+include/geos/dissolve/DissolveHalfEdge.h
+include/geos/dissolve/LineDissolver.h
include/geos/edgegraph/EdgeGraph.h
include/geos/edgegraph/EdgeGraphBuilder.h
include/geos/edgegraph/HalfEdge.h
@@ -327,6 +332,16 @@ include/geos/operation/distance/FacetSequence.h
include/geos/operation/distance/FacetSequenceTreeBuilder.h
include/geos/operation/distance/GeometryLocation.h
include/geos/operation/distance/IndexedFacetDistance.h
+include/geos/operation/grid/Cell.h
+include/geos/operation/grid/Crossing.h
+include/geos/operation/grid/FloodFill.h
+include/geos/operation/grid/Grid.h
+include/geos/operation/grid/GridIntersection.h
+include/geos/operation/grid/Matrix.h
+include/geos/operation/grid/PerimeterDistance.h
+include/geos/operation/grid/Side.h
+include/geos/operation/grid/Traversal.h
+include/geos/operation/grid/TraversalAreas.h
include/geos/operation/intersection/Rectangle.h
include/geos/operation/intersection/RectangleIntersection.h
include/geos/operation/intersection/RectangleIntersectionBuilder.h
@@ -451,7 +466,6 @@ include/geos/precision/EnhancedPrecisionOp.h
include/geos/precision/GeometryPrecisionReducer.h
include/geos/precision/MinimumClearance.h
include/geos/precision/PointwisePrecisionReducerTransformer.h
-include/geos/precision/PrecisionReducerCoordinateOperation.h
include/geos/precision/PrecisionReducerTransformer.h
include/geos/precision/SimpleGeometryPrecisionReducer.h
include/geos/profiler.h
@@ -494,7 +508,6 @@ include/geos/triangulate/tri/Tri.h
include/geos/triangulate/tri/TriEdge.h
include/geos/triangulate/tri/TriList.h
include/geos/triangulate/tri/TriangulationBuilder.h
-include/geos/unload.h
include/geos/util.h
include/geos/util/Assert.h
include/geos/util/AssertionFailedException.h
@@ -522,5 +535,5 @@ lib/libgeos.so
lib/libgeos.so.%%PORTVERSION%%
lib/libgeos_c.so
lib/libgeos_c.so.1
-lib/libgeos_c.so.1.19.2
+lib/libgeos_c.so.1.20.5
libdata/pkgconfig/geos.pc
diff --git a/graphics/geoserver/Makefile b/graphics/geoserver/Makefile
index 4a91339aa4b8..b113a4c97fd8 100644
--- a/graphics/geoserver/Makefile
+++ b/graphics/geoserver/Makefile
@@ -1,5 +1,5 @@
PORTNAME= geoserver
-DISTVERSION= 2.27.1
+DISTVERSION= 2.28.1
CATEGORIES= graphics geography java
MASTER_SITES= SF/${PORTNAME}/GeoServer/${PORTVERSION}
DISTNAME= ${PORTNAME}-${PORTVERSION}-bin
@@ -30,20 +30,18 @@ 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 \
- IMAGEIO=1.4.15 \
- JACKSON=2.18.2 \
- JETTY=9.4.57.v20241219 \
- JNA=5.16.0 \
- JT=1.1.31 \
- JT1=1.6.0 \
+ GT=34.1 \
+ GWC=1.28.1 \
+ IMAGEIO=2.0.1 \
+ JACKSON=2.19.0 \
+ JETTY=10.0.25 \
+ JNA=5.17.0 \
+ JT=0.9.1 \
MVER=${PORTVERSION} \
SI=2.2 \
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..1eca8e2e1a46 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 = 1765019003
+SHA256 (geoserver-2.28.1-bin.zip) = c25974e4a3cc55fa591a7c9b0712de187de96a7f2ae1e5b2f05e2fe72e4ddc69
+SIZE (geoserver-2.28.1-bin.zip) = 123768851
diff --git a/graphics/geoserver/pkg-plist b/graphics/geoserver/pkg-plist
index b8c71f098752..51cfed038f14 100644
--- a/graphics/geoserver/pkg-plist
+++ b/graphics/geoserver/pkg-plist
@@ -533,8 +533,6 @@
%%G%%/lib/ant-launcher-1.10.11.jar
%%G%%/lib/commons-el-1.0.jar
%%G%%/lib/commons-logging-1.3.5.jar
-%%G%%/lib/javax.servlet-api-3.1.0.jar
-%%G%%/lib/jetty-continuation-%%JETTY%%.jar
%%G%%/lib/jetty-deploy-%%JETTY%%.jar
%%G%%/lib/jetty-http-%%JETTY%%.jar
%%G%%/lib/jetty-io-%%JETTY%%.jar
@@ -542,16 +540,25 @@
%%G%%/lib/jetty-security-%%JETTY%%.jar
%%G%%/lib/jetty-server-%%JETTY%%.jar
%%G%%/lib/jetty-servlet-%%JETTY%%.jar
+%%G%%/lib/jetty-servlet-api-4.0.6.jar
%%G%%/lib/jetty-servlets-%%JETTY%%.jar
+%%G%%/lib/jetty-slf4j-impl-%%JETTY%%.jar
%%G%%/lib/jetty-util-%%JETTY%%.jar
-%%G%%/lib/jetty-util-ajax-%%JETTY%%.jar
%%G%%/lib/jetty-webapp-%%JETTY%%.jar
%%G%%/lib/jetty-xml-%%JETTY%%.jar
+%%G%%/lib/log4j-1.2-api-2.24.3.jar
+%%G%%/lib/log4j-api-2.24.3.jar
+%%G%%/lib/log4j-core-2.24.3.jar
+%%G%%/lib/log4j-jcl-2.24.3.jar
+%%G%%/lib/log4j-jul-2.24.3.jar
+%%G%%/lib/log4j-slf4j2-impl-2.24.3.jar
+%%G%%/lib/slf4j-api-2.0.16.jar
%%G%%/logs/keepme.txt
%%G%%/modules/bytebufferpool.mod
%%G%%/modules/deploy.mod
%%G%%/modules/http.mod
%%G%%/modules/https.mod
+%%G%%/modules/logging-slf4j.mod
%%G%%/modules/resources.mod
%%G%%/modules/security.mod
%%G%%/modules/server.mod
@@ -562,15 +569,18 @@
%%G%%/resources/log4j.properties
%%G%%/start.ini
%%G%%/start.jar
-%%G%%/webapps/%%G%%/accessDenied.html
-%%G%%/webapps/%%G%%/index.html
%%G%%/webapps/%%G%%/WEB-INF/dispatcher-servlet.xml
%%G%%/webapps/%%G%%/WEB-INF/lib/FastInfoset-1.2.15.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/GeographicLib-Java-1.49.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/JavaAPIforKml-2.2.0.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/affine-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/aircompressor-0.27.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/algebra-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/antlr4-runtime-4.7.1.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/apiguardian-api-1.1.2.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/bandcombine-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/bandmerge-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/bandselect-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/batik-anim-%%BATIK%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/batik-awt-util-%%BATIK%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/batik-bridge-%%BATIK%%.jar
@@ -590,30 +600,44 @@
%%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/binarize-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/border-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/buffer-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/checker-qual-3.49.5.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/classbreaks-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/classifier-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/colorconvert-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/colorindexer-%%JT%%.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-compiler-3.0.8.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
+%%G%%/webapps/%%G%%/WEB-INF/lib/commons-lang3-3.18.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-logging-1.3.5.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-pool-1.5.4.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/commons-text-1.13.0.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/concurrent-tile-cache-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/contour-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/convolve-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/crop-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/disruptor-1.2.15.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/ehcache-3.4.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/ejml-core-0.41.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/ejml-ddense-0.41.jar
%%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/errordiffusion-%%JT%%.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/format-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/freemarker-2.3.34.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/geodb-0.9.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gs-gwc-%%MVER%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gs-gwc-rest-%%MVER%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gs-kml-%%MVER%%.jar
@@ -650,6 +674,7 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-brewer-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-complex-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-coverage-%%GT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/gt-coverage-api-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-cql-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-epsg-hsql-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-geojson-core-%%GT%%.jar
@@ -662,9 +687,10 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-image-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-imagemosaic-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-jdbc-%%GT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/gt-jdbc-h2-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-jdbc-postgis-%%GT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/gt-main-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-main-%%GT%%-tests.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/gt-main-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-metadata-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-process-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gt-process-feature-%%GT%%.jar
@@ -690,7 +716,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
@@ -702,10 +728,13 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/gwc-ve-%%GWC%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gwc-wms-%%GWC%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/gwc-wmts-%%GWC%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/h2-1.1.119.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/hatbox-1.0.b11.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/hsqldb-2.7.2.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/httpclient-4.5.14.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/httpclient-cache-4.5.14.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/httpcore-4.4.16.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/imagefunction-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/imageio-ext-arcgrid-%%IMAGEIO%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/imageio-ext-cog-commons-%%IMAGEIO%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/imageio-ext-cog-reader-%%IMAGEIO%%.jar
@@ -715,21 +744,21 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/imageio-ext-streams-%%IMAGEIO%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/imageio-ext-tiff-%%IMAGEIO%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/imageio-ext-utilities-%%IMAGEIO%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/imagen-core-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/imageread-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/indriya-%%SI%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/istack-commons-runtime-3.0.7.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/iterators-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/j2objc-annotations-3.0.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jackson-annotations-%%JACKSON%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jackson-core-%%JACKSON%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jackson-databind-%%JACKSON%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jackson-dataformat-xml-%%JACKSON%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jai_codec-%%VER3%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jai_core-%%VER3%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jai_imageio-1.1.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jakarta.activation-1.2.2.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jakarta.annotation-api-1.3.4.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jakarta.inject-api-2.0.1.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jakarta.mail-1.6.7.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/janino-3.1.12.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/janino-3.0.8.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jasypt-1.9.3.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jasypt-springsecurity3-1.9.3.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/javax.activation-api-1.2.0.jar
@@ -738,55 +767,15 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/jdk-serializable-functional-1.9.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jettison-1.5.4.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jgridshift-core-1.3.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/jiffle-language-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/jiffle-op-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jna-%%JNA%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jna-platform-%%JNA%%.jar
%%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/jt-affine-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-algebra-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-attributeop-%%JT1%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-bandcombine-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-bandmerge-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-bandselect-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-binarize-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-border-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-buffer-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-classbreaks-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-classifier-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-colorconvert-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-colorindexer-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-concurrent-tile-cache-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-contour-%%JT1%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-crop-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-errordiffusion-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-format-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-imagefunction-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-iterators-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-jiffle-language-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-jiffle-op-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-lookup-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-mosaic-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-nullop-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-orderdither-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-piecewise-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-rangelookup-%%JT1%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-rescale-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-rlookup-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-scale-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-scale2-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-shadedrelief-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-stats-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-translate-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-utilities-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-utils-%%JT1%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-vectorbin-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-vectorbinarize-%%JT1%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-vectorize-%%JT1%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-warp-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-zonal-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-zonalstats-%%JT1%%.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/jts-core-1.20.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/log4j-1.2-api-2.24.3.jar
@@ -795,28 +784,40 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/log4j-jcl-2.24.3.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/log4j-jul-2.24.3.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/log4j-slf4j2-impl-2.24.3.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/lookup-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/marlin-0.9.4.8.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/mosaic-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/mxparser-1.2.2.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/net.opengis.fes-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/net.opengis.ows-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/net.opengis.wcs-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/net.opengis.wfs-%%GT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/net.opengis.wmts-%%GT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/nullop-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/openjson-1.0.13.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/openpdf-1.3.26.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/orderdither-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/org.eclipse.emf.common-2.15.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/org.eclipse.emf.ecore-2.15.0.jar
%%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/piecewise-%%JT%%.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.8.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/re2j-1.8.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/rendered-image-browser-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/rescale-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/rlookup-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/scale-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/scale2-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/shadedrelief-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/si-quantity-2.1.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/si-units-2.1.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/slf4j-api-2.0.16.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/spotbugs-annotations-4.0.2.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/spring-aop-%%SPRING%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/spring-beans-%%SPRING%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/spring-context-%%SPRING%%.jar
@@ -834,12 +835,18 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/spring-web-%%SPRING%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/spring-webmvc-%%SPRING%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/sqlite-jdbc-3.41.2.2.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/stats-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/stax-ex-1.8.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/stax2-api-4.2.2.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/systems-common-2.1.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/translate-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/txw2-2.4.0-b180830.0438.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/unit-api-%%SI%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/uom-lib-common-%%SI%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/utilities-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/vectorbin-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/vectorize-%%JT%%.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/warp-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/wicket-core-%%WICKET%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/wicket-dnd-0.7.3.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/wicket-extensions-%%WICKET%%.jar
@@ -851,9 +858,12 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/xml-apis-ext-1.3.04.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/xml-commons-resolver-1.2.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/xmlgraphics-commons-2.10.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/xmlpull-%%VER3%%.1.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/xmlpull-1.1.3.1.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/xstream-1.4.21.jar
+%%G%%/webapps/%%G%%/WEB-INF/lib/zonal-%%JT%%.jar
%%G%%/webapps/%%G%%/WEB-INF/web.xml
+%%G%%/webapps/%%G%%/accessDenied.html
+%%G%%/webapps/%%G%%/index.html
@dir %%G%%/webapps/%%G%%/WEB-INF/classes
@sample %%G%%/etc/jdbcRealm.properties.sample
@sample %%G%%/etc/jetty-bytebufferpool.xml.sample
diff --git a/graphics/gexiv2/Makefile b/graphics/gexiv2/Makefile
index 8106e39f84d8..0875132f4852 100644
--- a/graphics/gexiv2/Makefile
+++ b/graphics/gexiv2/Makefile
@@ -12,7 +12,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libexiv2.so:graphics/exiv2
-USES= compiler:c++17-lang gnome libtool:build meson pathfix pkgconfig \
+USES= compiler:c++17-lang gnome meson pathfix pkgconfig \
python:build tar:xz vala:build
USE_GNOME= glib20 introspection:build pygobject3
USE_LDCONFIG= yes
diff --git a/graphics/gexiv2_016/Makefile b/graphics/gexiv2_016/Makefile
new file mode 100644
index 000000000000..f5cc5e4b22b3
--- /dev/null
+++ b/graphics/gexiv2_016/Makefile
@@ -0,0 +1,41 @@
+PORTNAME= gexiv2
+PKGNAMESUFFIX= _016
+PORTVERSION= 0.16.0
+CATEGORIES= graphics
+MASTER_SITES= GNOME
+
+MAINTAINER= cmt@FreeBSD.org
+COMMENT= GObject-based wrapper around Exiv2 library
+WWW= https://wiki.gnome.org/Projects/gexiv2
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= gi-docgen:textproc/py-gi-docgen
+LIB_DEPENDS= libexiv2.so:graphics/exiv2
+
+USES= compiler:c++17-lang gnome meson pathfix pkgconfig \
+ python:build tar:xz vala:build
+USE_GNOME= glib20 introspection:build pygobject3
+USE_LDCONFIG= yes
+BINARY_WRAPPERS= gm4
+BINARY_ALIAS= python3=${PYTHON_CMD}
+
+USE_CXXSTD= c++17
+
+PLIST_SUB= SOVERSION=${PORTVERSION:C/^0./4./}
+
+OPTIONS_DEFINE= DOCS
+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
+
+post-install:
+ ${RM} -r ${STAGEDIR}${PREFIX}/lib/python*
+
+.include <bsd.port.mk>
diff --git a/graphics/gexiv2_016/distinfo b/graphics/gexiv2_016/distinfo
new file mode 100644
index 000000000000..8924d65546c8
--- /dev/null
+++ b/graphics/gexiv2_016/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1757856131
+SHA256 (gexiv2-0.16.0.tar.xz) = d96f895f24539f966f577b2bb2489ae84f8232970a8d0c064e4a007474a77bbb
+SIZE (gexiv2-0.16.0.tar.xz) = 434080
diff --git a/graphics/gexiv2_016/pkg-descr b/graphics/gexiv2_016/pkg-descr
new file mode 100644
index 000000000000..c8c65e04ec89
--- /dev/null
+++ b/graphics/gexiv2_016/pkg-descr
@@ -0,0 +1,3 @@
+gexiv2 is a GObject wrapper around the Exiv2 photo metadata library.
+It allows for GNOME applications to easily inspect and update EXIF, IPTC,
+and XMP metadata in photo and video files of various formats.
diff --git a/graphics/gexiv2_016/pkg-plist b/graphics/gexiv2_016/pkg-plist
new file mode 100644
index 000000000000..a79e39ceb975
--- /dev/null
+++ b/graphics/gexiv2_016/pkg-plist
@@ -0,0 +1,216 @@
+include/gexiv2-0.16/gexiv2/gexiv2-enums.h
+include/gexiv2-0.16/gexiv2/gexiv2-log.h
+include/gexiv2-0.16/gexiv2/gexiv2-metadata.h
+include/gexiv2-0.16/gexiv2/gexiv2-preview-properties.h
+include/gexiv2-0.16/gexiv2/gexiv2-preview-image.h
+include/gexiv2-0.16/gexiv2/gexiv2-startup.h
+include/gexiv2-0.16/gexiv2/gexiv2-version.h
+include/gexiv2-0.16/gexiv2/gexiv2.h
+lib/girepository-1.0/GExiv2-0.16.typelib
+lib/libgexiv2-0.16.so
+lib/libgexiv2-0.16.so.4
+lib/libgexiv2-0.16.so.%%SOVERSION%%
+libdata/pkgconfig/gexiv2-0.16.pc
+share/gir-1.0/GExiv2-0.16.gir
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/GExiv2.devhelp2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-Black.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-Black.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-BlackItalic.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-BlackItalic.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-Bold.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-Bold.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-BoldItalic.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-BoldItalic.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-Italic.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-Italic.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-Medium.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-Medium.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-MediumItalic.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-MediumItalic.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-Regular.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatDisplay-Regular.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-Bold.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-Bold.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-BoldItalic.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-BoldItalic.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-Italic.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-Italic.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-Medium.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-Medium.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-MediumItalic.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-MediumItalic.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-Regular.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/RedHatText-Regular.woff2
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/SourceCodePro-It.ttf.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/SourceCodePro-Regular.ttf.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/SourceCodePro-Semibold.ttf.woff
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/callback.LogHandler.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/class.Metadata.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/class.PreviewImage.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/class.PreviewProperties.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/classes_hierarchy.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/const.MAJOR_VERSION.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/const.MICRO_VERSION.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/const.MINOR_VERSION.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/ctor.Metadata.new.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/enum.ByteOrder.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/enum.LogLevel.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/enum.Orientation.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/enum.StructureType.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/flags.XmpFormatFlags.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/fonts.css
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/func.CHECK_VERSION.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/func.get_version.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/func.initialize.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/func.log_get_default_handler.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/func.log_get_handler.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/func.log_get_level.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/func.log_set_handler.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/func.log_set_level.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/func.log_use_glib_logging.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/func.shutdown.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/fzy.js
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/go-up-symbolic.png
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/index.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/index.json
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/main.js
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.as_bytes.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.clear.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.clear_comment.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.clear_exif.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.clear_iptc.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.clear_tag.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.clear_xmp.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.delete_gps_info.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.erase_exif_thumbnail.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.from_app1_segment.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.from_stream.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.generate_xmp_packet.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_comment.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_exif_data.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_exif_tag_rational.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_exif_tags.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_exif_thumbnail.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_exposure_time.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_fnumber.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_focal_length.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_gps_altitude.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_gps_info.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_gps_latitude.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_gps_longitude.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_iptc_tags.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_iso_speed.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_metadata_pixel_height.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_metadata_pixel_width.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_mime_type.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_orientation.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_pixel_height.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_pixel_width.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_preview_image.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_preview_properties.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_supports_exif.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_supports_iptc.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_supports_xmp.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_tag_interpreted_string.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_tag_long.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_tag_multiple.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_tag_raw.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_tag_string.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_xmp_packet.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.get_xmp_tags.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.has_exif.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.has_iptc.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.has_tag.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.has_xmp.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.open_buf.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.open_path.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.save_external.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.save_file.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_comment.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_exif_tag_rational.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_exif_thumbnail_from_buffer.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_exif_thumbnail_from_file.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_gps_info.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_metadata_pixel_height.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_metadata_pixel_width.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_orientation.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_tag_long.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_tag_multiple.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_tag_string.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.set_xmp_tag_struct.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.tag_supports_multiple_values.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_clear_tag.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_delete_gps_info.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_erase_exif_thumbnail.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_generate_xmp_packet.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_comment.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_exif_tag_rational.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_exposure_time.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_fnumber.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_focal_length.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_gps_altitude.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_gps_info.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_gps_latitude.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_gps_longitude.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_iso_speed.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_metadata_pixel_height.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_metadata_pixel_width.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_orientation.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_preview_image.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_tag_interpreted_string.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_tag_long.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_tag_multiple.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_tag_raw.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_tag_string.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_get_xmp_packet.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_has_tag.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_comment.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_exif_tag_rational.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_exif_thumbnail_from_buffer.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_gps_info.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_metadata_pixel_height.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_metadata_pixel_width.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_orientation.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_tag_long.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_tag_multiple.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_tag_string.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_set_xmp_tag_struct.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_tag_supports_multiple_values.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.try_update_gps_info.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.Metadata.update_gps_info.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewImage.get_data.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewImage.get_extension.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewImage.get_height.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewImage.get_mime_type.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewImage.get_width.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewImage.try_write_file.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewImage.write_file.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewProperties.get_extension.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewProperties.get_height.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewProperties.get_mime_type.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewProperties.get_size.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/method.PreviewProperties.get_width.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/search.js
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/solarized-dark.css
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/solarized-light.css
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/style.css
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.get_tag_description.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.get_tag_label.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.get_tag_type.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.get_xmp_namespace_for_tag.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.is_exif_tag.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.is_iptc_tag.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.is_xmp_tag.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.register_xmp_namespace.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.try_get_tag_description.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.try_get_tag_label.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.try_get_tag_type.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.try_get_xmp_namespace_for_tag.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.try_register_xmp_namespace.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.try_unregister_all_xmp_namespaces.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.try_unregister_xmp_namespace.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.unregister_all_xmp_namespaces.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/type_func.Metadata.unregister_xmp_namespace.html
+%%DOCS%%%%DOCSDIR%%-0.16/reference/GExiv2/urlmap.js
+share/vala/vapi/gexiv2-0.16.deps
+share/vala/vapi/gexiv2-0.16.vapi
diff --git a/graphics/gifski/Makefile b/graphics/gifski/Makefile
index dff5a9740e87..bfb8a92a494c 100644
--- a/graphics/gifski/Makefile
+++ b/graphics/gifski/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gifski
DISTVERSION= 1.10.3
-PORTREVISION= 20
+PORTREVISION= 23
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/gimp-app/Makefile b/graphics/gimp-app/Makefile
index 37468af4e8fe..4c7b82af4ad9 100644
--- a/graphics/gimp-app/Makefile
+++ b/graphics/gimp-app/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gimp
DISTVERSION= 2.10.38
-PORTREVISION= 5
+PORTREVISION= 8
PORTEPOCH= 1
CATEGORIES= graphics gnome
MASTER_SITES= GIMP/gimp/v${PORTVERSION:R}
diff --git a/graphics/gimp-app/files/patch-libgimp_gimp.c b/graphics/gimp-app/files/patch-libgimp_gimp.c
index 04826609962c..7c4b35692e24 100644
--- a/graphics/gimp-app/files/patch-libgimp_gimp.c
+++ b/graphics/gimp-app/files/patch-libgimp_gimp.c
@@ -1,22 +1,22 @@
Why is this patch needed?
---- libgimp/gimp.c.orig 2023-11-05 23:49:05 UTC
+--- libgimp/gimp.c.orig 2025-05-17 22:51:03 UTC
+++ libgimp/gimp.c
@@ -28,6 +28,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
-+#include <floatingpoint.h>
++#include <fenv.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
-@@ -450,6 +451,9 @@ gimp_main (const GimpPlugInInfo *info,
+@@ -348,6 +349,9 @@ gimp_main (GType plug_in_type,
gimp_env_init (TRUE);
progname = argv[ARG_PROGNAME];
+
+ /* Ignore floating point exceptions */
-+ fpsetmask(0);
++ fedisableexcept(FE_ALL_EXCEPT);
basename = g_path_get_basename (progname);
diff --git a/graphics/gimp3-app/Makefile b/graphics/gimp3-app/Makefile
index e8f8239db386..db88158a6ffb 100644
--- a/graphics/gimp3-app/Makefile
+++ b/graphics/gimp3-app/Makefile
@@ -1,5 +1,6 @@
PORTNAME= gimp
-DISTVERSION= 3.0.4
+DISTVERSION= 3.0.6
+PORTREVISION= 2
CATEGORIES?= graphics gnome
MASTER_SITES= GIMP/gimp/v${PORTVERSION:R}
PKGNAMESUFFIX= 3-app
@@ -31,10 +32,10 @@ LIB_DEPENDS= libpng.so:graphics/png \
libjson-c.so:devel/json-c \
libmypaint.so:graphics/libmypaint \
libfreetype.so:print/freetype2 \
+ libappstream.so:devel/appstream \
libappstream-glib.so:devel/appstream-glib \
libImath.so:math/Imath \
libwebp.so:graphics/webp \
- libgjs.so:lang/gjs \
libOpenEXR.so:graphics/openexr \
libIex.so:graphics/openexr \
libjson-glib-1.0.so:devel/json-glib \
@@ -49,8 +50,7 @@ LIB_DEPENDS_powerpc64le= libunwind.so:devel/libunwind
RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:misc/iso-codes \
glib-networking>=0:net/glib-networking \
- mypaint-brushes>0:graphics/mypaint-brushes \
- gjs-console:lang/gjs
+ mypaint-brushes>0:graphics/mypaint-brushes
USES= cpe desktop-file-utils gettext gnome jpeg libarchive \
localbase:ldflags meson ninja perl5 pkgconfig python:3.7+ \
@@ -77,8 +77,8 @@ MESON_ARGS= -Dappdata-test=disabled \
-Diff=disabled \
-Dfits=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_DEFINE?= AALIB GHOSTSCRIPT HEIF HELP OPENJPEG JS JXL LIBMNG WMF DOCS VALA CFITSIO
+OPTIONS_DEFAULT?= AALIB GHOSTSCRIPT HEIF OPENJPEG JS JXL WMF DOCS VALA LUA CFITSIO
OPTIONS_SINGLE= SCRIPTS
OPTIONS_SINGLE_SCRIPTS= LUA LUAJIT LUA_NONE
OPTIONS_SUB= yes
@@ -112,6 +112,11 @@ WMF_LIB_DEPENDS= libexpat.so:textproc/expat2 \
libwmf.so:graphics/libwmf
WMF_MESON_ENABLED= wmf
+JS_DESC= Install Javascript plug-ins
+JS_LIB_DEPENDS= libgjs.so:lang/gjs
+JS_RUN_DEPENDS= gjs-console:lang/gjs
+JS_MESON_ENABLED= javascript
+
DOCS_BUILD_DEPENDS= gi-docgen:textproc/py-gi-docgen
DOCS_MESON_ENABLED= gi-docgen
@@ -125,6 +130,7 @@ LUA_RUN_DEPENDS= ${LUA_REFMODLIBDIR}/lgi/corelgilua${LUA_VER_STR}.so:devel/lua-l
LUAJIT_DESC?= Lua scripting language support via Luajit
LUAJIT_USES= luajit
+LUAJIT_BROKEN= LuaJIT cannot use devel/lua-lgi module yet
LUA_NONE_DESC?= Disable Lua scripting language support
LUA_NONE_MESON_FALSE= lua
@@ -141,7 +147,7 @@ SHEBANG_FILES= plug-ins/python/*.py \
SHEBANG_LANG+= gjs
-PLIST_SUB+= BINVER=${PORTVERSION:R:R} ABIVER=${PORTVERSION:R} SHLIBVER=${PORTVERSION:E}
+PLIST_SUB+= BINVER=${PORTVERSION:R:R} ABIVER=${PORTVERSION:R} SHLIBVER=${PORTVERSION:R:E}.${PORTVERSION:E}.${PORTVERSION:R:E}
.include <bsd.port.options.mk>
@@ -151,6 +157,10 @@ PLIST_SUB+= LUASCRIPTS=""
PLIST_SUB+= LUASCRIPTS="@comment "
.endif
+.if !exists(/usr/include/omp.h)
+MESON_ARGS+= -Dopenmp=disabled
+.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 d3ecf51f1c19..bd4664eeb54a 100644
--- a/graphics/gimp3-app/distinfo
+++ b/graphics/gimp3-app/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752051281
-SHA256 (gimp-3.0.4.tar.xz) = 8caa2ec275bf09326575654ac276afc083f8491e7cca45d19cf29e696aecab25
-SIZE (gimp-3.0.4.tar.xz) = 27060240
+TIMESTAMP = 1759926024
+SHA256 (gimp-3.0.6.tar.xz) = 246c225383c72ef9f0dc7703b7d707084bbf177bd2900e94ce466a62862e296b
+SIZE (gimp-3.0.6.tar.xz) = 27197880
diff --git a/graphics/gimp3-app/files/patch-libgimp_gimp.c b/graphics/gimp3-app/files/patch-libgimp_gimp.c
index 48799a6d0aec..43b3ba2e6f2b 100644
--- a/graphics/gimp3-app/files/patch-libgimp_gimp.c
+++ b/graphics/gimp3-app/files/patch-libgimp_gimp.c
@@ -1,20 +1,20 @@
---- libgimp/gimp.c.orig 2024-12-27 13:34:56 UTC
+--- libgimp/gimp.c.orig 2025-05-17 22:51:03 UTC
+++ libgimp/gimp.c
@@ -28,6 +28,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
-+#include <floatingpoint.h>
++#include <fenv.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
-@@ -341,6 +342,9 @@ gimp_main (GType plug_in_type,
+@@ -348,6 +349,9 @@ gimp_main (GType plug_in_type,
gimp_env_init (TRUE);
progname = argv[ARG_PROGNAME];
+
+ /* Ignore floating point exceptions */
-+ fpsetmask(0);
++ fedisableexcept(FE_ALL_EXCEPT);
basename = g_path_get_basename (progname);
diff --git a/graphics/gimp3-app/files/patch-meson.build b/graphics/gimp3-app/files/patch-meson.build
index 7c786ab3116a..aaace2316a23 100644
--- a/graphics/gimp3-app/files/patch-meson.build
+++ b/graphics/gimp3-app/files/patch-meson.build
@@ -1,6 +1,16 @@
---- meson.build.orig 2025-05-17 22:51:03 UTC
+--- meson.build.orig 2025-10-05 17:14:02 UTC
+++ meson.build
-@@ -1208,7 +1208,7 @@ if have_lua
+@@ -168,7 +168,8 @@ platform_linux = (
+ message('Host os: ' + host_os)
+
+ platform_linux = (
+- host_os.contains('linux')
++ host_os.contains('linux') or
++ host_os.contains('bsd')
+ )
+
+ platform_windows = (
+@@ -1127,7 +1128,7 @@ if have_lua
if have_lua
have_lua_lgi = false
@@ -9,7 +19,7 @@
lua = find_program(lua_bin, required: false)
if lua.found() and meson.can_run_host_binaries()
-@@ -1247,7 +1247,7 @@ if have_lua
+@@ -1166,7 +1167,7 @@ if have_lua
if is_supported_lua
have_lua_lgi = run_command(lua, '-e',
'''
diff --git a/graphics/gimp3-app/files/patch-meson__options.txt b/graphics/gimp3-app/files/patch-meson__options.txt
index f8dcb9fffcdf..0a8931031e5b 100644
--- a/graphics/gimp3-app/files/patch-meson__options.txt
+++ b/graphics/gimp3-app/files/patch-meson__options.txt
@@ -1,6 +1,6 @@
---- meson_options.txt.orig 2025-03-19 00:53:29 UTC
+--- meson_options.txt.orig 2025-10-05 17:14:02 UTC
+++ meson_options.txt
-@@ -41,10 +41,10 @@ option('heif', type: 'feature', value: 'a
+@@ -42,10 +42,10 @@ option('heif', type: 'feature', value: 'a
option('ghostscript', type: 'feature', value: 'auto', description: 'Ghostscript support')
option('gudev', type: 'feature', value: 'auto', description: 'Gudev support')
option('heif', type: 'feature', value: 'auto', description: 'HEIF support')
@@ -13,12 +13,12 @@
option('openexr', type: 'feature', value: 'auto', description: 'Openexr support')
option('openmp', type: 'feature', value: 'auto', description: 'OpenMP support')
option('print', type: 'boolean', value: true, description: 'Print support')
-@@ -53,7 +53,7 @@ option('xpm', type: 'feature', value: 'a
+@@ -54,7 +54,7 @@ option('xpm', type: 'feature', value: 'a
option('wmf', type: 'feature', value: 'auto', description: 'Wmf support')
option('xcursor', type: 'feature', value: 'auto', description: 'Xcursor support')
option('xpm', type: 'feature', value: 'auto', description: 'XPM support')
-option('headless-tests', type: 'feature', value: 'auto', description: 'Use xvfb-run/dbus-run-session for UI-dependent automatic tests')
+option('headless-tests', type: 'feature', value: 'disabled', description: 'Use xvfb-run/dbus-run-session for UI-dependent automatic tests')
- option('file-plug-ins-test', type: 'boolean', value: 'false', description: 'Always install test-file-plug-ins (mostly for CI testing)')
+ option('file-plug-ins-test', type: 'boolean', value: false, description: 'Always install test-file-plug-ins (mostly for CI testing)')
option('can-crosscompile-gir', type: 'boolean', value: false, description: 'GIR is buildable even if crosscompiling')
diff --git a/graphics/gimp3-app/pkg-plist b/graphics/gimp3-app/pkg-plist
index 106dbf39c02d..e0a8ec9259db 100644
--- a/graphics/gimp3-app/pkg-plist
+++ b/graphics/gimp3-app/pkg-plist
@@ -259,10 +259,9 @@ include/gimp-%%ABIVER%%/libgimpwidgets/gimpwidgetstypes.h
include/gimp-%%ABIVER%%/libgimpwidgets/gimpwidgetsutils.h
include/gimp-%%ABIVER%%/libgimpwidgets/gimpzoommodel.h
lib/gimp/%%ABIVER%%/environ/default.env
-lib/gimp/%%ABIVER%%/environ/python.env
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
+%%JS%%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
@@ -474,34 +473,34 @@ lib/girepository-1.0/Gimp-%%ABIVER%%.typelib
lib/girepository-1.0/GimpUi-%%ABIVER%%.typelib
lib/libgimp-%%ABIVER%%.so
lib/libgimp-%%ABIVER%%.so.0
-lib/libgimp-%%ABIVER%%.so.0.0.%%SHLIBVER%%
+lib/libgimp-%%ABIVER%%.so.%%SHLIBVER%%
lib/libgimp-scriptfu-%%ABIVER%%.so
lib/libgimp-scriptfu-%%ABIVER%%.so.0
-lib/libgimp-scriptfu-%%ABIVER%%.so.0.0.%%SHLIBVER%%
+lib/libgimp-scriptfu-%%ABIVER%%.so.%%SHLIBVER%%
lib/libgimpbase-%%ABIVER%%.so
lib/libgimpbase-%%ABIVER%%.so.0
-lib/libgimpbase-%%ABIVER%%.so.0.0.%%SHLIBVER%%
+lib/libgimpbase-%%ABIVER%%.so.%%SHLIBVER%%
lib/libgimpcolor-%%ABIVER%%.so
lib/libgimpcolor-%%ABIVER%%.so.0
-lib/libgimpcolor-%%ABIVER%%.so.0.0.%%SHLIBVER%%
+lib/libgimpcolor-%%ABIVER%%.so.%%SHLIBVER%%
lib/libgimpconfig-%%ABIVER%%.so
lib/libgimpconfig-%%ABIVER%%.so.0
-lib/libgimpconfig-%%ABIVER%%.so.0.0.%%SHLIBVER%%
+lib/libgimpconfig-%%ABIVER%%.so.%%SHLIBVER%%
lib/libgimpmath-%%ABIVER%%.so
lib/libgimpmath-%%ABIVER%%.so.0
-lib/libgimpmath-%%ABIVER%%.so.0.0.%%SHLIBVER%%
+lib/libgimpmath-%%ABIVER%%.so.%%SHLIBVER%%
lib/libgimpmodule-%%ABIVER%%.so
lib/libgimpmodule-%%ABIVER%%.so.0
-lib/libgimpmodule-%%ABIVER%%.so.0.0.%%SHLIBVER%%
+lib/libgimpmodule-%%ABIVER%%.so.%%SHLIBVER%%
lib/libgimpthumb-%%ABIVER%%.so
lib/libgimpthumb-%%ABIVER%%.so.0
-lib/libgimpthumb-%%ABIVER%%.so.0.0.%%SHLIBVER%%
+lib/libgimpthumb-%%ABIVER%%.so.%%SHLIBVER%%
lib/libgimpui-%%ABIVER%%.so
lib/libgimpui-%%ABIVER%%.so.0
-lib/libgimpui-%%ABIVER%%.so.0.0.%%SHLIBVER%%
+lib/libgimpui-%%ABIVER%%.so.%%SHLIBVER%%
lib/libgimpwidgets-%%ABIVER%%.so
lib/libgimpwidgets-%%ABIVER%%.so.0
-lib/libgimpwidgets-%%ABIVER%%.so.0.0.%%SHLIBVER%%
+lib/libgimpwidgets-%%ABIVER%%.so.%%SHLIBVER%%
libdata/pkgconfig/gimp-%%ABIVER%%.pc
libdata/pkgconfig/gimpthumb-%%ABIVER%%.pc
libdata/pkgconfig/gimpui-%%ABIVER%%.pc
@@ -804,6 +803,7 @@ libexec/gimp-debug-tool-%%ABIVER%%
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimp-%%ABIVER%%/enum.TextDirection.html
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimp-%%ABIVER%%/enum.TextHintStyle.html
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimp-%%ABIVER%%/enum.TextJustification.html
+%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimp-%%ABIVER%%/enum.TRCType.html
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimp-%%ABIVER%%/enum.TransferMode.html
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimp-%%ABIVER%%/enum.TransformDirection.html
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimp-%%ABIVER%%/enum.TransformResize.html
@@ -3043,6 +3043,7 @@ libexec/gimp-debug-tool-%%ABIVER%%
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimpui-%%ABIVER%%/func.prop_string_combo_box_new.html
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimpui-%%ABIVER%%/func.prop_switch_new.html
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimpui-%%ABIVER%%/func.prop_text_buffer_new.html
+%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimpui-%%ABIVER%%/func.prop_toggle_new.html
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimpui-%%ABIVER%%/func.prop_unit_combo_box_new.html
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimpui-%%ABIVER%%/func.prop_widget_set_factor.html
%%PORTDOCS%%%%DOCSDIR%%-%%ABIVER%%/libgimpui-%%ABIVER%%/func.query_boolean_box.html
@@ -4996,6 +4997,7 @@ libexec/gimp-debug-tool-%%ABIVER%%
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gimp-even-vertical-gap.svg
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gimp-file-manager.svg
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gimp-gegl.svg
+%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gimp-group-layer.svg
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gimp-lock-alpha-symbolic.svg
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gimp-lock-alpha.svg
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gimp-lock-content-symbolic.svg
@@ -5092,6 +5094,7 @@ libexec/gimp-debug-tool-%%ABIVER%%
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gimp-transform-3d-camera.svg
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gimp-transform-3d-move.svg
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gimp-transform-3d-rotate.svg
+%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gtk-cancel.svg
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gtk-no.svg
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gtk-ok.svg
%%DATADIR%%/%%ABIVER%%/icons/Legacy/scalable/apps/gtk-select-color.svg
diff --git a/graphics/glslang/Makefile b/graphics/glslang/Makefile
index 0e4b68c02b1c..264c4f18c0d5 100644
--- a/graphics/glslang/Makefile
+++ b/graphics/glslang/Makefile
@@ -1,10 +1,11 @@
PORTNAME= glslang
-DISTVERSION= 15.4.0
+DISTVERSION= 16.1.0
CATEGORIES= graphics
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= OpenGL and OpenGL ES shader front end and validator
-WWW= https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
+WWW= https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/ \
+ https://github.com/KhronosGroup/glslang
LICENSE= APACHE20 BSD2CLAUSE BSD3CLAUSE GPLv3+ MIT
LICENSE_COMB= multi
@@ -16,8 +17,12 @@ TEST_DEPENDS= bash:shells/bash \
gmake:devel/gmake
USES= cmake:testing compiler:c++11-lib python:build
+
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
+
CMAKE_ON= ALLOW_EXTERNAL_SPIRV_TOOLS
+PORTSCOUT= limit:^[0-9]+\. # avoid tags like sdk-candidate-26-jul-2020
+
.include <bsd.port.mk>
diff --git a/graphics/glslang/distinfo b/graphics/glslang/distinfo
index 18517b17b988..a7178d6ab2d5 100644
--- a/graphics/glslang/distinfo
+++ b/graphics/glslang/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751036750
-SHA256 (KhronosGroup-glslang-15.4.0_GH0.tar.gz) = b16c78e7604b9be9f546ee35ad8b6db6f39bbbbfb19e8d038b6fe2ea5bba4ff4
-SIZE (KhronosGroup-glslang-15.4.0_GH0.tar.gz) = 4201376
+TIMESTAMP = 1765070879
+SHA256 (KhronosGroup-glslang-16.1.0_GH0.tar.gz) = 32c605822ed63a0cdc2d24f318c3d912fa14e58573aff1d8eac0cf69f1a6b6d2
+SIZE (KhronosGroup-glslang-16.1.0_GH0.tar.gz) = 4244796
diff --git a/graphics/glslang/pkg-plist b/graphics/glslang/pkg-plist
index 3fca789ea3b0..5a15b1180e07 100644
--- a/graphics/glslang/pkg-plist
+++ b/graphics/glslang/pkg-plist
@@ -1,6 +1,5 @@
bin/glslang
bin/glslangValidator
-bin/spirv-remap
include/glslang/Include/ResourceLimits.h
include/glslang/Include/glslang_c_interface.h
include/glslang/Include/glslang_c_shader_types.h
@@ -11,7 +10,6 @@ include/glslang/Public/ShaderLang.h
include/glslang/Public/resource_limits_c.h
include/glslang/SPIRV/GlslangToSpv.h
include/glslang/SPIRV/Logger.h
-include/glslang/SPIRV/SPVRemapper.h
include/glslang/SPIRV/SpvTools.h
include/glslang/SPIRV/disassemble.h
include/glslang/SPIRV/spirv.hpp11
@@ -24,6 +22,5 @@ lib/libGenericCodeGen.a
lib/libMachineIndependent.a
lib/libOSDependent.a
lib/libSPIRV.a
-lib/libSPVRemapper.a
lib/libglslang-default-resource-limits.a
lib/libglslang.a
diff --git a/graphics/glvis/Makefile b/graphics/glvis/Makefile
index 027befcdc6f8..9446149b0e47 100644
--- a/graphics/glvis/Makefile
+++ b/graphics/glvis/Makefile
@@ -1,6 +1,5 @@
PORTNAME= glvis
-DISTVERSION= 4.3.2
-PORTREVISION= 1
+DISTVERSION= 4.4
CATEGORIES= graphics
MASTER_SITES= https://glvis.github.io/releases/
PKGNAMESUFFIX= -mesh-visualizer # other software also has the name glvis
@@ -24,7 +23,7 @@ LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libpng.so:graphics/png
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}scikit-image>0:graphics/py-scikit-image@${PY_FLAVOR}
-USES= cmake:testing gl python:test sdl tar:tgz
+USES= cmake:testing gl mpi:mpich python:test sdl tar:tgz
USE_GL= gl glew
USE_SDL= sdl2
diff --git a/graphics/glvis/distinfo b/graphics/glvis/distinfo
index 2a9f9b6a43d2..3384e73da22d 100644
--- a/graphics/glvis/distinfo
+++ b/graphics/glvis/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1737152720
-SHA256 (glvis-4.3.2.tgz) = d24f0b444a3dcdb99eada90852308b657e5a0bb8c6225545ca5628445aa47ad1
-SIZE (glvis-4.3.2.tgz) = 2488479
+TIMESTAMP = 1762679163
+SHA256 (glvis-4.4.tgz) = d726e6f8d72b80a42aa1a75a55f9c8b07173231d865fc13d24290245aaaf9af7
+SIZE (glvis-4.4.tgz) = 2690121
SHA256 (GLVis-data-b8092cc_GH0.tar.gz) = 3ee95b3bf99513aee468b50786ca32ae6ffff33abdd55a72e64bb086a30f199f
SIZE (GLVis-data-b8092cc_GH0.tar.gz) = 21043606
diff --git a/graphics/gmic-qt/Makefile b/graphics/gmic-qt/Makefile
index 114b25aa2a1d..4a4fa97881a7 100644
--- a/graphics/gmic-qt/Makefile
+++ b/graphics/gmic-qt/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gmic-qt
DISTVERSIONPREFIX= v.
-DISTVERSION= 3.5.3
+DISTVERSION= 3.6.3
PORTEPOCH= 1
CATEGORIES= graphics kde
MASTER_SITES= https://github.com/GreycLab/gmic/releases/download/${DISTVERSIONFULL}/ \
@@ -21,9 +21,10 @@ LIB_DEPENDS= libcurl.so:ftp/curl \
libfftw3.so:math/fftw3 \
libpng16.so:graphics/png
-FLAVORS= none gimp # reflect the value of GMIC_QT_HOST for simplicity
+FLAVORS= none gimp gimp3 # reflect the value of GMIC_QT_HOST for simplicity
FLAVOR?= ${FLAVORS:[1]}
gimp_PKGNAMESUFFIX= -gimp
+gimp3_PKGNAMESUFFIX= -gimp3
USES= cmake compiler:c++17-lang gl pkgconfig qt:6 shebangfix xorg
USE_GL= opengl
@@ -43,7 +44,7 @@ PORTSCOUT= limit:[0-9]\..*
WRKSRC= ${WRKDIR}/${DISTNAME:S|_|-|}
WRKSRC_SUBDIR= ${PORTNAME}
-.if ${FLAVOR} == gimp
+.if ${FLAVOR} == "gimp"
LIB_DEPENDS+= libbabl-0.1.so:x11/babl \
libgegl-0.4.so:graphics/gegl \
libgimp-2.0.so:graphics/gimp-app \
@@ -51,10 +52,19 @@ LIB_DEPENDS+= libbabl-0.1.so:x11/babl \
USES+= gettext-runtime gnome
USE_GNOME= cairo gdkpixbuf glib20
PLUGINS_DIR= libexec/gimp/2.2/plug-ins/gmic_gimp_qt
+.elif ${FLAVOR} == "gimp3"
+LIB_DEPENDS+= libbabl-0.1.so:x11/babl \
+ libgegl-0.4.so:graphics/gegl \
+ libgexiv2.so:graphics/gexiv2 \
+ libgimp-3.0.so:graphics/gimp3-app \
+ libjson-glib-1.0.so:devel/json-glib
+USES+= gettext-runtime gnome
+USE_GNOME= cairo gdkpixbuf glib20 pango
+PLUGINS_DIR= lib/gimp/3.0/plug-ins/gmic_gimp_qt
.else
PLUGINS_DIR= bin
.endif
-PLIST_FILES= ${PLUGINS_DIR}/gmic_${FLAVOR:S|$|_|:S|none_||}qt
+PLIST_FILES= ${PLUGINS_DIR}/gmic_${FLAVOR:S|$|_|:S|none_||:C|gimp[3]|gimp|}qt
.include <bsd.port.mk>
diff --git a/graphics/gmic-qt/distinfo b/graphics/gmic-qt/distinfo
index e11dffbcd314..9c8cb29e06ab 100644
--- a/graphics/gmic-qt/distinfo
+++ b/graphics/gmic-qt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741758406
-SHA256 (KDE/gmic-qt/gmic_3.5.3.tar.gz) = e91a7cac4d0dc7c0ca2620f03bb14af82aa738c85a11b4f82fcc738654606442
-SIZE (KDE/gmic-qt/gmic_3.5.3.tar.gz) = 19409660
+TIMESTAMP = 1761629870
+SHA256 (KDE/gmic-qt/gmic_3.6.3.tar.gz) = 45304f179f2200ba527c819bd911bd6a85c4a4999740c730c7ccdd164ce240ac
+SIZE (KDE/gmic-qt/gmic_3.6.3.tar.gz) = 20183375
diff --git a/graphics/gmic/Makefile b/graphics/gmic/Makefile
index 8eba63a45a6d..2e795e75eb6c 100644
--- a/graphics/gmic/Makefile
+++ b/graphics/gmic/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gmic
DISTVERSION= 3.1.6
-PORTREVISION= 10
+PORTREVISION= 12
CATEGORIES= graphics
MASTER_SITES= https://gmic.eu/files/source/
DISTNAME= ${PORTNAME}_${DISTVERSION}
diff --git a/graphics/gnash/Makefile b/graphics/gnash/Makefile
index 96cdc9c16abd..3039c6bd7cb8 100644
--- a/graphics/gnash/Makefile
+++ b/graphics/gnash/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gnash
PORTVERSION= 0.8.11.20190130
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics multimedia
MASTER_SITES= https://git.savannah.gnu.org/cgit/gnash.git/snapshot/
DISTNAME= gnash-583ccbc1275c7701dc4843ec12142ff86bb305b4
diff --git a/graphics/gource/Makefile b/graphics/gource/Makefile
index 64db6e919c06..9a79ea37700a 100644
--- a/graphics/gource/Makefile
+++ b/graphics/gource/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gource
-PORTVERSION= 0.51
-PORTREVISION= 11
+PORTVERSION= 0.55
CATEGORIES= graphics
MASTER_SITES= https://github.com/acaudwell/Gource/releases/download/${PORTNAME}-${PORTVERSION}/
@@ -11,8 +10,6 @@ WWW= https://gource.io/
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
-BROKEN= fails to build with boost-1.85+
-
BUILD_DEPENDS= ${LOCALBASE}/include/glm/glm.hpp:math/glm
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libpcre.so:devel/pcre \
@@ -20,10 +17,13 @@ LIB_DEPENDS= libfreetype.so:print/freetype2 \
libpng.so:graphics/png
RUN_DEPENDS= ${LOCALBASE}/include/glm/glm.hpp:math/glm
-USES= compiler:c++0x cpe gl gmake pkgconfig sdl
+USES= autoreconf compiler:c++0x cpe gl gmake pkgconfig sdl
GNU_CONFIGURE= yes
GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
USE_GL= glew gl glu
USE_SDL= image2 sdl2
+post-patch:
+ @${REINPLACE_CMD} -e '/AX_BOOST_SYSTEM/d' ${WRKSRC}/configure.ac
+
.include <bsd.port.mk>
diff --git a/graphics/gource/distinfo b/graphics/gource/distinfo
index af9196ec4cc8..aca939a3df16 100644
--- a/graphics/gource/distinfo
+++ b/graphics/gource/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1575277278
-SHA256 (gource-0.51.tar.gz) = 19a3f888b1825aa7ed46f52cebce5012e3c62439e3d281102f21814c7a58e79a
-SIZE (gource-0.51.tar.gz) = 882783
+TIMESTAMP = 1759153726
+SHA256 (gource-0.55.tar.gz) = c8239212d28b07508d9e477619976802681628fc25eb3e04f6671177013c0142
+SIZE (gource-0.55.tar.gz) = 900907
diff --git a/graphics/gowall/Makefile b/graphics/gowall/Makefile
index 3258078e0c19..095b83129643 100644
--- a/graphics/gowall/Makefile
+++ b/graphics/gowall/Makefile
@@ -1,6 +1,7 @@
PORTNAME= gowall
DISTVERSIONPREFIX= v
-DISTVERSION= 0.2.1
+DISTVERSION= 0.2.3
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= nxjoseph@protonmail.com
@@ -10,17 +11,44 @@ WWW= https://github.com/Achno/gowall
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
+LIB_DEPENDS= libffi.so:devel/libffi \
+ libmupdf.so:graphics/mupdf
RUN_DEPENDS= xdg-open:devel/xdg-utils
-USES= go:1.22,modules
+USES= go:modules
-GO_MODULE= github.com/Achno/gowall
+GO_MODULE= github.com/Achno/${PORTNAME}
+CGO_LDFLAGS+= -lmupdf -lffi
-PLIST_FILES= bin/gowall
+# utils/error.go:15:18: non-constant format string in call to ...
+TESTING_UNSAFE= yes
-OPTIONS_DEFINE= PREVIEW
-OPTIONS_DEFAULT= PREVIEW
-PREVIEW_DESC= Enable image preview support using chafa
+PLIST_FILES= bin/${PORTNAME}
+
+OPTIONS_DEFAULT= PNGQUANT PREVIEW UPSCALE
+OPTIONS_GROUP= COMPRESSION FEATURES OCR
+OPTIONS_GROUP_COMPRESSION= PNGQUANT
+OPTIONS_GROUP_FEATURES= PREVIEW UPSCALE
+OPTIONS_GROUP_OCR= TESSERACT
+
+PNGQUANT_DESC= Install pngquant PNG image compression method
+PREVIEW_DESC= Install chafa for image previewing support in terminal
+TESSERACT_DESC= Install Tesseract OCR Engine for extracting text from an image or pdf
+UPSCALE_DESC= Install upscaler for upscaling and enhancing images
+
+PNGQUANT_RUN_DEPENDS= pngquant:graphics/pngquant
PREVIEW_RUN_DEPENDS= chafa:graphics/chafa
+TESSERACT_RUN_DEPENDS= tesseract:graphics/tesseract
+UPSCALE_RUN_DEPENDS= upscaler:graphics/upscaler
+
+post-patch:
+ @${REINPLACE_CMD} -e '23s,([^()]*),("${LOCALBASE}/bin"),g' \
+ ${WRKSRC}/internal/image/upscale.go
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == "i386"
+EXTRA_PATCHES= ${PATCHDIR}/i386/extra-patch-vendor_github.com_gen2brain_go-fitz_fitz__cgo.go
+.endif
.include <bsd.port.mk>
diff --git a/graphics/gowall/distinfo b/graphics/gowall/distinfo
index 7e77db9590b9..6f9636659c15 100644
--- a/graphics/gowall/distinfo
+++ b/graphics/gowall/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1744489937
-SHA256 (go/graphics_gowall/gowall-v0.2.1/v0.2.1.mod) = 9db8b7d9dd21d67a66903acadccb4a0aa2c0d3713c3097be5fd8798da7c21804
-SIZE (go/graphics_gowall/gowall-v0.2.1/v0.2.1.mod) = 515
-SHA256 (go/graphics_gowall/gowall-v0.2.1/v0.2.1.zip) = 4deb2c1b61e31f88dcead48a2f4a31fb4b43ba66085990d60c566c9c78121a2c
-SIZE (go/graphics_gowall/gowall-v0.2.1/v0.2.1.zip) = 3359975
+TIMESTAMP = 1760285357
+SHA256 (go/graphics_gowall/gowall-v0.2.3/v0.2.3.mod) = 7a4f2e628182dc4e3bec87f4f1fef9f399fa8d744220297b7b17dfe6835f338c
+SIZE (go/graphics_gowall/gowall-v0.2.3/v0.2.3.mod) = 2289
+SHA256 (go/graphics_gowall/gowall-v0.2.3/v0.2.3.zip) = 3bdff68aad21129c387d7720fc5f7474fd89b8e20d514e10141dae20e6873342
+SIZE (go/graphics_gowall/gowall-v0.2.3/v0.2.3.zip) = 3410684
diff --git a/graphics/gowall/files/i386/extra-patch-vendor_github.com_gen2brain_go-fitz_fitz__cgo.go b/graphics/gowall/files/i386/extra-patch-vendor_github.com_gen2brain_go-fitz_fitz__cgo.go
new file mode 100644
index 000000000000..0391135e5926
--- /dev/null
+++ b/graphics/gowall/files/i386/extra-patch-vendor_github.com_gen2brain_go-fitz_fitz__cgo.go
@@ -0,0 +1,25 @@
+===> Building gowall from .
+# github.com/gen2brain/go-fitz
+vendor/github.com/gen2brain/go-fitz/fitz_cgo.go:100:79: cannot use _Ctype_store(MaxStore) (value of uint32 type _Ctype_store) as _Ctype_size_t value in argument to (_Cfunc_fz_new_context_imp)
+vendor/github.com/gen2brain/go-fitz/fitz_cgo.go:133:79: cannot use _Ctype_store(MaxStore) (value of uint32 type _Ctype_store) as _Ctype_size_t value in argument to (_Cfunc_fz_new_context_imp)
+
+--- vendor/github.com/gen2brain/go-fitz/fitz_cgo.go.orig 2025-10-13 13:52:34 UTC
++++ vendor/github.com/gen2brain/go-fitz/fitz_cgo.go
+@@ -97,7 +97,7 @@ func New(filename string) (f *Document, err error) {
+ return
+ }
+
+- f.ctx = (*C.struct_fz_context)(unsafe.Pointer(C.fz_new_context_imp(nil, nil, C.store(MaxStore), C.fz_version)))
++ f.ctx = (*C.struct_fz_context)(unsafe.Pointer(C.fz_new_context_imp(nil, nil, C.size_t(MaxStore), C.fz_version)))
+ if f.ctx == nil {
+ err = ErrCreateContext
+ return
+@@ -130,7 +130,7 @@ func NewFromMemory(b []byte) (f *Document, err error)
+ }
+ f = &Document{}
+
+- f.ctx = (*C.struct_fz_context)(unsafe.Pointer(C.fz_new_context_imp(nil, nil, C.store(MaxStore), C.fz_version)))
++ f.ctx = (*C.struct_fz_context)(unsafe.Pointer(C.fz_new_context_imp(nil, nil, C.size_t(MaxStore), C.fz_version)))
+ if f.ctx == nil {
+ err = ErrCreateContext
+ return
diff --git a/graphics/gowall/files/patch-internal_backends_compression_png_setup.go b/graphics/gowall/files/patch-internal_backends_compression_png_setup.go
new file mode 100644
index 000000000000..ff6a552b412c
--- /dev/null
+++ b/graphics/gowall/files/patch-internal_backends_compression_png_setup.go
@@ -0,0 +1,10 @@
+--- internal/backends/compression/png/setup.go.orig 2025-10-12 17:20:54 UTC
++++ internal/backends/compression/png/setup.go
+@@ -76,6 +76,7 @@ func CheckPngquantInstalled() (string, error) {
+ "linux": config.PngquantBinaryName,
+ "windows": config.PngquantBinaryName + ".exe",
+ "darwin": config.PngquantBinaryName,
++ "freebsd": config.PngquantBinaryName,
+ }
+
+ destFolder := filepath.Join(config.GowallConfig.OutputFolder, "compression", "pngquant")
diff --git a/graphics/gowall/files/patch-internal_image_upscale.go b/graphics/gowall/files/patch-internal_image_upscale.go
new file mode 100644
index 000000000000..ab402d78c440
--- /dev/null
+++ b/graphics/gowall/files/patch-internal_image_upscale.go
@@ -0,0 +1,19 @@
+--- internal/image/upscale.go.orig 1979-11-30 00:00:00 UTC
++++ internal/image/upscale.go
+@@ -7,7 +7,7 @@ import (
+ "os/exec"
+ "path/filepath"
+
+- "github.com/Achno/gowall/config"
++ // "github.com/Achno/gowall/config"
+ imageio "github.com/Achno/gowall/internal/image_io"
+ types "github.com/Achno/gowall/internal/types"
+ "github.com/Achno/gowall/internal/upscaler"
+@@ -35,6 +35,7 @@ func (p *UpscaleProcessor) Process(img image.Image, th
+ "windows": "realesrgan-ncnn-vulkan.exe",
+ "darwin": "realesrgan-ncnn-vulkan",
+ "linux": "realesrgan-ncnn-vulkan",
++ "freebsd": "realesrgan-ncnn-vulkan",
+ }
+
+ binary, err := utils.FindBinary(binaryNames, destFolder)
diff --git a/graphics/gowall/files/patch-vendor_github.com_gen2brain_go-fitz_fitz__cgo.go b/graphics/gowall/files/patch-vendor_github.com_gen2brain_go-fitz_fitz__cgo.go
new file mode 100644
index 000000000000..3aa616f47c78
--- /dev/null
+++ b/graphics/gowall/files/patch-vendor_github.com_gen2brain_go-fitz_fitz__cgo.go
@@ -0,0 +1,16 @@
+===> Building gowall from .
+# github.com/gen2brain/go-fitz
+vendor/github.com/gen2brain/go-fitz/fitz_cgo.go:546:103: cannot use _Ctype_int(len(buf)) (value of int32 type _Ctype_int) as _Ctype_size_t value in variable declaration
+*** Error code 1
+
+--- vendor/github.com/gen2brain/go-fitz/fitz_cgo.go.orig 2025-10-12 16:34:24 UTC
++++ vendor/github.com/gen2brain/go-fitz/fitz_cgo.go
+@@ -543,7 +543,7 @@ func (f *Document) Metadata() map[string]string {
+ defer C.free(unsafe.Pointer(ckey))
+
+ buf := make([]byte, 256)
+- C.fz_lookup_metadata(f.ctx, f.doc, ckey, (*C.char)(unsafe.Pointer(&buf[0])), C.int(len(buf)))
++ C.fz_lookup_metadata(f.ctx, f.doc, ckey, (*C.char)(unsafe.Pointer(&buf[0])), C.size_t(len(buf)))
+
+ return string(buf)
+ }
diff --git a/graphics/gpu-firmware-amd-kmod/Makefile b/graphics/gpu-firmware-amd-kmod/Makefile
index c6b6215ece23..48ec713e631b 100644
--- a/graphics/gpu-firmware-amd-kmod/Makefile
+++ b/graphics/gpu-firmware-amd-kmod/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gpu-firmware-amd-kmod
-PORTVERSION= 20230625
-PORTREVISION= 2
+PORTVERSION= 20250109
CATEGORIES= graphics
MAINTAINER= x11@FreeBSD.org
@@ -28,7 +27,9 @@ FLAVORS= aldebaran \
dcn_3_1_6 \
dcn_3_2_0 \
dcn_3_2_1 \
+ dcn_3_5 \
fiji \
+ gc_9_4_3 \
gc_10_3_6 \
gc_10_3_7 \
gc_11_0_0 \
@@ -36,6 +37,7 @@ FLAVORS= aldebaran \
gc_11_0_2 \
gc_11_0_3 \
gc_11_0_4 \
+ gc_11_5_0 \
hainan \
hawaii \
kabini \
@@ -53,23 +55,29 @@ FLAVORS= aldebaran \
psp_13_0_0 \
psp_13_0_4 \
psp_13_0_5 \
+ psp_13_0_6 \
psp_13_0_7 \
psp_13_0_8 \
psp_13_0_10 \
psp_13_0_11 \
+ psp_14_0_0 \
raven \
raven2 \
renoir \
+ sdma_4_4_2 \
sdma_5_2_6 \
sdma_5_2_7 \
sdma_6_0_0 \
sdma_6_0_1 \
sdma_6_0_2 \
sdma_6_0_3 \
+ sdma_6_1_0 \
si58 \
smu_13_0_0 \
+ smu_13_0_6 \
smu_13_0_7 \
smu_13_0_10 \
+ smu_14_0_2 \
stoney \
tahiti \
tonga \
@@ -77,12 +85,15 @@ FLAVORS= aldebaran \
vcn_3_1_2 \
vcn_4_0_0 \
vcn_4_0_2 \
+ vcn_4_0_3 \
vcn_4_0_4 \
+ vcn_4_0_5 \
vega10 \
vega12 \
vega20 \
vegam \
verde \
+ vpe_6_1_0 \
dimgrey_cavefish \
green_sardine \
navy_flounder \
@@ -95,7 +106,7 @@ USES= kmod uidfix
USE_GITHUB= yes
GH_ACCOUNT= freebsd
GH_PROJECT= drm-kmod-firmware
-GH_TAGNAME= 20230625_8
+GH_TAGNAME= 20250109
MAKE_ENV= KMODS="amdgpukmsfw"
MAKE_ENV+= AMDGPUKMODS="${FLAVOR}"
diff --git a/graphics/gpu-firmware-amd-kmod/distinfo b/graphics/gpu-firmware-amd-kmod/distinfo
index b85c54c01ef2..69a92c21b046 100644
--- a/graphics/gpu-firmware-amd-kmod/distinfo
+++ b/graphics/gpu-firmware-amd-kmod/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1705053920
-SHA256 (freebsd-drm-kmod-firmware-20230625-20230625_8_GH0.tar.gz) = 6b524025b678d2aef75df712968433f9a3f95f3bea3a69f27dbf9f99a99a7916
-SIZE (freebsd-drm-kmod-firmware-20230625-20230625_8_GH0.tar.gz) = 36053318
+TIMESTAMP = 1765464984
+SHA256 (freebsd-drm-kmod-firmware-20250109_GH0.tar.gz) = b204a6bbc44e537cf74d84a025a3634833e86a0f28cedf1ae216257039414229
+SIZE (freebsd-drm-kmod-firmware-20250109_GH0.tar.gz) = 40111427
diff --git a/graphics/gpu-firmware-amd-kmod/pkg-plist b/graphics/gpu-firmware-amd-kmod/pkg-plist
index 3e816c3f1e10..be5150429a71 100644
--- a/graphics/gpu-firmware-amd-kmod/pkg-plist
+++ b/graphics/gpu-firmware-amd-kmod/pkg-plist
@@ -66,6 +66,7 @@
%%DCN_3_1_6%%/%%KMODDIR%%/amdgpu_dcn_3_1_6_dmcub_bin.ko
%%DCN_3_2_0%%/%%KMODDIR%%/amdgpu_dcn_3_2_0_dmcub_bin.ko
%%DCN_3_2_1%%/%%KMODDIR%%/amdgpu_dcn_3_2_1_dmcub_bin.ko
+%%DCN_3_5%%/%%KMODDIR%%/amdgpu_dcn_3_5_dmcub_bin.ko
%%FIJI%%/%%KMODDIR%%/amdgpu_fiji_ce_bin.ko
%%FIJI%%/%%KMODDIR%%/amdgpu_fiji_mc_bin.ko
%%FIJI%%/%%KMODDIR%%/amdgpu_fiji_me_bin.ko
@@ -78,6 +79,8 @@
%%FIJI%%/%%KMODDIR%%/amdgpu_fiji_smc_bin.ko
%%FIJI%%/%%KMODDIR%%/amdgpu_fiji_uvd_bin.ko
%%FIJI%%/%%KMODDIR%%/amdgpu_fiji_vce_bin.ko
+%%GC_9_4_3%%/%%KMODDIR%%/amdgpu_gc_9_4_3_mec_bin.ko
+%%GC_9_4_3%%/%%KMODDIR%%/amdgpu_gc_9_4_3_rlc_bin.ko
%%GC_10_3_6%%/%%KMODDIR%%/amdgpu_gc_10_3_6_ce_bin.ko
%%GC_10_3_6%%/%%KMODDIR%%/amdgpu_gc_10_3_6_me_bin.ko
%%GC_10_3_6%%/%%KMODDIR%%/amdgpu_gc_10_3_6_mec_bin.ko
@@ -129,6 +132,13 @@
%%GC_11_0_4%%/%%KMODDIR%%/amdgpu_gc_11_0_4_mes_2_bin.ko
%%GC_11_0_4%%/%%KMODDIR%%/amdgpu_gc_11_0_4_pfp_bin.ko
%%GC_11_0_4%%/%%KMODDIR%%/amdgpu_gc_11_0_4_rlc_bin.ko
+%%GC_11_5_0%%/%%KMODDIR%%/amdgpu_gc_11_5_0_imu_bin.ko
+%%GC_11_5_0%%/%%KMODDIR%%/amdgpu_gc_11_5_0_me_bin.ko
+%%GC_11_5_0%%/%%KMODDIR%%/amdgpu_gc_11_5_0_mec_bin.ko
+%%GC_11_5_0%%/%%KMODDIR%%/amdgpu_gc_11_5_0_mes1_bin.ko
+%%GC_11_5_0%%/%%KMODDIR%%/amdgpu_gc_11_5_0_mes_2_bin.ko
+%%GC_11_5_0%%/%%KMODDIR%%/amdgpu_gc_11_5_0_pfp_bin.ko
+%%GC_11_5_0%%/%%KMODDIR%%/amdgpu_gc_11_5_0_rlc_bin.ko
%%HAINAN%%/%%KMODDIR%%/amdgpu_hainan_ce_bin.ko
%%HAINAN%%/%%KMODDIR%%/amdgpu_hainan_k_smc_bin.ko
%%HAINAN%%/%%KMODDIR%%/amdgpu_hainan_mc_bin.ko
@@ -321,6 +331,8 @@
%%PSP_13_0_5%%/%%KMODDIR%%/amdgpu_psp_13_0_5_asd_bin.ko
%%PSP_13_0_5%%/%%KMODDIR%%/amdgpu_psp_13_0_5_ta_bin.ko
%%PSP_13_0_5%%/%%KMODDIR%%/amdgpu_psp_13_0_5_toc_bin.ko
+%%PSP_13_0_6%%/%%KMODDIR%%/amdgpu_psp_13_0_6_sos_bin.ko
+%%PSP_13_0_6%%/%%KMODDIR%%/amdgpu_psp_13_0_6_ta_bin.ko
%%PSP_13_0_7%%/%%KMODDIR%%/amdgpu_psp_13_0_7_sos_bin.ko
%%PSP_13_0_7%%/%%KMODDIR%%/amdgpu_psp_13_0_7_ta_bin.ko
%%PSP_13_0_8%%/%%KMODDIR%%/amdgpu_psp_13_0_8_asd_bin.ko
@@ -330,6 +342,8 @@
%%PSP_13_0_10%%/%%KMODDIR%%/amdgpu_psp_13_0_10_ta_bin.ko
%%PSP_13_0_11%%/%%KMODDIR%%/amdgpu_psp_13_0_11_ta_bin.ko
%%PSP_13_0_11%%/%%KMODDIR%%/amdgpu_psp_13_0_11_toc_bin.ko
+%%PSP_14_0_0%%/%%KMODDIR%%/amdgpu_psp_14_0_0_ta_bin.ko
+%%PSP_14_0_0%%/%%KMODDIR%%/amdgpu_psp_14_0_0_toc_bin.ko
%%RAVEN2%%/%%KMODDIR%%/amdgpu_raven2_asd_bin.ko
%%RAVEN2%%/%%KMODDIR%%/amdgpu_raven2_ce_bin.ko
%%RAVEN2%%/%%KMODDIR%%/amdgpu_raven2_gpu_info_bin.ko
@@ -366,15 +380,19 @@
%%RENOIR%%/%%KMODDIR%%/amdgpu_renoir_sdma_bin.ko
%%RENOIR%%/%%KMODDIR%%/amdgpu_renoir_ta_bin.ko
%%RENOIR%%/%%KMODDIR%%/amdgpu_renoir_vcn_bin.ko
+%%SDMA_4_4_2%%/%%KMODDIR%%/amdgpu_sdma_4_4_2_bin.ko
%%SDMA_5_2_6%%/%%KMODDIR%%/amdgpu_sdma_5_2_6_bin.ko
%%SDMA_5_2_7%%/%%KMODDIR%%/amdgpu_sdma_5_2_7_bin.ko
%%SDMA_6_0_0%%/%%KMODDIR%%/amdgpu_sdma_6_0_0_bin.ko
%%SDMA_6_0_1%%/%%KMODDIR%%/amdgpu_sdma_6_0_1_bin.ko
%%SDMA_6_0_2%%/%%KMODDIR%%/amdgpu_sdma_6_0_2_bin.ko
%%SDMA_6_0_3%%/%%KMODDIR%%/amdgpu_sdma_6_0_3_bin.ko
+%%SDMA_6_1_0%%/%%KMODDIR%%/amdgpu_sdma_6_1_0_bin.ko
%%SMU_13_0_0%%/%%KMODDIR%%/amdgpu_smu_13_0_0_bin.ko
+%%SMU_13_0_6%%/%%KMODDIR%%/amdgpu_smu_13_0_6_bin.ko
%%SMU_13_0_7%%/%%KMODDIR%%/amdgpu_smu_13_0_7_bin.ko
%%SMU_13_0_10%%/%%KMODDIR%%/amdgpu_smu_13_0_10_bin.ko
+%%SMU_14_0_2%%/%%KMODDIR%%/amdgpu_smu_14_0_2_bin.ko
%%SI58%%/%%KMODDIR%%/amdgpu_si58_mc_bin.ko
%%STONEY%%/%%KMODDIR%%/amdgpu_stoney_ce_bin.ko
%%STONEY%%/%%KMODDIR%%/amdgpu_stoney_me_bin.ko
@@ -420,6 +438,7 @@
%%VCN_4_0_0%%/%%KMODDIR%%/amdgpu_vcn_4_0_0_bin.ko
%%VCN_4_0_2%%/%%KMODDIR%%/amdgpu_vcn_4_0_2_bin.ko
%%VCN_4_0_4%%/%%KMODDIR%%/amdgpu_vcn_4_0_4_bin.ko
+%%VCN_4_0_5%%/%%KMODDIR%%/amdgpu_vcn_4_0_5_bin.ko
%%VEGA10%%/%%KMODDIR%%/amdgpu_vega10_acg_smc_bin.ko
%%VEGA10%%/%%KMODDIR%%/amdgpu_vega10_asd_bin.ko
%%VEGA10%%/%%KMODDIR%%/amdgpu_vega10_ce_bin.ko
@@ -482,6 +501,7 @@
%%VERDE%%/%%KMODDIR%%/amdgpu_verde_rlc_bin.ko
%%VERDE%%/%%KMODDIR%%/amdgpu_verde_smc_bin.ko
%%VERDE%%/%%KMODDIR%%/amdgpu_verde_uvd_bin.ko
+%%VPE_6_1_0%%/%%KMODDIR%%/amdgpu_vpe_6_1_0_bin.ko
%%DIMGREY_CAVEFISH%%/%%KMODDIR%%/amdgpu_dimgrey_cavefish_ce_bin.ko
%%DIMGREY_CAVEFISH%%/%%KMODDIR%%/amdgpu_dimgrey_cavefish_dmcub_bin.ko
%%DIMGREY_CAVEFISH%%/%%KMODDIR%%/amdgpu_dimgrey_cavefish_me_bin.ko
diff --git a/graphics/gpu-firmware-intel-kmod/Makefile b/graphics/gpu-firmware-intel-kmod/Makefile
index 8dff65a15637..fe34bb2b3cb6 100644
--- a/graphics/gpu-firmware-intel-kmod/Makefile
+++ b/graphics/gpu-firmware-intel-kmod/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gpu-firmware-intel-kmod
-PORTVERSION= 20230625
+PORTVERSION= 20250109
CATEGORIES= graphics
MAINTAINER= x11@FreeBSD.org
@@ -26,14 +26,15 @@ FLAVORS= skylake \
rocketlake \
dg1 \
dg2 \
- alderlake
+ alderlake \
+ meteorlake
USES= kmod uidfix
USE_GITHUB= yes
GH_ACCOUNT= freebsd
GH_PROJECT= drm-kmod-firmware
-GH_TAGNAME= 20230625_4
+GH_TAGNAME= 20250109
MAKE_ENV= KMODS="i915kmsfw"
MAKE_ENV+= I915KMODS="${FLAVOR}"
diff --git a/graphics/gpu-firmware-intel-kmod/distinfo b/graphics/gpu-firmware-intel-kmod/distinfo
index 492ad3e02b6d..8bca4cfa39bd 100644
--- a/graphics/gpu-firmware-intel-kmod/distinfo
+++ b/graphics/gpu-firmware-intel-kmod/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1704270482
-SHA256 (freebsd-drm-kmod-firmware-20230625-20230625_4_GH0.tar.gz) = 509eb439ba85e051016127c59d32cf15f873db6558c6da8fe0af76536259152d
-SIZE (freebsd-drm-kmod-firmware-20230625-20230625_4_GH0.tar.gz) = 30535277
+TIMESTAMP = 1765464148
+SHA256 (freebsd-drm-kmod-firmware-20250109_GH0.tar.gz) = b204a6bbc44e537cf74d84a025a3634833e86a0f28cedf1ae216257039414229
+SIZE (freebsd-drm-kmod-firmware-20250109_GH0.tar.gz) = 40111427
diff --git a/graphics/gpu-firmware-intel-kmod/pkg-plist b/graphics/gpu-firmware-intel-kmod/pkg-plist
index 095ca60b9d43..9d23e9424bc7 100644
--- a/graphics/gpu-firmware-intel-kmod/pkg-plist
+++ b/graphics/gpu-firmware-intel-kmod/pkg-plist
@@ -53,3 +53,8 @@
%%ALDERLAKE%%/%%KMODDIR%%/i915_adlp_guc_62_0_3_bin.ko
%%ALDERLAKE%%/%%KMODDIR%%/i915_adlp_guc_70_bin.ko
%%ALDERLAKE%%/%%KMODDIR%%/i915_adls_dmc_ver2_01_bin.ko
+%%METEORLAKE%%/%%KMODDIR%%/i915_mtl_dmc_bin.ko
+%%METEORLAKE%%/%%KMODDIR%%/i915_mtl_dmc_ver2_10_bin.ko
+%%METEORLAKE%%/%%KMODDIR%%/i915_mtl_gsc_1_bin.ko
+%%METEORLAKE%%/%%KMODDIR%%/i915_mtl_guc_70_bin.ko
+%%METEORLAKE%%/%%KMODDIR%%/i915_mtl_huc_gsc_bin.ko
diff --git a/graphics/gpu-firmware-kmod/Makefile b/graphics/gpu-firmware-kmod/Makefile
index 27bd2b4ec43a..c65e9ee585de 100644
--- a/graphics/gpu-firmware-kmod/Makefile
+++ b/graphics/gpu-firmware-kmod/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gpu-firmware-kmod
-PORTVERSION= 20241114
+PORTVERSION= 20250109
PORTEPOCH= 1
CATEGORIES= graphics
@@ -72,7 +72,8 @@ RUN_DEPENDS+= gpu-firmware-intel-kmod-skylake>0:graphics/gpu-firmware-intel-kmod
gpu-firmware-intel-kmod-rocketlake>0:graphics/gpu-firmware-intel-kmod@rocketlake \
gpu-firmware-intel-kmod-dg1>0:graphics/gpu-firmware-intel-kmod@dg1 \
gpu-firmware-intel-kmod-dg2>0:graphics/gpu-firmware-intel-kmod@dg2 \
- gpu-firmware-intel-kmod-alderlake>0:graphics/gpu-firmware-intel-kmod@alderlake
+ gpu-firmware-intel-kmod-alderlake>0:graphics/gpu-firmware-intel-kmod@alderlake \
+ gpu-firmware-intel-kmod-meteorlake>0:graphics/gpu-firmware-intel-kmod@meteorlake
.endif
.if ${ARCH} != powerpc64
@@ -116,6 +117,8 @@ RUN_DEPENDS+= gpu-firmware-amd-kmod-aldebaran>0:graphics/gpu-firmware-amd-kmod@a
gpu-firmware-amd-kmod-dcn-3-1-6>0:graphics/gpu-firmware-amd-kmod@dcn_3_1_6 \
gpu-firmware-amd-kmod-dcn-3-2-0>0:graphics/gpu-firmware-amd-kmod@dcn_3_2_0 \
gpu-firmware-amd-kmod-dcn-3-2-1>0:graphics/gpu-firmware-amd-kmod@dcn_3_2_1 \
+ gpu-firmware-amd-kmod-dcn-3-5>0:graphics/gpu-firmware-amd-kmod@dcn_3_5 \
+ gpu-firmware-amd-kmod-gc-9-4-3>0:graphics/gpu-firmware-amd-kmod@gc_9_4_3 \
gpu-firmware-amd-kmod-gc-10-3-6>0:graphics/gpu-firmware-amd-kmod@gc_10_3_6 \
gpu-firmware-amd-kmod-gc-10-3-7>0:graphics/gpu-firmware-amd-kmod@gc_10_3_7 \
gpu-firmware-amd-kmod-gc-11-0-0>0:graphics/gpu-firmware-amd-kmod@gc_11_0_0 \
@@ -123,26 +126,36 @@ RUN_DEPENDS+= gpu-firmware-amd-kmod-aldebaran>0:graphics/gpu-firmware-amd-kmod@a
gpu-firmware-amd-kmod-gc-11-0-2>0:graphics/gpu-firmware-amd-kmod@gc_11_0_2 \
gpu-firmware-amd-kmod-gc-11-0-3>0:graphics/gpu-firmware-amd-kmod@gc_11_0_3 \
gpu-firmware-amd-kmod-gc-11-0-4>0:graphics/gpu-firmware-amd-kmod@gc_11_0_4 \
+ gpu-firmware-amd-kmod-gc-11-5-0>0:graphics/gpu-firmware-amd-kmod@gc_11_5_0 \
gpu-firmware-amd-kmod-psp-13-0-0>0:graphics/gpu-firmware-amd-kmod@psp_13_0_0 \
gpu-firmware-amd-kmod-psp-13-0-4>0:graphics/gpu-firmware-amd-kmod@psp_13_0_4 \
gpu-firmware-amd-kmod-psp-13-0-5>0:graphics/gpu-firmware-amd-kmod@psp_13_0_5 \
+ gpu-firmware-amd-kmod-psp-13-0-6>0:graphics/gpu-firmware-amd-kmod@psp_13_0_6 \
gpu-firmware-amd-kmod-psp-13-0-7>0:graphics/gpu-firmware-amd-kmod@psp_13_0_7 \
gpu-firmware-amd-kmod-psp-13-0-8>0:graphics/gpu-firmware-amd-kmod@psp_13_0_8 \
gpu-firmware-amd-kmod-psp-13-0-10>0:graphics/gpu-firmware-amd-kmod@psp_13_0_10 \
gpu-firmware-amd-kmod-psp-13-0-11>0:graphics/gpu-firmware-amd-kmod@psp_13_0_11 \
+ gpu-firmware-amd-kmod-psp-14-0-0>0:graphics/gpu-firmware-amd-kmod@psp_14_0_0 \
+ gpu-firmware-amd-kmod-sdma-4-4-2>0:graphics/gpu-firmware-amd-kmod@sdma_4_4_2 \
gpu-firmware-amd-kmod-sdma-5-2-6>0:graphics/gpu-firmware-amd-kmod@sdma_5_2_6 \
gpu-firmware-amd-kmod-sdma-5-2-7>0:graphics/gpu-firmware-amd-kmod@sdma_5_2_7 \
gpu-firmware-amd-kmod-sdma-6-0-0>0:graphics/gpu-firmware-amd-kmod@sdma_6_0_0 \
gpu-firmware-amd-kmod-sdma-6-0-1>0:graphics/gpu-firmware-amd-kmod@sdma_6_0_1 \
gpu-firmware-amd-kmod-sdma-6-0-2>0:graphics/gpu-firmware-amd-kmod@sdma_6_0_2 \
gpu-firmware-amd-kmod-sdma-6-0-3>0:graphics/gpu-firmware-amd-kmod@sdma_6_0_3 \
+ gpu-firmware-amd-kmod-sdma-6-1-0>0:graphics/gpu-firmware-amd-kmod@sdma_6_1_0 \
gpu-firmware-amd-kmod-smu-13-0-0>0:graphics/gpu-firmware-amd-kmod@smu_13_0_0 \
+ gpu-firmware-amd-kmod-smu-13-0-6>0:graphics/gpu-firmware-amd-kmod@smu_13_0_6 \
gpu-firmware-amd-kmod-smu-13-0-7>0:graphics/gpu-firmware-amd-kmod@smu_13_0_7 \
gpu-firmware-amd-kmod-smu-13-0-10>0:graphics/gpu-firmware-amd-kmod@smu_13_0_10 \
+ gpu-firmware-amd-kmod-smu-14-0-2>0:graphics/gpu-firmware-amd-kmod@smu_14_0_2 \
gpu-firmware-amd-kmod-vcn-3-1-2>0:graphics/gpu-firmware-amd-kmod@vcn_3_1_2 \
gpu-firmware-amd-kmod-vcn-4-0-0>0:graphics/gpu-firmware-amd-kmod@vcn_4_0_0 \
gpu-firmware-amd-kmod-vcn-4-0-2>0:graphics/gpu-firmware-amd-kmod@vcn_4_0_2 \
- gpu-firmware-amd-kmod-vcn-4-0-4>0:graphics/gpu-firmware-amd-kmod@vcn_4_0_4
+ gpu-firmware-amd-kmod-vcn-4-0-3>0:graphics/gpu-firmware-amd-kmod@vcn_4_0_3 \
+ gpu-firmware-amd-kmod-vcn-4-0-4>0:graphics/gpu-firmware-amd-kmod@vcn_4_0_4 \
+ gpu-firmware-amd-kmod-vcn-4-0-5>0:graphics/gpu-firmware-amd-kmod@vcn_4_0_5 \
+ gpu-firmware-amd-kmod-vpe-6-1-0>0:graphics/gpu-firmware-amd-kmod@vpe_6_1_0
.endif
.include <bsd.port.post.mk>
diff --git a/graphics/grafx2/Makefile b/graphics/grafx2/Makefile
index 404a429f8c29..7f976ee2e0b6 100644
--- a/graphics/grafx2/Makefile
+++ b/graphics/grafx2/Makefile
@@ -2,6 +2,7 @@ PORTNAME= grafx2
DISTVERSIONPREFIX= v
DISTVERSION= 2.9
DISTVERSIONSUFFIX= .3219
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= http://pulkomandy.tk/projects/GrafX2/downloads/ \
LOCAL/ehaupt
diff --git a/graphics/graphos/Makefile b/graphics/graphos/Makefile
index 96be3b221434..fc514bf7b8ef 100644
--- a/graphics/graphos/Makefile
+++ b/graphics/graphos/Makefile
@@ -1,6 +1,6 @@
PORTNAME= graphos
PORTVERSION= 0.7
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics gnustep
MASTER_SITES= SAVANNAH/gap
DISTNAME= Graphos-${PORTVERSION}
diff --git a/graphics/graphviz/Makefile b/graphics/graphviz/Makefile
index 1c1f99be797a..13fc794c9fe7 100644
--- a/graphics/graphviz/Makefile
+++ b/graphics/graphviz/Makefile
@@ -1,6 +1,6 @@
PORTNAME= graphviz
-PORTVERSION= 12.2.1
-PORTREVISION= 2
+PORTVERSION= 14.0.5
+PORTREVISION= 1
CATEGORIES= graphics tk
MASTER_SITES= https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/${PORTVERSION}/
@@ -50,6 +50,7 @@ FIX_TCL_SCRIPT= tclpkg/gdtclft/demo/entities.tcl \
tclpkg/tcldot/demo/gcat.tcl
FIX_TK_SCRIPT= tclpkg/tcldot/demo/doted.tcl \
tclpkg/tclpathplan/demo/pathplan.tcl
+PLIST_SUB= SH_VERSION_SHORT="8" SH_VERSION_FULL="8.0.4"
OPTIONS_DEFINE= XPM DIGCOLA IPSEPCOLA ICONV NLS ANN GTS \
PANGOCAIRO POPPLER GDK GHOSTSCRIPT DEVIL \
diff --git a/graphics/graphviz/distinfo b/graphics/graphviz/distinfo
index d2b99446ff7f..6086ca6f6d55 100644
--- a/graphics/graphviz/distinfo
+++ b/graphics/graphviz/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734282718
-SHA256 (graphviz-12.2.1.tar.gz) = 242bc18942eebda6db4039f108f387ec97856fc91ba47f21e89341c34b554df8
-SIZE (graphviz-12.2.1.tar.gz) = 26813453
+TIMESTAMP = 1764402518
+SHA256 (graphviz-14.0.5.tar.gz) = 4e53c943b37555fa5bc3e273f1703f68dd2714f0af4d7540b7990ae21c85f25a
+SIZE (graphviz-14.0.5.tar.gz) = 26819854
diff --git a/graphics/graphviz/files/patch-configure.ac b/graphics/graphviz/files/patch-configure.ac
deleted file mode 100644
index 3e0453ddab3d..000000000000
--- a/graphics/graphviz/files/patch-configure.ac
+++ /dev/null
@@ -1,26 +0,0 @@
---- configure.ac.orig 2024-12-06 23:55:56 UTC
-+++ configure.ac
-@@ -730,13 +730,13 @@ else
- for l in "$lua_suffix" "" "54" "5.4" "53" "5.3" "52" "5.2" "51" "5.1" ; do
- pkgconfig_lua_found=`$PKG_CONFIG --exists lua$l 2>/dev/null`
- if test "$?" = "0" ; then
-- LUA_INCLUDES="$LUA_CFLAGS "`$PKG_CONFIG --cflags lua$l`
-+ LUA_INCLUDES="$LUA_CFLAGS "`$PKG_CONFIG --cflags-only-I lua$l`
- LUA_LIBS="$LUA_LFLAGS "`$PKG_CONFIG --libs lua$l`
- LUA_INSTALL_DIR="`$PKG_CONFIG --variable=libdir lua$l`/lua"
-
- pkgconfig_lualib_found=`$PKG_CONFIG --exists lualib$l 2>/dev/null`
- if test "$?" = "0"; then
-- LUA_INCLUDES="$LUA_CFLAGS "`$PKG_CONFIG --cflags lualib$l`
-+ LUA_INCLUDES="$LUA_CFLAGS "`$PKG_CONFIG --flags-only-I lualib$l`
- LUA_LIBS="$LUA_LFLAGS "`$PKG_CONFIG --libs lualib$l`
- fi
- break
-@@ -1028,6 +1028,7 @@ else
- RUBY_CFLAGS="$RUBY_CFLAGS -I`$RUBY $srcdir/config/config_ruby.rb vendorhdrdir`"
- RUBY_CFLAGS="$RUBY_CFLAGS -I`$RUBY $srcdir/config/config_ruby.rb sitehdrdir`"
- RUBY_CFLAGS="$RUBY_CFLAGS -I`$RUBY $srcdir/config/config_ruby.rb rubyhdrdir`"
-+ #RUBY_CFLAGS="${RUBY_CFLAGS} -I`$RUBY $srcdir/config/config_ruby.rb inc`"
- RUBY_LIBS="-L`$RUBY $srcdir/config/config_ruby.rb libdir` `$RUBY -rrbconfig -e \"puts RbConfig::CONFIG[['LIBRUBYARG_SHARED']]\"`"
- RUBY_INSTALL_DIR="`$RUBY $srcdir/config/config_ruby.rb vendorarchdir`"
- if test "$RUBY_INSTALL_DIR" = ""; then
diff --git a/graphics/graphviz/pkg-plist b/graphics/graphviz/pkg-plist
index 1fa14c56408e..c587ae27043a 100644
--- a/graphics/graphviz/pkg-plist
+++ b/graphics/graphviz/pkg-plist
@@ -80,56 +80,56 @@ include/graphviz/xdot.h
%%GUILE%%lib/graphviz/guile/libgv_guile.so
lib/graphviz/libgvplugin_core.la
lib/graphviz/libgvplugin_core.so
-lib/graphviz/libgvplugin_core.so.6
-lib/graphviz/libgvplugin_core.so.6.0.0
+lib/graphviz/libgvplugin_core.so.%%SH_VERSION_SHORT%%
+lib/graphviz/libgvplugin_core.so.%%SH_VERSION_FULL%%
%%DEVIL%%lib/graphviz/libgvplugin_devil.la
%%DEVIL%%lib/graphviz/libgvplugin_devil.so
-%%DEVIL%%lib/graphviz/libgvplugin_devil.so.6
-%%DEVIL%%lib/graphviz/libgvplugin_devil.so.6.0.0
+%%DEVIL%%lib/graphviz/libgvplugin_devil.so.%%SH_VERSION_SHORT%%
+%%DEVIL%%lib/graphviz/libgvplugin_devil.so.%%SH_VERSION_FULL%%
lib/graphviz/libgvplugin_dot_layout.la
lib/graphviz/libgvplugin_dot_layout.so
-lib/graphviz/libgvplugin_dot_layout.so.6
-lib/graphviz/libgvplugin_dot_layout.so.6.0.0
+lib/graphviz/libgvplugin_dot_layout.so.%%SH_VERSION_SHORT%%
+lib/graphviz/libgvplugin_dot_layout.so.%%SH_VERSION_FULL%%
lib/graphviz/libgvplugin_gd.la
lib/graphviz/libgvplugin_gd.so
-lib/graphviz/libgvplugin_gd.so.6
-lib/graphviz/libgvplugin_gd.so.6.0.0
+lib/graphviz/libgvplugin_gd.so.%%SH_VERSION_SHORT%%
+lib/graphviz/libgvplugin_gd.so.%%SH_VERSION_FULL%%
%%GDK%%lib/graphviz/libgvplugin_gdk.la
%%GDK%%lib/graphviz/libgvplugin_gdk.so
-%%GDK%%lib/graphviz/libgvplugin_gdk.so.6
-%%GDK%%lib/graphviz/libgvplugin_gdk.so.6.0.0
+%%GDK%%lib/graphviz/libgvplugin_gdk.so.%%SH_VERSION_SHORT%%
+%%GDK%%lib/graphviz/libgvplugin_gdk.so.%%SH_VERSION_FULL%%
%%GHOSTSCRIPT%%lib/graphviz/libgvplugin_gs.la
%%GHOSTSCRIPT%%lib/graphviz/libgvplugin_gs.so
-%%GHOSTSCRIPT%%lib/graphviz/libgvplugin_gs.so.6
-%%GHOSTSCRIPT%%lib/graphviz/libgvplugin_gs.so.6.0.0
+%%GHOSTSCRIPT%%lib/graphviz/libgvplugin_gs.so.%%SH_VERSION_SHORT%%
+%%GHOSTSCRIPT%%lib/graphviz/libgvplugin_gs.so.%%SH_VERSION_FULL%%
lib/graphviz/libgvplugin_kitty.la
lib/graphviz/libgvplugin_kitty.so
-lib/graphviz/libgvplugin_kitty.so.6
-lib/graphviz/libgvplugin_kitty.so.6.0.0
+lib/graphviz/libgvplugin_kitty.so.%%SH_VERSION_SHORT%%
+lib/graphviz/libgvplugin_kitty.so.%%SH_VERSION_FULL%%
lib/graphviz/libgvplugin_neato_layout.la
lib/graphviz/libgvplugin_neato_layout.so
-lib/graphviz/libgvplugin_neato_layout.so.6
-lib/graphviz/libgvplugin_neato_layout.so.6.0.0
+lib/graphviz/libgvplugin_neato_layout.so.%%SH_VERSION_SHORT%%
+lib/graphviz/libgvplugin_neato_layout.so.%%SH_VERSION_FULL%%
%%PANGOCAIRO%%lib/graphviz/libgvplugin_pango.la
%%PANGOCAIRO%%lib/graphviz/libgvplugin_pango.so
-%%PANGOCAIRO%%lib/graphviz/libgvplugin_pango.so.6
-%%PANGOCAIRO%%lib/graphviz/libgvplugin_pango.so.6.0.0
+%%PANGOCAIRO%%lib/graphviz/libgvplugin_pango.so.%%SH_VERSION_SHORT%%
+%%PANGOCAIRO%%lib/graphviz/libgvplugin_pango.so.%%SH_VERSION_FULL%%
%%POPPLER%%lib/graphviz/libgvplugin_poppler.la
%%POPPLER%%lib/graphviz/libgvplugin_poppler.so
-%%POPPLER%%lib/graphviz/libgvplugin_poppler.so.6
-%%POPPLER%%lib/graphviz/libgvplugin_poppler.so.6.0.0
+%%POPPLER%%lib/graphviz/libgvplugin_poppler.so.%%SH_VERSION_SHORT%%
+%%POPPLER%%lib/graphviz/libgvplugin_poppler.so.%%SH_VERSION_FULL%%
lib/graphviz/libgvplugin_vt.la
lib/graphviz/libgvplugin_vt.so
-lib/graphviz/libgvplugin_vt.so.6
-lib/graphviz/libgvplugin_vt.so.6.0.0
+lib/graphviz/libgvplugin_vt.so.%%SH_VERSION_SHORT%%
+lib/graphviz/libgvplugin_vt.so.%%SH_VERSION_FULL%%
lib/graphviz/libgvplugin_webp.la
lib/graphviz/libgvplugin_webp.so
-lib/graphviz/libgvplugin_webp.so.6
-lib/graphviz/libgvplugin_webp.so.6.0.0
+lib/graphviz/libgvplugin_webp.so.%%SH_VERSION_SHORT%%
+lib/graphviz/libgvplugin_webp.so.%%SH_VERSION_FULL%%
%%PANGOCAIRO%%%%XPM%%lib/graphviz/libgvplugin_xlib.la
%%PANGOCAIRO%%%%XPM%%lib/graphviz/libgvplugin_xlib.so
-%%PANGOCAIRO%%%%XPM%%lib/graphviz/libgvplugin_xlib.so.6
-%%PANGOCAIRO%%%%XPM%%lib/graphviz/libgvplugin_xlib.so.6.0.0
+%%PANGOCAIRO%%%%XPM%%lib/graphviz/libgvplugin_xlib.so.%%SH_VERSION_SHORT%%
+%%PANGOCAIRO%%%%XPM%%lib/graphviz/libgvplugin_xlib.so.%%SH_VERSION_FULL%%
%%LUA%%lib/graphviz/lua/gv.so
%%LUA%%lib/graphviz/lua/libgv_lua.la
%%LUA%%lib/graphviz/lua/libgv_lua.so
@@ -160,24 +160,24 @@ lib/graphviz/libgvplugin_webp.so.6.0.0
%%TCL%%lib/graphviz/tcl/pkgIndex.tcl
lib/libcdt.la
lib/libcdt.so
-lib/libcdt.so.5
-lib/libcdt.so.5.0.0
+lib/libcdt.so.6
+lib/libcdt.so.6.0.1
lib/libcgraph.la
lib/libcgraph.so
-lib/libcgraph.so.6
-lib/libcgraph.so.6.0.0
+lib/libcgraph.so.%%SH_VERSION_SHORT%%
+lib/libcgraph.so.%%SH_VERSION_FULL%%
lib/libgvc.la
lib/libgvc.so
-lib/libgvc.so.6
-lib/libgvc.so.6.0.0
+lib/libgvc.so.7
+lib/libgvc.so.7.0.3
lib/libgvpr.la
lib/libgvpr.so
lib/libgvpr.so.2
-lib/libgvpr.so.2.0.0
+lib/libgvpr.so.2.0.4
lib/libpathplan.la
lib/libpathplan.so
lib/libpathplan.so.4
-lib/libpathplan.so.4.0.0
+lib/libpathplan.so.4.0.3
lib/libxdot.la
lib/libxdot.so
lib/libxdot.so.4
@@ -201,7 +201,7 @@ lib/libxdot.so.4.0.0
%%TCL%%lib/tcl%%TCL_VER%%/graphviz/libtclplan.so
%%TCL%%lib/tcl%%TCL_VER%%/graphviz/pkgIndex.tcl
@postexec %D/bin/dot -c
-@postunexec rm -f %D/lib/graphviz/config6
+@postunexec rm -f %D/lib/graphviz/config%%SH_VERSION_SHORT%%
libdata/pkgconfig/libcdt.pc
libdata/pkgconfig/libcgraph.pc
libdata/pkgconfig/libgvc.pc
diff --git a/graphics/gscan2pdf/Makefile b/graphics/gscan2pdf/Makefile
index f2c840acc459..9d44b6781c2a 100644
--- a/graphics/gscan2pdf/Makefile
+++ b/graphics/gscan2pdf/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gscan2pdf
-PORTVERSION= 2.13.4
-PORTREVISION= 3
+PORTVERSION= 2.13.5
CATEGORIES= graphics
MASTER_SITES= SF
@@ -55,7 +54,7 @@ RUN_DEPENDS:= p5-Proc-ProcessTable>0:devel/p5-Proc-ProcessTable \
NO_ARCH= yes
-USES= desktop-file-utils gettext gmake gnome magick:6,build,run perl5 tar:xz
+USES= desktop-file-utils gettext gmake gnome magick:build,run perl5 tar:xz
USE_GNOME= gtk30 librsvg2
USE_PERL5= configure
diff --git a/graphics/gscan2pdf/distinfo b/graphics/gscan2pdf/distinfo
index eeed33d338b2..96dfc838456d 100644
--- a/graphics/gscan2pdf/distinfo
+++ b/graphics/gscan2pdf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1722534729
-SHA256 (gscan2pdf-2.13.4.tar.xz) = e07713915241b1c05bf00c5e37aa2b310155474c388457e41a1c503b33f79969
-SIZE (gscan2pdf-2.13.4.tar.xz) = 510300
+TIMESTAMP = 1762456987
+SHA256 (gscan2pdf-2.13.5.tar.xz) = 0d4304f6723d076f868feb013e3d7be925dfbb10dcdc23177dbcbf6606b7d5fa
+SIZE (gscan2pdf-2.13.5.tar.xz) = 526768
diff --git a/graphics/gscan2pdf/pkg-plist b/graphics/gscan2pdf/pkg-plist
index 98e50e37adf3..87612a87ccff 100644
--- a/graphics/gscan2pdf/pkg-plist
+++ b/graphics/gscan2pdf/pkg-plist
@@ -18,6 +18,7 @@ bin/gscan2pdf
%%SITE_PERL%%/Gscan2pdf/EntryCompletion.pm
%%SITE_PERL%%/Gscan2pdf/Frontend/CLI.pm
%%SITE_PERL%%/Gscan2pdf/Frontend/Image_Sane.pm
+%%SITE_PERL%%/Gscan2pdf/Helpers.pm
%%SITE_PERL%%/Gscan2pdf/NetPBM.pm
%%SITE_PERL%%/Gscan2pdf/Page.pm
%%SITE_PERL%%/Gscan2pdf/PageRange.pm
@@ -62,6 +63,7 @@ share/locale/hu/LC_MESSAGES/gscan2pdf.mo
share/locale/it/LC_MESSAGES/gscan2pdf.mo
share/locale/ja/LC_MESSAGES/gscan2pdf.mo
share/locale/ko/LC_MESSAGES/gscan2pdf.mo
+share/locale/lo/LC_MESSAGES/gscan2pdf.mo
share/locale/nb/LC_MESSAGES/gscan2pdf.mo
share/locale/nl/LC_MESSAGES/gscan2pdf.mo
share/locale/oc/LC_MESSAGES/gscan2pdf.mo
diff --git a/graphics/gstreamer1-plugins-openexr/Makefile b/graphics/gstreamer1-plugins-openexr/Makefile
index 3e63d57ad993..ce8254e3d972 100644
--- a/graphics/gstreamer1-plugins-openexr/Makefile
+++ b/graphics/gstreamer1-plugins-openexr/Makefile
@@ -3,8 +3,7 @@ CATEGORIES= graphics
COMMENT= GStreamer OpenExr codec plugin
-LIB_DEPENDS= libOpenEXR.so:graphics/openexr \
- libImath-3_1.so:math/Imath
+LIB_DEPENDS= libOpenEXR.so:graphics/openexr
USES+= compiler:c++11-lang
diff --git a/graphics/gthumb/Makefile b/graphics/gthumb/Makefile
index fa928039d2cb..6089e5aab18c 100644
--- a/graphics/gthumb/Makefile
+++ b/graphics/gthumb/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gthumb
-PORTVERSION= 3.12.7
-PORTREVISION= 1
+PORTVERSION= 3.12.8
CATEGORIES= graphics
MASTER_SITES= GNOME
DIST_SUBDIR= gnome
@@ -14,49 +13,36 @@ LICENSE= GPLv2+
BUILD_DEPENDS= gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas \
itstool:textproc/itstool \
appstreamcli:devel/appstream
-LIB_DEPENDS= libclutter-1.0.so:graphics/clutter \
- libcogl.so:graphics/cogl \
- libgstreamer-1.0.so:multimedia/gstreamer1 \
- libjson-glib-1.0.so:devel/json-glib \
- liblcms2.so:graphics/lcms2 \
- liboauth.so:net/liboauth \
+LIB_DEPENDS= liblcms2.so:graphics/lcms2 \
libpng.so:graphics/png \
- libsoup-2.4.so:devel/libsoup \
libtiff.so:graphics/tiff \
- libcolord.so:graphics/colord
+ libcolord.so:graphics/colord \
+ libexiv2.so:graphics/exiv2
RUN_DEPENDS= gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas
-USES= bison compiler:c++11-lib cpe desktop-file-utils gettext gl \
+USES= bison compiler:c++11-lib cpe desktop-file-utils gettext \
gnome jpeg localbase:ldflags meson pkgconfig \
python:build shebangfix tar:xz xorg
-USE_GL= egl
-USE_GNOME= cairo gtk30 intltool librsvg2
-USE_XORG= x11 xcomposite xdamage xext xfixes xrandr xi
-MESON_ARGS= -Dlibrsvg=true \
- -Dlibchamplain=false
+USE_GNOME= cairo glib20 gtk30 librsvg2
+USE_XORG= x11
CPE_VENDOR= gnome
USE_LDCONFIG= yes
BINARY_ALIAS= python3=${PYTHON_CMD}
SHEBANG_FILES= *.py data/gschemas/*.py gthumb/*.py po/*.py
-PLIST_SUB= GTHUMB_VER="3.10"
-
GLIB_SCHEMAS= org.gnome.gthumb.change-date.gschema.xml \
org.gnome.gthumb.comments.gschema.xml \
org.gnome.gthumb.contact-sheet.gschema.xml \
org.gnome.gthumb.convert-format.gschema.xml \
org.gnome.gthumb.crop.gschema.xml \
org.gnome.gthumb.enums.xml \
- org.gnome.gthumb.facebook.gschema.xml \
org.gnome.gthumb.file-manager.gschema.xml \
- org.gnome.gthumb.flickr.gschema.xml \
org.gnome.gthumb.gschema.xml \
org.gnome.gthumb.gstreamer-tools.gschema.xml \
org.gnome.gthumb.image-print.gschema.xml \
org.gnome.gthumb.image-viewer.gschema.xml \
org.gnome.gthumb.importer.gschema.xml \
org.gnome.gthumb.photo-importer.gschema.xml \
- org.gnome.gthumb.picasaweb.gschema.xml \
org.gnome.gthumb.pixbuf-savers.gschema.xml \
org.gnome.gthumb.rename-series.gschema.xml \
org.gnome.gthumb.resize-images.gschema.xml \
@@ -67,20 +53,18 @@ GLIB_SCHEMAS= org.gnome.gthumb.change-date.gschema.xml \
org.gnome.gthumb.catalogs.gschema.xml \
org.gnome.gthumb.terminal.gschema.xml
-OPTIONS_DEFINE= BRASERO CLUTTER EXIV2 GSTREAMER HEIF JXL RAW SECRET \
- WEBP WEBSERVICES YELP
-OPTIONS_DEFAULT= BRASERO CLUTTER EXIV2 GSTREAMER HEIF JXL RAW SECRET \
- WEBP WEBSERVICES YELP
+OPTIONS_DEFINE= BRASERO CLUTTER GSTREAMER HEIF JXL RAW WEBP YELP
+OPTIONS_DEFAULT= CLUTTER GSTREAMER HEIF JXL RAW WEBP YELP
OPTIONS_SUB= yes
BRASERO_DESC= Write galleries to CD/DVD (large dependency)
BRASERO_LIB_DEPENDS= libbrasero-media3.so:sysutils/brasero
BRASERO_MESON_TRUE= libbrasero
CLUTTER_DESC= Fancy slideshows
-CLUTTER_LIB_DEPENDS= libclutter-gtk-1.0.so:graphics/clutter-gtk3
+CLUTTER_LIB_DEPENDS= libcogl.so:graphics/cogl \
+ libclutter-1.0.so:graphics/clutter \
+ libclutter-gtk-1.0.so:graphics/clutter-gtk3
CLUTTER_MESON_TRUE= clutter
-EXIV2_LIB_DEPENDS= libexiv2.so:graphics/exiv2
-EXIV2_MESON_TRUE= exiv2
GSTREAMER_USES= gstreamer
GSTREAMER_MESON_TRUE= gstreamer
HEIF_LIB_DEPENDS= libheif.so:graphics/libheif
@@ -90,16 +74,8 @@ JXL_MESON_TRUE= libjxl
RAW_DESC= Raw image support via libraw
RAW_LIB_DEPENDS= libraw.so:graphics/libraw
RAW_MESON_TRUE= libraw
-SECRET_DESC= Libsecret support for storing passwords
-SECRET_LIB_DEPENDS= libsecret-1.so:security/libsecret
-SECRET_MESON_TRUE= libsecret
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
WEBP_MESON_TRUE= libwebp
-WEBSERVICES_DESC= Web services
-WEBSERVICES_LIB_DEPENDS=\
- libjson-glib-1.0.so:devel/json-glib \
- libwebkit2gtk-4.0.so:www/webkit2-gtk@40
-WEBSERVICES_MESON_TRUE= webservices
YELP_DESC= Viewer for built-in help system
YELP_RUN_DEPENDS= yelp:x11/yelp
diff --git a/graphics/gthumb/distinfo b/graphics/gthumb/distinfo
index 2a0ab584c654..3ad112be0974 100644
--- a/graphics/gthumb/distinfo
+++ b/graphics/gthumb/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741255364
-SHA256 (gnome/gthumb-3.12.7.tar.xz) = ee12d24cf231010241f758d6c95b9d53a7381278fa76b6a518b3d09b371efaec
-SIZE (gnome/gthumb-3.12.7.tar.xz) = 7642460
+TIMESTAMP = 1758123859
+SHA256 (gnome/gthumb-3.12.8.tar.xz) = afc74a271f6017b7581319efc8b8ab56400990ab9d200160a4efa6fcbe2274f2
+SIZE (gnome/gthumb-3.12.8.tar.xz) = 7593596
diff --git a/graphics/gthumb/files/patch-extensions_image__rotation_rotation-utils.c b/graphics/gthumb/files/patch-extensions_image__rotation_rotation-utils.c
new file mode 100644
index 000000000000..c21a20c494ac
--- /dev/null
+++ b/graphics/gthumb/files/patch-extensions_image__rotation_rotation-utils.c
@@ -0,0 +1,10 @@
+--- extensions/image_rotation/rotation-utils.c.orig 2025-09-16 07:18:36 UTC
++++ extensions/image_rotation/rotation-utils.c
+@@ -20,6 +20,7 @@
+ */
+
+ #include <config.h>
++#include <stdbool.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <glib/gi18n.h>
diff --git a/graphics/gthumb/pkg-plist b/graphics/gthumb/pkg-plist
index 7ec06747099f..1516996bd8c8 100644
--- a/graphics/gthumb/pkg-plist
+++ b/graphics/gthumb/pkg-plist
@@ -117,7 +117,6 @@ include/gthumb/str-utils.h
include/gthumb/typedefs.h
include/gthumb/uri-utils.h
include/gthumb/zlib-utils.h
-%%WEBSERVICES%%lib/gthumb/extensions/23hq.extension
lib/gthumb/extensions/bookmarks.extension
%%BRASERO%%lib/gthumb/extensions/burn_disc.extension
lib/gthumb/extensions/cairo_io.extension
@@ -128,14 +127,12 @@ lib/gthumb/extensions/contact_sheet.extension
lib/gthumb/extensions/convert_format.extension
lib/gthumb/extensions/desktop_background.extension
lib/gthumb/extensions/edit_metadata.extension
-%%EXIV2%%lib/gthumb/extensions/exiv2_tools.extension
+lib/gthumb/extensions/exiv2_tools.extension
lib/gthumb/extensions/export_tools.extension
lib/gthumb/extensions/file_manager.extension
lib/gthumb/extensions/file_tools.extension
lib/gthumb/extensions/file_viewer.extension
lib/gthumb/extensions/find_duplicates.extension
-%%WEBSERVICES%%lib/gthumb/extensions/flicker.extension
-%%WEBSERVICES%%lib/gthumb/extensions/flicker_utils.extension
%%GSTREAMER%%lib/gthumb/extensions/gstreamer_tools.extension
%%GSTREAMER%%lib/gthumb/extensions/gstreamer_utils.extension
lib/gthumb/extensions/image_print.extension
@@ -143,7 +140,6 @@ lib/gthumb/extensions/image_rotation.extension
lib/gthumb/extensions/image_viewer.extension
lib/gthumb/extensions/importer.extension
lib/gthumb/extensions/jpeg_utils.extension
-%%WEBSERVICES%%lib/gthumb/extensions/lib23hq.so
lib/gthumb/extensions/libbookmarks.so
%%BRASERO%%lib/gthumb/extensions/libburn_disc.so
lib/gthumb/extensions/libcairo_io.so
@@ -154,14 +150,12 @@ lib/gthumb/extensions/libcontact_sheet.so
lib/gthumb/extensions/libconvert_format.so
lib/gthumb/extensions/libdesktop_background.so
lib/gthumb/extensions/libedit_metadata.so
-%%EXIV2%%lib/gthumb/extensions/libexiv2_tools.so
+lib/gthumb/extensions/libexiv2_tools.so
lib/gthumb/extensions/libexport_tools.so
lib/gthumb/extensions/libfile_manager.so
lib/gthumb/extensions/libfile_tools.so
lib/gthumb/extensions/libfile_viewer.so
lib/gthumb/extensions/libfind_duplicates.so
-%%WEBSERVICES%%lib/gthumb/extensions/libflicker.so
-%%WEBSERVICES%%lib/gthumb/extensions/libflicker_utils.so
%%GSTREAMER%%lib/gthumb/extensions/libgstreamer_tools.so
%%GSTREAMER%%lib/gthumb/extensions/libgstreamer_utils.so
lib/gthumb/extensions/libimage_print.so
@@ -170,7 +164,7 @@ lib/gthumb/extensions/libimage_viewer.so
lib/gthumb/extensions/libimporter.so
lib/gthumb/extensions/libjpeg_utils.so
lib/gthumb/extensions/liblist_tools.so
-%%WEBSERVICES%%lib/gthumb/extensions/liboauth.so
+lib/gthumb/extensions/libopen_map.so
lib/gthumb/extensions/libphoto_importer.so
%%RAW%%lib/gthumb/extensions/libraw_files.so
lib/gthumb/extensions/libred_eye_removal.so
@@ -182,7 +176,7 @@ lib/gthumb/extensions/libslideshow.so
lib/gthumb/extensions/libterminal.so
lib/gthumb/extensions/libwebalbums.so
lib/gthumb/extensions/list_tools.extension
-%%WEBSERVICES%%lib/gthumb/extensions/oauth.extension
+lib/gthumb/extensions/open_map.extension
lib/gthumb/extensions/photo_importer.extension
%%RAW%%lib/gthumb/extensions/raw_files.extension
lib/gthumb/extensions/red_eye_removal.extension
@@ -193,10 +187,10 @@ lib/gthumb/extensions/selections.extension
lib/gthumb/extensions/slideshow.extension
lib/gthumb/extensions/terminal.extension
lib/gthumb/extensions/webalbums.extension
-%%GSTREAMER%%libexec/gthumb/video-thumbnailer
libdata/pkgconfig/gthumb.pc
-share/man/man1/gthumb.1.gz
+%%GSTREAMER%%libexec/gthumb/video-thumbnailer
share/aclocal/gthumb.m4
+share/applications/org.gnome.gThumb.Import.desktop
share/applications/org.gnome.gThumb.desktop
%%DATADIR%%/albumthemes/Classic/back.png
%%DATADIR%%/albumthemes/Classic/bot.png
@@ -246,65 +240,60 @@ share/applications/org.gnome.gThumb.desktop
%%DATADIR%%/contactsheetthemes/minimalist.cst
%%DATADIR%%/contactsheetthemes/rainbow.cst
%%DATADIR%%/icons/filmholes.png
-%%DATADIR%%/icons/hicolor/16x16/actions/change-date-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/color-profile.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/comment-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/convert-format-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/curves-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/edit-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/emblem-flag-blue.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/emblem-flag-gray.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/emblem-flag-green.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/emblem-flag-red.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/emblem-flag-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/export-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/extension-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/eyedropper-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/file-catalog-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/file-library-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/file-search-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/filter-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/format-linear-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/format-logarithmic-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/histogram-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-adjust-colors-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-adjust-contrast-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-crop-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-equalize-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-flip-horizontal-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-flip-vertical-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-grayscale-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-invert-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-navigator-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-red-eye-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-resize-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-rotate-left-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-rotate-right-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-rotate-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/image-sharpen-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/lock-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/map-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/palette-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/pinned-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/presets-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/site-facebook.png
-%%DATADIR%%/icons/hicolor/16x16/actions/site-flickr.png
-%%DATADIR%%/icons/hicolor/16x16/actions/site-photobucket.png
-%%DATADIR%%/icons/hicolor/16x16/actions/site-picasaweb.png
-%%DATADIR%%/icons/hicolor/16x16/actions/site-twentythree.png
-%%DATADIR%%/icons/hicolor/16x16/actions/special-effects-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/swap-values-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/tag-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/tools-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/transparency-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/view-presentation-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/view-zoom-fit-height-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/view-zoom-fit-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/view-zoom-fit-width-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/view-zoom-in-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/view-zoom-original-symbolic.svg
-%%DATADIR%%/icons/hicolor/16x16/actions/view-zoom-out-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/change-date-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/color-profile.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/comment-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/convert-format-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/curves-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/edit-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/emblem-flag-blue.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/emblem-flag-gray.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/emblem-flag-green.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/emblem-flag-red.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/emblem-flag-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/export-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/extension-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/eyedropper-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/file-catalog-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/file-library-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/file-search-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/filter-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/format-linear-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/format-logarithmic-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/histogram-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-adjust-colors-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-adjust-contrast-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-crop-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-equalize-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-flip-horizontal-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-flip-vertical-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-grayscale-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-invert-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-navigator-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-red-eye-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-resize-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-rotate-left-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-rotate-right-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-rotate-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/image-sharpen-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/lock-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/map-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/palette-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/pinned-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/presets-symbolic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/slideshow-pause.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/special-effects-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/swap-values-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/tag-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/tools-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/transparency-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/view-presentation-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/view-zoom-fit-height-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/view-zoom-fit-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/view-zoom-fit-width-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/view-zoom-in-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/view-zoom-original-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/view-zoom-out-symbolic.svg
%%DATADIR%%/ui/add-to-catalog.ui
%%DATADIR%%/ui/adjust-colors-options.ui
%%DATADIR%%/ui/adjust-contrast-options.ui
@@ -324,9 +313,8 @@ share/applications/org.gnome.gThumb.desktop
%%DATADIR%%/ui/curve-preset-editor.ui
%%DATADIR%%/ui/curves-options.ui
%%DATADIR%%/ui/edit-comment-page.ui
-%%EXIV2%%%%DATADIR%%/ui/edit-exiv2-page.ui
+%%DATADIR%%/ui/edit-exiv2-page.ui
%%DATADIR%%/ui/effects-options.ui
-%%WEBSERVICES%%%%DATADIR%%/ui/export-to-flickr.ui
%%DATADIR%%/ui/extensions-preferences.ui
%%DATADIR%%/ui/favorite-properties.ui
%%DATADIR%%/ui/file-selection-info.ui
@@ -338,15 +326,11 @@ share/applications/org.gnome.gThumb.desktop
%%DATADIR%%/ui/histogram-info.ui
%%DATADIR%%/ui/image-viewer-preferences.ui
%%DATADIR%%/ui/image-wall.ui
-%%WEBSERVICES%%%%DATADIR%%/ui/import-from-flickr.ui
%%DATADIR%%/ui/import-preferences.ui
%%DATADIR%%/ui/jpeg-options.ui
%%DATADIR%%/ui/location.ui
%%GSTREAMER%%%%DATADIR%%/ui/media-viewer-preferences.ui
%%GSTREAMER%%%%DATADIR%%/ui/mediabar.ui
-%%WEBSERVICES%%%%DATADIR%%/ui/oauth-account-chooser.ui
-%%WEBSERVICES%%%%DATADIR%%/ui/oauth-account-manager.ui
-%%WEBSERVICES%%%%DATADIR%%/ui/oauth-ask-authorization.ui
%%DATADIR%%/ui/organize-files-task.ui
%%DATADIR%%/ui/organize-files.ui
%%DATADIR%%/ui/overwrite-dialog.ui
@@ -374,8 +358,6 @@ share/applications/org.gnome.gThumb.desktop
%%DATADIR%%/ui/tiff-options.ui
%%DATADIR%%/ui/web-album-exporter.ui
%%DATADIR%%/ui/webp-options.ui
-share/applications/org.gnome.gThumb.Import.desktop
-share/help/C/gthumb/figures/gThumb.svg
share/help/C/gthumb/attributes.page
share/help/C/gthumb/batch-change-date.page
share/help/C/gthumb/batch-convert-format.page
@@ -390,6 +372,7 @@ share/help/C/gthumb/edit-resize-crop.page
share/help/C/gthumb/edit-rotate.page
share/help/C/gthumb/edit-save-undo-redo.page
share/help/C/gthumb/extensions.page
+share/help/C/gthumb/figures/gThumb.svg
share/help/C/gthumb/figures/general-filter.png
share/help/C/gthumb/figures/import-pref-auto-folder.png
share/help/C/gthumb/figures/import-pref-custom-format.png
@@ -1089,9 +1072,9 @@ share/help/zh_CN/gthumb/thumbnail-pane.page
share/help/zh_CN/gthumb/thumbnails.page
share/help/zh_CN/gthumb/viewer.page
share/help/zh_CN/gthumb/wallpaper.page
-share/icons/hicolor/16x16/apps/org.gnome.gThumb-symbolic.svg
share/icons/hicolor/16x16/apps/org.gnome.gThumb.png
share/icons/hicolor/256x256/apps/org.gnome.gThumb.png
+share/icons/hicolor/scalable/apps/org.gnome.gThumb-symbolic.svg
share/icons/hicolor/scalable/apps/org.gnome.gThumb.svg
share/locale/am/LC_MESSAGES/gthumb.mo
share/locale/ar/LC_MESSAGES/gthumb.mo
@@ -1163,4 +1146,5 @@ share/locale/xh/LC_MESSAGES/gthumb.mo
share/locale/zh_CN/LC_MESSAGES/gthumb.mo
share/locale/zh_HK/LC_MESSAGES/gthumb.mo
share/locale/zh_TW/LC_MESSAGES/gthumb.mo
-share/metainfo/org.gnome.gThumb.appdata.xml
+share/man/man1/gthumb.1.gz
+share/metainfo/org.gnome.gThumb.metainfo.xml
diff --git a/graphics/gtkam/Makefile b/graphics/gtkam/Makefile
index 00f2b613670e..277df70bead7 100644
--- a/graphics/gtkam/Makefile
+++ b/graphics/gtkam/Makefile
@@ -4,7 +4,7 @@ PORTREVISION= 9
CATEGORIES= graphics
MASTER_SITES= SF/gphoto/${PORTNAME}/${PORTVERSION}
-MAINTAINER= zirias@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Download and view files from various digital cameras
WWW= http://www.gphoto.org/proj/gtkam/
diff --git a/graphics/gwenview/distinfo b/graphics/gwenview/distinfo
index 3496f59c7f19..578b2cc3f8b6 100644
--- a/graphics/gwenview/distinfo
+++ b/graphics/gwenview/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381450
-SHA256 (KDE/release-service/25.04.3/gwenview-25.04.3.tar.xz) = 59bf9fc4a4be87260781ccb5872212484b697caa53fa0ee7e128bdb08eaf5e87
-SIZE (KDE/release-service/25.04.3/gwenview-25.04.3.tar.xz) = 6533552
+TIMESTAMP = 1765478561
+SHA256 (KDE/release-service/25.12.0/gwenview-25.12.0.tar.xz) = cf328a568c5ef385c8ad0500b885d13049dd599492d2479f5d831e23410bf78c
+SIZE (KDE/release-service/25.12.0/gwenview-25.12.0.tar.xz) = 6539400
diff --git a/graphics/gwenview/pkg-plist b/graphics/gwenview/pkg-plist
index 89055f199c27..98e1a5e89582 100644
--- a/graphics/gwenview/pkg-plist
+++ b/graphics/gwenview/pkg-plist
@@ -39,6 +39,7 @@ share/locale/eo/LC_MESSAGES/gwenview.mo
share/locale/es/LC_MESSAGES/gwenview.mo
share/locale/et/LC_MESSAGES/gwenview.mo
share/locale/eu/LC_MESSAGES/gwenview.mo
+share/locale/fa/LC_MESSAGES/gwenview.mo
share/locale/fi/LC_MESSAGES/gwenview.mo
share/locale/fr/LC_MESSAGES/gwenview.mo
share/locale/ga/LC_MESSAGES/gwenview.mo
diff --git a/graphics/halftone/Makefile b/graphics/halftone/Makefile
index 8225b2f6c29e..d3d8881112e2 100644
--- a/graphics/halftone/Makefile
+++ b/graphics/halftone/Makefile
@@ -1,5 +1,5 @@
PORTNAME= halftone
-DISTVERSION= 0.6.1
+DISTVERSION= 0.7.2
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/halftone/distinfo b/graphics/halftone/distinfo
index 51c91fc64064..72deaebea66c 100644
--- a/graphics/halftone/distinfo
+++ b/graphics/halftone/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1737338585
-SHA256 (tfuxu-Halftone-0.6.1_GH0.tar.gz) = 46613b9989df2ef4531ebf6497c9de26dc48c26bc0345505a09a59e0331a4163
-SIZE (tfuxu-Halftone-0.6.1_GH0.tar.gz) = 1936146
+TIMESTAMP = 1762327676
+SHA256 (tfuxu-Halftone-0.7.2_GH0.tar.gz) = 29029ce5b67aee8c12a1c1b2b410c4a1ccacc24c251ee913d6a63bc23ffe2a9e
+SIZE (tfuxu-Halftone-0.7.2_GH0.tar.gz) = 1675770
diff --git a/graphics/halftone/pkg-plist b/graphics/halftone/pkg-plist
index 3d2add35c790..bb95d75d7a38 100644
--- a/graphics/halftone/pkg-plist
+++ b/graphics/halftone/pkg-plist
@@ -9,6 +9,7 @@ share/glib-2.0/schemas/io.github.tfuxu.Halftone.gschema.xml
%%DATADIR%%/halftone/backend/model/__init__.py
%%DATADIR%%/halftone/backend/model/output_options.py
%%DATADIR%%/halftone/backend/utils/__init__.py
+%%DATADIR%%/halftone/backend/utils/filetypes.py
%%DATADIR%%/halftone/backend/utils/image.py
%%DATADIR%%/halftone/backend/utils/temp.py
%%DATADIR%%/halftone/constants.py
@@ -19,13 +20,22 @@ share/glib-2.0/schemas/io.github.tfuxu.Halftone.gschema.xml
%%DATADIR%%/halftone/views/__init__.py
%%DATADIR%%/halftone/views/about_window.py
%%DATADIR%%/halftone/views/dither_page.py
+%%DATADIR%%/halftone/views/error_page.py
+%%DATADIR%%/halftone/views/image.py
+%%DATADIR%%/halftone/views/image_options_view.py
+%%DATADIR%%/halftone/views/image_view.py
%%DATADIR%%/halftone/views/main_window.py
%%DATADIR%%/halftone/views/preferences_window.py
%%DATADIR%%/halftone/views/report_page.py
share/icons/hicolor/scalable/apps/io.github.tfuxu.Halftone.svg
share/icons/hicolor/symbolic/apps/io.github.tfuxu.Halftone-symbolic.svg
+share/locale/bg/LC_MESSAGES/halftone.mo
+share/locale/de/LC_MESSAGES/halftone.mo
+share/locale/hi/LC_MESSAGES/halftone.mo
share/locale/it/LC_MESSAGES/halftone.mo
+share/locale/nb/LC_MESSAGES/halftone.mo
share/locale/nl/LC_MESSAGES/halftone.mo
+share/locale/oc/LC_MESSAGES/halftone.mo
share/locale/pl/LC_MESSAGES/halftone.mo
share/locale/pt_BR/LC_MESSAGES/halftone.mo
share/locale/ru/LC_MESSAGES/halftone.mo
diff --git a/graphics/hdr_tools/Makefile b/graphics/hdr_tools/Makefile
index 322e80373701..e9ee166a7d8d 100644
--- a/graphics/hdr_tools/Makefile
+++ b/graphics/hdr_tools/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hdr_tools
PORTVERSION= 0.0.2010.11.23 # unspecified by the author, so use the date
-PORTREVISION= 23
+PORTREVISION= 24
CATEGORIES= graphics
MASTER_SITES= http://ttic.uchicago.edu/~cotter/projects/hdr_tools/archives/ \
http://freebsd.nsu.ru/distfiles/
diff --git a/graphics/hiptext/Makefile b/graphics/hiptext/Makefile
index 9528cfaa240b..0c3e5896786e 100644
--- a/graphics/hiptext/Makefile
+++ b/graphics/hiptext/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hiptext
PORTVERSION= 0.0.s20160621
-PORTREVISION= 16
+PORTREVISION= 17
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/hs-tart/Makefile b/graphics/hs-tart/Makefile
index 7e54da8c660a..a89be576f671 100644
--- a/graphics/hs-tart/Makefile
+++ b/graphics/hs-tart/Makefile
@@ -1,29 +1,23 @@
PORTNAME= tart
-DISTVERSION= 0.3-20241122
+DISTVERSION= 0.4
CATEGORIES= graphics haskell
PKGNAMESUFFIX= -terminal-art
-MAINTAINER= tiago.gasiba@gmail.com
+MAINTAINER= tiga@FreeBSD.org
COMMENT= Program to make ASCII art on the terminal
-WWW= https://github.com/jtdaugherty/tart
+WWW= https://hackage.haskell.org/package/tart \
+ https://github.com/jtdaugherty/tart
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= cabal
-USE_GITHUB= yes
-GH_ACCOUNT= jtdaugherty
-GH_PROJECT= tart
-GH_TAGNAME= 49100f0
-
-USE_LOCALE= en_US.UTF-8
-
-USE_CABAL= ansi-terminal-1.1.2 \
- ansi-terminal-types-1.1 \
+USE_CABAL= ansi-terminal-1.1.3 \
+ ansi-terminal-types-1.1.3 \
bimap-0.5.0 \
- blaze-builder-0.4.2.3 \
- brick-2.5 \
+ blaze-builder-0.4.4.1 \
+ brick-2.7 \
case-insensitive-1.2.1.0 \
colour-2.3.6 \
config-ini-0.2.7.0_1 \
@@ -36,25 +30,25 @@ USE_CABAL= ansi-terminal-1.1.2 \
microlens-mtl-0.2.1.0 \
microlens-platform-0.4.4.1 \
microlens-th-0.4.3.17 \
- optparse-applicative-0.18.1.0_1 \
- os-string-2.0.7 \
+ optparse-applicative-0.19.0.0 \
+ os-string-2.0.8 \
parser-combinators-1.3.0_1 \
prettyprinter-1.7.1 \
prettyprinter-ansi-terminal-1.1.3 \
- primitive-0.9.0.0_2 \
- random-1.3.0 \
+ primitive-0.9.1.0 \
+ random-1.3.1 \
scientific-0.3.8.0_2 \
- splitmix-0.1.1 \
+ splitmix-0.1.3.1 \
tagged-0.8.9 \
- tasty-1.5.3_1 \
+ tasty-1.5.3_2 \
text-zipper-0.13 \
th-abstraction-0.7.1.0_1 \
transformers-compat-0.7.2 \
- unix-compat-0.7.3_1 \
+ unix-compat-0.7.4.1 \
unordered-containers-0.2.20_4 \
utf8-string-1.0.2 \
- vector-0.13.2.0_1 \
- vector-stream-0.1.0.1_3 \
+ vector-0.13.2.0_2 \
+ vector-stream-0.1.0.1_4 \
vty-6.4 \
vty-crossplatform-0.4.0.0 \
vty-unix-0.2.0.0 \
diff --git a/graphics/hs-tart/distinfo b/graphics/hs-tart/distinfo
index 2a4cc6ccdb94..99b932543f21 100644
--- a/graphics/hs-tart/distinfo
+++ b/graphics/hs-tart/distinfo
@@ -1,14 +1,16 @@
-TIMESTAMP = 1743133869
-SHA256 (cabal/ansi-terminal-1.1.2/ansi-terminal-1.1.2.tar.gz) = a8d04a3e0451e22a6499a92311f0df1196dc65b687df7d10e3f30d92420156b0
-SIZE (cabal/ansi-terminal-1.1.2/ansi-terminal-1.1.2.tar.gz) = 36259
-SHA256 (cabal/ansi-terminal-types-1.1/ansi-terminal-types-1.1.tar.gz) = f2e5333eb78da5f4dd330fca0c81a59276cc150c625647cd20f57b7f297a5d25
-SIZE (cabal/ansi-terminal-types-1.1/ansi-terminal-types-1.1.tar.gz) = 4746
+TIMESTAMP = 1757017970
+SHA256 (cabal/tart-0.4/tart-0.4.tar.gz) = 592559481b64fd19231de4ac13604f97702d5f0335477a671a329f4b0bd6ee14
+SIZE (cabal/tart-0.4/tart-0.4.tar.gz) = 30158
+SHA256 (cabal/ansi-terminal-1.1.3/ansi-terminal-1.1.3.tar.gz) = 88d11a165cd709bfd603b4bc36afd5b39d3e9eec69ee466ca4359441d468c092
+SIZE (cabal/ansi-terminal-1.1.3/ansi-terminal-1.1.3.tar.gz) = 32633
+SHA256 (cabal/ansi-terminal-types-1.1.3/ansi-terminal-types-1.1.3.tar.gz) = 9fc9ce2157f1889bd99a4d22c9f1c64589590be0f797c3efe71c8fa17a11a689
+SIZE (cabal/ansi-terminal-types-1.1.3/ansi-terminal-types-1.1.3.tar.gz) = 8791
SHA256 (cabal/bimap-0.5.0/bimap-0.5.0.tar.gz) = b0b44b0f2eaceb83f46dfa3d1747e080c45204c64d18bb9e63747299266f0c95
SIZE (cabal/bimap-0.5.0/bimap-0.5.0.tar.gz) = 11205
-SHA256 (cabal/blaze-builder-0.4.2.3/blaze-builder-0.4.2.3.tar.gz) = 66291874236b7342adab033e3cddae414a23a2865dfb44095dfc4e0b9d46703b
-SIZE (cabal/blaze-builder-0.4.2.3/blaze-builder-0.4.2.3.tar.gz) = 60777
-SHA256 (cabal/brick-2.5/brick-2.5.tar.gz) = 28ca75300a2e22c85885f711d50a359d18506f6d44c19bbe7e0798ab671aa50e
-SIZE (cabal/brick-2.5/brick-2.5.tar.gz) = 225749
+SHA256 (cabal/blaze-builder-0.4.4.1/blaze-builder-0.4.4.1.tar.gz) = 971d360428ac97af9a4e55e4f2c23649f6cedc0ce5d6e94d520e663f33ea5113
+SIZE (cabal/blaze-builder-0.4.4.1/blaze-builder-0.4.4.1.tar.gz) = 59452
+SHA256 (cabal/brick-2.7/brick-2.7.tar.gz) = 128887ca3c55fbbb11d060c842adcd03cf33b81dad791519130b76af70e72a2a
+SIZE (cabal/brick-2.7/brick-2.7.tar.gz) = 235286
SHA256 (cabal/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz) = 296dc17e0c5f3dfb3d82ced83e4c9c44c338ecde749b278b6eae512f1d04e406
SIZE (cabal/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz) = 53609
SHA256 (cabal/colour-2.3.6/colour-2.3.6.tar.gz) = 2cd35dcd6944a5abc9f108a5eb5ee564b6b1fa98a9ec79cefcc20b588991f871
@@ -39,12 +41,10 @@ SHA256 (cabal/microlens-platform-0.4.4.1/microlens-platform-0.4.4.1.tar.gz) = f5
SIZE (cabal/microlens-platform-0.4.4.1/microlens-platform-0.4.4.1.tar.gz) = 5290
SHA256 (cabal/microlens-th-0.4.3.17/microlens-th-0.4.3.17.tar.gz) = 1d762c027ca332ae906cb031e87a423c2bbedebe3bb9d988188692a5de4c0a94
SIZE (cabal/microlens-th-0.4.3.17/microlens-th-0.4.3.17.tar.gz) = 24258
-SHA256 (cabal/optparse-applicative-0.18.1.0/optparse-applicative-0.18.1.0.tar.gz) = 63811ab4fd26e829b8868364325a88be3acc79819f5bb5005b2dd3b961ecc491
-SIZE (cabal/optparse-applicative-0.18.1.0/optparse-applicative-0.18.1.0.tar.gz) = 60682
-SHA256 (cabal/optparse-applicative-0.18.1.0/revision/1.cabal) = f30973861ac7e7ebff05ff8c7c3d1e4d283a1f3850e1cc14106b0693ec1b6d82
-SIZE (cabal/optparse-applicative-0.18.1.0/revision/1.cabal) = 5289
-SHA256 (cabal/os-string-2.0.7/os-string-2.0.7.tar.gz) = 339c35fd3a290522f23de4e33528423cfd0b0a8f22946b0b9816a817b926cba0
-SIZE (cabal/os-string-2.0.7/os-string-2.0.7.tar.gz) = 44683
+SHA256 (cabal/optparse-applicative-0.19.0.0/optparse-applicative-0.19.0.0.tar.gz) = cf16aeefd821730c7738447fa7c6b7ada7ca1c9cc25400d64ef283294d345871
+SIZE (cabal/optparse-applicative-0.19.0.0/optparse-applicative-0.19.0.0.tar.gz) = 67629
+SHA256 (cabal/os-string-2.0.8/os-string-2.0.8.tar.gz) = 02794279dd30282e7b0d45a860dda50ee26a92b1461f5da4545f62dab4172686
+SIZE (cabal/os-string-2.0.8/os-string-2.0.8.tar.gz) = 44896
SHA256 (cabal/parser-combinators-1.3.0/parser-combinators-1.3.0.tar.gz) = 9310ef0d49f8a8922acda10b1cded9854cbee04dea717effc6ee5983072e4447
SIZE (cabal/parser-combinators-1.3.0/parser-combinators-1.3.0.tar.gz) = 11699
SHA256 (cabal/parser-combinators-1.3.0/revision/1.cabal) = 8659573e0d443d573f5b53f81b81dafbdc988d282b90c11e3da73562b4ea7876
@@ -53,24 +53,22 @@ SHA256 (cabal/prettyprinter-1.7.1/prettyprinter-1.7.1.tar.gz) = 5e6ea6903114fa11
SIZE (cabal/prettyprinter-1.7.1/prettyprinter-1.7.1.tar.gz) = 56907
SHA256 (cabal/prettyprinter-ansi-terminal-1.1.3/prettyprinter-ansi-terminal-1.1.3.tar.gz) = 813739308ad6050620578994effe21058a170a341716acf52573fae42b5b1db3
SIZE (cabal/prettyprinter-ansi-terminal-1.1.3/prettyprinter-ansi-terminal-1.1.3.tar.gz) = 8879
-SHA256 (cabal/primitive-0.9.0.0/primitive-0.9.0.0.tar.gz) = 696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7
-SIZE (cabal/primitive-0.9.0.0/primitive-0.9.0.0.tar.gz) = 60580
-SHA256 (cabal/primitive-0.9.0.0/revision/2.cabal) = de20bf4eff1f972088854c8efda6eaca2d3147aff62232c3707f059152638759
-SIZE (cabal/primitive-0.9.0.0/revision/2.cabal) = 3203
-SHA256 (cabal/random-1.3.0/random-1.3.0.tar.gz) = 6b5067e65625d777e31f151f5fcec351091d9de832183ca2a2a864e1cfd4f1b1
-SIZE (cabal/random-1.3.0/random-1.3.0.tar.gz) = 63786
+SHA256 (cabal/primitive-0.9.1.0/primitive-0.9.1.0.tar.gz) = 44b4de41813c7bc5db8a57f87c3612a069b65086946268ba165097252ebd3d76
+SIZE (cabal/primitive-0.9.1.0/primitive-0.9.1.0.tar.gz) = 61724
+SHA256 (cabal/random-1.3.1/random-1.3.1.tar.gz) = d840ac83f265b0cfa2a678f8ec78627eb50cf9be2f067c52c8a4239c29b71a35
+SIZE (cabal/random-1.3.1/random-1.3.1.tar.gz) = 63846
SHA256 (cabal/scientific-0.3.8.0/scientific-0.3.8.0.tar.gz) = 13b343bca8aa26d7718e52e622e5a118056653edafcbc7ccc5333be7217218cf
SIZE (cabal/scientific-0.3.8.0/scientific-0.3.8.0.tar.gz) = 24314
SHA256 (cabal/scientific-0.3.8.0/revision/2.cabal) = ba83a6701dd0110138443757aca4a42786afa94272b73045ef878fd860d1732e
SIZE (cabal/scientific-0.3.8.0/revision/2.cabal) = 4397
-SHA256 (cabal/splitmix-0.1.1/splitmix-0.1.1.tar.gz) = d678c41a603a62032cf7e5f8336bb8222c93990e4b59c8b291b7ca26c7eb12c7
-SIZE (cabal/splitmix-0.1.1/splitmix-0.1.1.tar.gz) = 21981
+SHA256 (cabal/splitmix-0.1.3.1/splitmix-0.1.3.1.tar.gz) = b6bcd0d79bd4fe40975c8ebe803be2f3bfbf6006069a59745a325a0df3f86270
+SIZE (cabal/splitmix-0.1.3.1/splitmix-0.1.3.1.tar.gz) = 21955
SHA256 (cabal/tagged-0.8.9/tagged-0.8.9.tar.gz) = 6daad88ebb414ba6a556d2898d2cbe7650e4276010e3a6eed939daf54b956784
SIZE (cabal/tagged-0.8.9/tagged-0.8.9.tar.gz) = 8151
SHA256 (cabal/tasty-1.5.3/tasty-1.5.3.tar.gz) = 54a0c7b644813af871a3726ac8771b5e17b5158c792a7acf8f9e2d3ae9360780
SIZE (cabal/tasty-1.5.3/tasty-1.5.3.tar.gz) = 66548
-SHA256 (cabal/tasty-1.5.3/revision/1.cabal) = 9d56ea9dbc274fc853fc531373b2c91bfe360e21460c2c6a5838897d86e3f6d0
-SIZE (cabal/tasty-1.5.3/revision/1.cabal) = 2923
+SHA256 (cabal/tasty-1.5.3/revision/2.cabal) = 6b5dda3f16db1274a0b3e6c4073ac57172a1e96b1dca05666c5cbd1183639412
+SIZE (cabal/tasty-1.5.3/revision/2.cabal) = 2923
SHA256 (cabal/text-zipper-0.13/text-zipper-0.13.tar.gz) = 06521cc7c435f8e85aeb3ed3f2b872000c52087d73518de31e65bdca072a98a9
SIZE (cabal/text-zipper-0.13/text-zipper-0.13.tar.gz) = 9698
SHA256 (cabal/th-abstraction-0.7.1.0/th-abstraction-0.7.1.0.tar.gz) = f9b6184aba4c6b61dd0d96f7dad41a4c9db0a01d3cdbf993a7d860488f1c04c5
@@ -79,10 +77,8 @@ SHA256 (cabal/th-abstraction-0.7.1.0/revision/1.cabal) = 3011403d85b0070630e33d6
SIZE (cabal/th-abstraction-0.7.1.0/revision/1.cabal) = 2268
SHA256 (cabal/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz) = b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a
SIZE (cabal/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz) = 46485
-SHA256 (cabal/unix-compat-0.7.3/unix-compat-0.7.3.tar.gz) = 7a4fad870952d632d55c8cfe2aad8b55ac95585dacae052fbea4e32968821d87
-SIZE (cabal/unix-compat-0.7.3/unix-compat-0.7.3.tar.gz) = 15593
-SHA256 (cabal/unix-compat-0.7.3/revision/1.cabal) = e1132808d30ad1adbcf1ba7f06c3dfe712a7ee382b225eb975e0ab8cfe0c21cd
-SIZE (cabal/unix-compat-0.7.3/revision/1.cabal) = 3287
+SHA256 (cabal/unix-compat-0.7.4.1/unix-compat-0.7.4.1.tar.gz) = 3f9611624a100c75e672d900e63fe7a0e595615a34e6605662edaff151e44054
+SIZE (cabal/unix-compat-0.7.4.1/unix-compat-0.7.4.1.tar.gz) = 15619
SHA256 (cabal/unordered-containers-0.2.20/unordered-containers-0.2.20.tar.gz) = d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d
SIZE (cabal/unordered-containers-0.2.20/unordered-containers-0.2.20.tar.gz) = 59823
SHA256 (cabal/unordered-containers-0.2.20/revision/4.cabal) = 233cbcdda6c2698932bb391ce0935fb44f80c115621ee815a21ed33ac8ede422
@@ -91,12 +87,12 @@ SHA256 (cabal/utf8-string-1.0.2/utf8-string-1.0.2.tar.gz) = ee48deada7600370728c
SIZE (cabal/utf8-string-1.0.2/utf8-string-1.0.2.tar.gz) = 10726
SHA256 (cabal/vector-0.13.2.0/vector-0.13.2.0.tar.gz) = 28f203c786cbf8ac6dc3fea3378ec36f34173d505fb4a1dd60fc8418ad91c423
SIZE (cabal/vector-0.13.2.0/vector-0.13.2.0.tar.gz) = 185739
-SHA256 (cabal/vector-0.13.2.0/revision/1.cabal) = b736a57b73520d2acf4865e3e2b40030d69782f35f870e376dc717ee2508d81f
-SIZE (cabal/vector-0.13.2.0/revision/1.cabal) = 8804
+SHA256 (cabal/vector-0.13.2.0/revision/2.cabal) = 9ac338c8da52d8a37db08434ca4480fef2cea4f9aac240f4f994bb467f5275b4
+SIZE (cabal/vector-0.13.2.0/revision/2.cabal) = 8804
SHA256 (cabal/vector-stream-0.1.0.1/vector-stream-0.1.0.1.tar.gz) = d0f507334bdea5431a2f07f525a97f29e76522c32210f5de6d5a2b4f1d42bf7c
SIZE (cabal/vector-stream-0.1.0.1/vector-stream-0.1.0.1.tar.gz) = 12577
-SHA256 (cabal/vector-stream-0.1.0.1/revision/3.cabal) = 5ac96695212a45ae7dc16d8031dbf5311da53e052c35f7ad4a8e2db7fafb651e
-SIZE (cabal/vector-stream-0.1.0.1/revision/3.cabal) = 1642
+SHA256 (cabal/vector-stream-0.1.0.1/revision/4.cabal) = 483be6df13c72169a917640589666f9fece7bea9fa13fcd41d052dab37ea289e
+SIZE (cabal/vector-stream-0.1.0.1/revision/4.cabal) = 1642
SHA256 (cabal/vty-6.4/vty-6.4.tar.gz) = 7165a6238bd22aed8a3f142925a0de48e105a5585cd2499c90e2c56a63090a46
SIZE (cabal/vty-6.4/vty-6.4.tar.gz) = 66410
SHA256 (cabal/vty-crossplatform-0.4.0.0/vty-crossplatform-0.4.0.0.tar.gz) = 35e5433512b883e83aa8bb8c3475221174445a87e51f162b2ce07f9cf1eb3c1a
@@ -105,5 +101,3 @@ SHA256 (cabal/vty-unix-0.2.0.0/vty-unix-0.2.0.0.tar.gz) = c2ab67e09edc4bade04e26
SIZE (cabal/vty-unix-0.2.0.0/vty-unix-0.2.0.0.tar.gz) = 28697
SHA256 (cabal/word-wrap-0.5/word-wrap-0.5.tar.gz) = f85f29ce003ca3e195ec95d49e350dfb713bf71db726270143375df2c610a744
SIZE (cabal/word-wrap-0.5/word-wrap-0.5.tar.gz) = 6105
-SHA256 (cabal/jtdaugherty-tart-0.3-20241122-49100f0_GH0.tar.gz) = fc301eff27eff638974a2f7c2636e4db32949f3ace3b2d34f310bcc45a97894f
-SIZE (cabal/jtdaugherty-tart-0.3-20241122-49100f0_GH0.tar.gz) = 290760
diff --git a/graphics/hugin/Makefile b/graphics/hugin/Makefile
index 8e14ba88e999..f72c76ab3d16 100644
--- a/graphics/hugin/Makefile
+++ b/graphics/hugin/Makefile
@@ -1,6 +1,5 @@
PORTNAME= hugin
-DISTVERSION= 2024.0.1
-PORTREVISION= 4
+DISTVERSION= 2025.0.0
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION:R}
@@ -12,13 +11,11 @@ LICENSE= GPLv2
LIB_DEPENDS= libOpenEXR.so:graphics/openexr \
libImath.so:math/Imath \
- libboost_thread.so:devel/boost-libs \
liblcms2.so:graphics/lcms2 \
libexiv2.so:graphics/exiv2 \
libfftw3.so:math/fftw3 \
libpano13.so:graphics/libpano13 \
libvigraimpex.so:graphics/vigra \
- libpng.so:graphics/png \
libtiff.so:graphics/tiff \
libflann.so:math/flann \
liblz4.so:archivers/liblz4
@@ -27,8 +24,9 @@ RUN_DEPENDS= enblend>=4.1.4:graphics/enblend \
exiftool:graphics/p5-Image-ExifTool \
gmake:devel/gmake
-USES= cmake compiler:c++11-lib desktop-file-utils gettext gl gnome \
- jpeg pkgconfig shared-mime-info shebangfix sqlite tar:bzip2 xorg
+# compiler:c++17-lang
+USES= cmake desktop-file-utils gettext gl gnome \
+ pkgconfig shared-mime-info shebangfix sqlite tar:bzip2 xorg
USE_GL= gl glew glu glut
USE_WX= 3.2+
USE_XORG= x11
@@ -40,20 +38,23 @@ SHEBANG_FILES= src/hugin_script_interface/hpi.py \
CMAKE_ARGS= -DwxWidgets_CONFIG_EXECUTABLE=${WX_CONFIG}
CFLAGS+= -I${LOCALBASE}/include/Imath
-OPTIONS_DEFINE= PANOMATIC AUTOPANOSIFTC PYTHON
-OPTIONS_DEFAULT= PANOMATIC PYTHON
+OPTIONS_DEFINE= AUTOPANOSIFTC LAPACK PANOMATIC PYTHON
+OPTIONS_DEFAULT= LAPACK PANOMATIC PYTHON
OPTIONS_SUB= yes
-PANOMATIC_DESC= Install graphics/panomatic
-PANOMATIC_RUN_DEPENDS= panomatic:graphics/panomatic
-
AUTOPANOSIFTC_DESC= Install graphics/autopano-sift-c
AUTOPANOSIFTC_RUN_DEPENDS= autopano:graphics/autopano-sift-c
+LAPACK_DESC= Use LAPACK based solver in levmar
+LAPACK_CMAKE_BOOL= ENABLE_LAPACK
+LAPACK_USES= blaslapack
+
+PANOMATIC_DESC= Install graphics/panomatic
+PANOMATIC_RUN_DEPENDS= panomatic:graphics/panomatic
+
PYTHON_DESC= Python Scripting Interface
PYTHON_BUILD_DEPENDS= swig:devel/swig
PYTHON_USES= python
-PYTHON_CMAKE_ON= -DBUILD_HSI=ON
-PYTHON_CMAKE_OFF= -DBUILD_HSI=OFF
+PYTHON_CMAKE_BOOL= BUILD_HSI
.include <bsd.port.mk>
diff --git a/graphics/hugin/distinfo b/graphics/hugin/distinfo
index 7511924aeb96..48b81b1c74fb 100644
--- a/graphics/hugin/distinfo
+++ b/graphics/hugin/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1732106851
-SHA256 (hugin-2024.0.1.tar.bz2) = 13ec0cdeeb4eb63149c833768d3e374e7cf5a6a8d8d02d50885ce496f05ba7e4
-SIZE (hugin-2024.0.1.tar.bz2) = 10352250
+TIMESTAMP = 1763222621
+SHA256 (hugin-2025.0.0.tar.bz2) = 0de27a5d5432e36d4e5d38ac25d7bcafc7b7dd542aab031640a61ed66767076c
+SIZE (hugin-2025.0.0.tar.bz2) = 10226271
diff --git a/graphics/hugin/files/patch-CMakeLists.txt b/graphics/hugin/files/patch-CMakeLists.txt
deleted file mode 100644
index e5ace58ebec4..000000000000
--- a/graphics/hugin/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- CMakeLists.txt.orig 2024-11-18 19:37:59 UTC
-+++ CMakeLists.txt
-@@ -557,7 +557,7 @@ IF (NOT MANDIR AND NOT $ENV{MANDIR} STREQUAL "")
-
- IF (NOT MANDIR AND NOT $ENV{MANDIR} STREQUAL "")
- SET (MANDIR "$ENV{MANDIR}")
--ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
-+ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
- SET (MANDIR "man")
- ELSE(NOT MANDIR AND NOT $ENV{MANDIR} STREQUAL "")
- SET (MANDIR "share/man")
diff --git a/graphics/hugin/pkg-plist b/graphics/hugin/pkg-plist
index 7a740de5af75..60fe0c528f55 100644
--- a/graphics/hugin/pkg-plist
+++ b/graphics/hugin/pkg-plist
@@ -15,6 +15,7 @@ bin/hugin_hdrmerge
bin/hugin_lensdb
bin/hugin_stacker
bin/hugin_stitch_project
+bin/hugin_toolbox
bin/icpfind
bin/linefind
bin/nona
@@ -42,6 +43,7 @@ lib/hugin/liblocalfeatures.so.0.0
share/applications/PTBatcherGUI.desktop
share/applications/calibrate_lens_gui.desktop
share/applications/hugin.desktop
+share/applications/hugin_toolbox_gui.desktop
share/applications/pto_gen.desktop
%%DATADIR%%/data/assistant/duallens.assistant
%%DATADIR%%/data/assistant/multirow.assistant
@@ -79,28 +81,20 @@ share/applications/pto_gen.desktop
%%DATADIR%%/xrc/cpdetector_dialog.xrc
%%DATADIR%%/xrc/data/COPYING.txt
%%DATADIR%%/xrc/data/about.htm
-%%DATADIR%%/xrc/data/add_project.png
-%%DATADIR%%/xrc/data/add_projects.png
-%%DATADIR%%/xrc/data/autocrop_tool.png
-%%DATADIR%%/xrc/data/center_pano.png
-%%DATADIR%%/xrc/data/crop_tool.png
-%%DATADIR%%/xrc/data/crop_tool_small.png
+%%DATADIR%%/xrc/data/add_project.svg
+%%DATADIR%%/xrc/data/add_projects.svg
+%%DATADIR%%/xrc/data/autocrop_tool.svg
+%%DATADIR%%/xrc/data/center_pano.svg
+%%DATADIR%%/xrc/data/crop_tool.svg
%%DATADIR%%/xrc/data/dedication.htm
-%%DATADIR%%/xrc/data/drag_tool.png
-%%DATADIR%%/xrc/data/drag_tool_small.png
-%%DATADIR%%/xrc/data/druid.control.128.png
-%%DATADIR%%/xrc/data/druid.images.128.png
-%%DATADIR%%/xrc/data/druid.lenses.128.png
-%%DATADIR%%/xrc/data/druid.optimize.128.png
-%%DATADIR%%/xrc/data/druid.stitch.128.png
-%%DATADIR%%/xrc/data/edit_add.png
-%%DATADIR%%/xrc/data/filenew.png
-%%DATADIR%%/xrc/data/fileopen.png
-%%DATADIR%%/xrc/data/filesave.png
-%%DATADIR%%/xrc/data/filesaveas.png
-%%DATADIR%%/xrc/data/fit_pano.png
-%%DATADIR%%/xrc/data/gl_preview.png
-%%DATADIR%%/xrc/data/gl_preview_small.png
+%%DATADIR%%/xrc/data/drag_tool.svg
+%%DATADIR%%/xrc/data/edit_add.svg
+%%DATADIR%%/xrc/data/filenew.svg
+%%DATADIR%%/xrc/data/fileopen.svg
+%%DATADIR%%/xrc/data/filesave.svg
+%%DATADIR%%/xrc/data/filesaveas.svg
+%%DATADIR%%/xrc/data/fit_pano.svg
+%%DATADIR%%/xrc/data/gl_preview.svg
%%DATADIR%%/xrc/data/help_en_EN/0014985448cc97c209313a079e4eda593c810582.png
%%DATADIR%%/xrc/data/help_en_EN/0881f567a2579a682ece721d6d93816eecbcff0d.png
%%DATADIR%%/xrc/data/help_en_EN/0d04667eb3325cfad4ec50e994bf00c22782f509.png
@@ -342,6 +336,7 @@ share/applications/pto_gen.desktop
%%DATADIR%%/xrc/data/help_en_EN/Hugin_stacker.html
%%DATADIR%%/xrc/data/help_en_EN/Hugin_stitch_project.html
%%DATADIR%%/xrc/data/help_en_EN/Hugin_straighten_pano.png
+%%DATADIR%%/xrc/data/help_en_EN/Hugin_toolbox.html
%%DATADIR%%/xrc/data/help_en_EN/Hugin_translation_guide.html
%%DATADIR%%/xrc/data/help_en_EN/Hugin_undo.png
%%DATADIR%%/xrc/data/help_en_EN/Icpfind.html
@@ -463,35 +458,30 @@ share/applications/pto_gen.desktop
%%DATADIR%%/xrc/data/help_en_EN/manual.css
%%DATADIR%%/xrc/data/hugin.ico
%%DATADIR%%/xrc/data/hugin.png
-%%DATADIR%%/xrc/data/hugin_small.png
-%%DATADIR%%/xrc/data/identify_tool.png
-%%DATADIR%%/xrc/data/identify_tool_small.png
-%%DATADIR%%/xrc/data/info.png
+%%DATADIR%%/xrc/data/hugin.svg
+%%DATADIR%%/xrc/data/identify_tool.svg
+%%DATADIR%%/xrc/data/info.svg
%%DATADIR%%/xrc/data/intro.htm
%%DATADIR%%/xrc/data/keyboard_pl.html
-%%DATADIR%%/xrc/data/list.png
-%%DATADIR%%/xrc/data/logo.png
-%%DATADIR%%/xrc/data/number1.png
-%%DATADIR%%/xrc/data/number2.png
-%%DATADIR%%/xrc/data/number3.png
-%%DATADIR%%/xrc/data/optimize.png
+%%DATADIR%%/xrc/data/list.svg
+%%DATADIR%%/xrc/data/number1.svg
+%%DATADIR%%/xrc/data/number2.svg
+%%DATADIR%%/xrc/data/number3.svg
+%%DATADIR%%/xrc/data/optimize.svg
%%DATADIR%%/xrc/data/output_blended_fused.png
%%DATADIR%%/xrc/data/output_fused_blended.png
%%DATADIR%%/xrc/data/output_hdr.png
%%DATADIR%%/xrc/data/output_normal.png
-%%DATADIR%%/xrc/data/pause.png
-%%DATADIR%%/xrc/data/photometric.png
-%%DATADIR%%/xrc/data/preview.png
-%%DATADIR%%/xrc/data/preview_auto_update.png
-%%DATADIR%%/xrc/data/preview_control_point_tool.png
-%%DATADIR%%/xrc/data/preview_control_point_tool_small.png
-%%DATADIR%%/xrc/data/preview_layout.png
-%%DATADIR%%/xrc/data/preview_layout_small.png
-%%DATADIR%%/xrc/data/preview_num_transform.png
-%%DATADIR%%/xrc/data/preview_show_all.png
-%%DATADIR%%/xrc/data/preview_show_none.png
-%%DATADIR%%/xrc/data/preview_white_balance.png
-%%DATADIR%%/xrc/data/preview_white_balance_small.png
+%%DATADIR%%/xrc/data/pause.svg
+%%DATADIR%%/xrc/data/photometric.svg
+%%DATADIR%%/xrc/data/preview.svg
+%%DATADIR%%/xrc/data/preview_auto_update.svg
+%%DATADIR%%/xrc/data/preview_control_point_tool.svg
+%%DATADIR%%/xrc/data/preview_layout.svg
+%%DATADIR%%/xrc/data/preview_num_transform.svg
+%%DATADIR%%/xrc/data/preview_show_all.svg
+%%DATADIR%%/xrc/data/preview_show_none.svg
+%%DATADIR%%/xrc/data/preview_white_balance.svg
%%DATADIR%%/xrc/data/ptbatcher.ico
%%DATADIR%%/xrc/data/ptbatcher.png
%%DATADIR%%/xrc/data/ptbatcher_pause.ico
@@ -499,19 +489,17 @@ share/applications/pto_gen.desktop
%%DATADIR%%/xrc/data/ptbatcher_running.ico
%%DATADIR%%/xrc/data/ptbatcher_running.png
%%DATADIR%%/xrc/data/pto_icon.ico
-%%DATADIR%%/xrc/data/pto_icon.png
-%%DATADIR%%/xrc/data/redo.png
-%%DATADIR%%/xrc/data/reload.png
-%%DATADIR%%/xrc/data/remove_project.png
-%%DATADIR%%/xrc/data/skip.png
+%%DATADIR%%/xrc/data/redo.svg
+%%DATADIR%%/xrc/data/reload.svg
+%%DATADIR%%/xrc/data/remove_project.svg
+%%DATADIR%%/xrc/data/skip.svg
%%DATADIR%%/xrc/data/splash.png
%%DATADIR%%/xrc/data/sponsors.htm
-%%DATADIR%%/xrc/data/start.png
-%%DATADIR%%/xrc/data/stop.png
-%%DATADIR%%/xrc/data/straighten_pano.png
+%%DATADIR%%/xrc/data/start.svg
+%%DATADIR%%/xrc/data/stop.svg
+%%DATADIR%%/xrc/data/straighten_pano.svg
%%DATADIR%%/xrc/data/tips.txt
-%%DATADIR%%/xrc/data/transparent.png
-%%DATADIR%%/xrc/data/undo.png
+%%DATADIR%%/xrc/data/undo.svg
%%DATADIR%%/xrc/data/upstream.txt
%%DATADIR%%/xrc/dlg_warning.xrc
%%DATADIR%%/xrc/edit_script_dialog.xrc
@@ -530,6 +518,7 @@ share/applications/pto_gen.desktop
%%DATADIR%%/xrc/pref_dialog.xrc
%%DATADIR%%/xrc/preview_frame.xrc
%%DATADIR%%/xrc/reset_dialog.xrc
+%%DATADIR%%/xrc/toolbox_panel.xrc
share/icons/hicolor/128x128/apps/hugin.png
share/icons/hicolor/128x128/apps/ptbatcher.png
share/icons/hicolor/16x16/apps/hugin.png
@@ -600,4 +589,5 @@ share/man/man1/vig_optimize.1.gz
share/metainfo/PTBatcherGUI.appdata.xml
share/metainfo/calibrate_lens_gui.appdata.xml
share/metainfo/hugin.appdata.xml
+share/metainfo/hugin_toolbox.appdata.xml
share/mime/packages/hugin.xml
diff --git a/graphics/hvif-tools/Makefile b/graphics/hvif-tools/Makefile
new file mode 100644
index 000000000000..1e7eb3bf7379
--- /dev/null
+++ b/graphics/hvif-tools/Makefile
@@ -0,0 +1,29 @@
+PORTNAME= hvif-tools
+DISTVERSION= 2.1.0
+CATEGORIES= graphics
+MASTER_SITES= https://github.com/threedeyes/${PORTNAME}/releases/download/${DISTVERSION}/
+
+MAINTAINER= hoanga@gmail.com
+COMMENT= Toolkit for converting HVIF icons to SVG and back
+WWW= https://github.com/threedeyes/hvif-tools/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${LOCALBASE}/include/nanosvg.h:graphics/nanosvg \
+ ${LOCALBASE}/include/stb:devel/stb
+
+USES= cmake localbase
+
+EXTRACT_AFTER_ARGS= --exclude external \
+ --no-same-owner --no-same-permissions
+
+post-extract:
+ @${MKDIR} ${WRKSRC}/external/nanosvg_ext/src
+ @${LN} -sf ${LOCALBASE}/include/nanosvg.h \
+ ${WRKSRC}/external/nanosvg_ext/src
+ @${LN} -sf ${LOCALBASE}/include/stb \
+ ${WRKSRC}/external
+ @${TOUCH} ${WRKSRC}/external/CMakeLists.txt
+
+.include <bsd.port.mk>
diff --git a/graphics/hvif-tools/distinfo b/graphics/hvif-tools/distinfo
new file mode 100644
index 000000000000..271c63fe9b5f
--- /dev/null
+++ b/graphics/hvif-tools/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1764179841
+SHA256 (hvif-tools-2.1.0.tar.gz) = ae5240faa0d1e0c72d6befa2397bf90c62893bc95007e5a1129196aaa857bd29
+SIZE (hvif-tools-2.1.0.tar.gz) = 2114592
diff --git a/graphics/hvif-tools/files/patch-src_tracer_processing_PathScanner.cpp b/graphics/hvif-tools/files/patch-src_tracer_processing_PathScanner.cpp
new file mode 100644
index 000000000000..182410f1283f
--- /dev/null
+++ b/graphics/hvif-tools/files/patch-src_tracer_processing_PathScanner.cpp
@@ -0,0 +1,20 @@
+--- src/tracer/processing/PathScanner.cpp.orig 2025-12-14 12:31:31 UTC
++++ src/tracer/processing/PathScanner.cpp
+@@ -16,7 +16,7 @@ const bool PathScanner::kPathScanHolePathLookup[16] =
+ false, false, false, true, false, true, true, false
+ };
+
+-const char PathScanner::kPathScanCombinedLookup[16][4][4] = {
++const signed char PathScanner::kPathScanCombinedLookup[16][4][4] = {
+ {{-1,-1,-1,-1}, {-1,-1,-1,-1}, {-1,-1,-1,-1}, {-1,-1,-1,-1}}, // 0
+ {{ 0, 1, 0,-1}, {-1,-1,-1,-1}, {-1,-1,-1,-1}, { 0, 2,-1, 0}}, // 1
+ {{-1,-1,-1,-1}, {-1,-1,-1,-1}, { 0, 1, 0,-1}, { 0, 0, 1, 0}}, // 2
+@@ -137,7 +137,7 @@ PathScanner::ScanPaths(std::vector<std::vector<int> >&
+ break;
+ }
+
+- const char* lookupRow = kPathScanCombinedLookup[code][direction];
++ const signed char* lookupRow = kPathScanCombinedLookup[code][direction];
+
+ if (lookupRow[1] < 0) {
+ pathFinished = true;
diff --git a/graphics/hvif-tools/files/patch-src_tracer_processing_PathScanner.h b/graphics/hvif-tools/files/patch-src_tracer_processing_PathScanner.h
new file mode 100644
index 000000000000..7b64f82e24ad
--- /dev/null
+++ b/graphics/hvif-tools/files/patch-src_tracer_processing_PathScanner.h
@@ -0,0 +1,11 @@
+--- src/tracer/processing/PathScanner.h.orig 2025-12-14 12:31:58 UTC
++++ src/tracer/processing/PathScanner.h
+@@ -35,7 +35,7 @@ class PathScanner { (private)
+ private:
+ static const unsigned char kPathScanDirectionLookup[16];
+ static const bool kPathScanHolePathLookup[16];
+- static const char kPathScanCombinedLookup[16][4][4];
++ static const signed char kPathScanCombinedLookup[16][4][4];
+ };
+
+ #endif
diff --git a/graphics/hvif-tools/pkg-descr b/graphics/hvif-tools/pkg-descr
new file mode 100644
index 000000000000..800ba8e92b6a
--- /dev/null
+++ b/graphics/hvif-tools/pkg-descr
@@ -0,0 +1,8 @@
+A small set of command-line tools to work with the Haiku Vector Icon
+Format (HVIF).
+
+Usage for hvif2svg:
+hvif2svg input.hvif outout.svg [width] [height]
+
+Usage for svg2hvif:
+svg2hvif [-v | --verbose] input.svg output.hvif
diff --git a/graphics/hvif-tools/pkg-plist b/graphics/hvif-tools/pkg-plist
new file mode 100644
index 000000000000..d8c3e12848ad
--- /dev/null
+++ b/graphics/hvif-tools/pkg-plist
@@ -0,0 +1,44 @@
+bin/icon2icon
+bin/img2svg
+include/hviftools/common/BMessage.h
+include/hviftools/common/HVIFStructures.h
+include/hviftools/common/HaikuIcon.h
+include/hviftools/common/IOMStructures.h
+include/hviftools/common/IconAdapter.h
+include/hviftools/common/IconConverter.h
+include/hviftools/common/Utils.h
+include/hviftools/export/HVIFWriter.h
+include/hviftools/export/IOMWriter.h
+include/hviftools/export/PNGWriter.h
+include/hviftools/export/SVGWriter.h
+include/hviftools/import/HVIFParser.h
+include/hviftools/import/IOMParser.h
+include/hviftools/import/PNGParser.h
+include/hviftools/import/SVGParser.h
+include/imagetracer/core/BitmapData.h
+include/imagetracer/core/ImageTracer.h
+include/imagetracer/core/IndexedBitmap.h
+include/imagetracer/core/TracingOptions.h
+include/imagetracer/core/VectorizationProgress.h
+include/imagetracer/output/SvgWriter.h
+include/imagetracer/processing/BackgroundRemover.h
+include/imagetracer/processing/GeometryDetector.h
+include/imagetracer/processing/GradientDetector.h
+include/imagetracer/processing/PathHierarchy.h
+include/imagetracer/processing/PathScanner.h
+include/imagetracer/processing/PathSimplifier.h
+include/imagetracer/processing/PathTracer.h
+include/imagetracer/processing/RegionMerger.h
+include/imagetracer/processing/SelectiveBlur.h
+include/imagetracer/processing/SharedEdgeRegistry.h
+include/imagetracer/processing/VisvalingamWhyatt.h
+include/imagetracer/quantization/ColorCube.h
+include/imagetracer/quantization/ColorNode.h
+include/imagetracer/quantization/ColorQuantizer.h
+include/imagetracer/utils/MathUtils.h
+lib/cmake/hviftools/hviftools-config-version.cmake
+lib/cmake/hviftools/hviftools-config.cmake
+lib/cmake/imagetracer/imagetracer-config-version.cmake
+lib/cmake/imagetracer/imagetracer-config.cmake
+lib/libhviftools.a
+lib/libimagetracer.a
diff --git a/graphics/hyprgraphics/Makefile b/graphics/hyprgraphics/Makefile
index 8c806067e451..15723e97e625 100644
--- a/graphics/hyprgraphics/Makefile
+++ b/graphics/hyprgraphics/Makefile
@@ -1,9 +1,10 @@
PORTNAME= hyprgraphics
DISTVERSIONPREFIX= v
-DISTVERSION= 0.1.5
+DISTVERSION= 0.4.0
+PORTREVISION= 1
CATEGORIES= graphics
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= Hyprland graphics / resource utilities
WWW= https://github.com/hyprwm/hyprgraphics
@@ -11,16 +12,24 @@ LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libhyprutils.so:devel/hyprutils \
+ libheif.so:graphics/libheif \
libjxl.so:graphics/libjxl \
libpng.so:graphics/png \
libwebp.so:graphics/webp
USES= cmake:testing compiler:c++11-lib gnome jpeg pkgconfig xorg
+
USE_GITHUB= yes
-USE_GNOME= cairo
+GH_ACCOUNT= hyprwm
+
USE_LDCONFIG= yes
+
+USE_GNOME= cairo librsvg2 pango
USE_XORG= pixman
-GH_ACCOUNT= hyprwm
-PLIST_SUB= VERSION=${DISTVERSION:C/-.*//}
+
+LDFLAGS+= -pthread
+
+PLIST_SUB= SOVERSION_MAJOR=3 \
+ SOVERSION_FULL=${DISTVERSION:C/-.*//}
.include <bsd.port.mk>
diff --git a/graphics/hyprgraphics/distinfo b/graphics/hyprgraphics/distinfo
index 7ff976cbdc91..fc114922a762 100644
--- a/graphics/hyprgraphics/distinfo
+++ b/graphics/hyprgraphics/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752149140
-SHA256 (hyprwm-hyprgraphics-v0.1.5_GH0.tar.gz) = 03bdd5a6e456c31cc17f973656326220f94e58a5f4ab33b2450ccb5d6a697a4c
-SIZE (hyprwm-hyprgraphics-v0.1.5_GH0.tar.gz) = 426523
+TIMESTAMP = 1763881656
+SHA256 (hyprwm-hyprgraphics-v0.4.0_GH0.tar.gz) = 1ee818778eafd36919a463481fe0838ea3440d53fbd2305a5bf1449c61148678
+SIZE (hyprwm-hyprgraphics-v0.4.0_GH0.tar.gz) = 457545
diff --git a/graphics/hyprgraphics/pkg-plist b/graphics/hyprgraphics/pkg-plist
index 912f48b25961..9e5477e1ac77 100644
--- a/graphics/hyprgraphics/pkg-plist
+++ b/graphics/hyprgraphics/pkg-plist
@@ -1,7 +1,12 @@
include/hyprgraphics/cairo/CairoSurface.hpp
include/hyprgraphics/color/Color.hpp
include/hyprgraphics/image/Image.hpp
+include/hyprgraphics/resource/AsyncResourceGatherer.hpp
+include/hyprgraphics/resource/resources/AsyncResource.hpp
+include/hyprgraphics/resource/resources/ImageResource.hpp
+include/hyprgraphics/resource/resources/StaticImageResource.hpp
+include/hyprgraphics/resource/resources/TextResource.hpp
lib/libhyprgraphics.so
-lib/libhyprgraphics.so.0
-lib/libhyprgraphics.so.%%VERSION%%
+lib/libhyprgraphics.so.%%SOVERSION_MAJOR%%
+lib/libhyprgraphics.so.%%SOVERSION_FULL%%
libdata/pkgconfig/hyprgraphics.pc
diff --git a/graphics/hyprland-protocols/Makefile b/graphics/hyprland-protocols/Makefile
new file mode 100644
index 000000000000..06822530176a
--- /dev/null
+++ b/graphics/hyprland-protocols/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= hyprland-protocols
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.7.0
+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..ffcefcebfa6e
--- /dev/null
+++ b/graphics/hyprland-protocols/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1759973283
+SHA256 (hyprwm-hyprland-protocols-v0.7.0_GH0.tar.gz) = ee419006d7cd20927b9b7c8b5fc430571c151b0385d600508de1a7957294498c
+SIZE (hyprwm-hyprland-protocols-v0.7.0_GH0.tar.gz) = 11543
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..229321dc7dd2
--- /dev/null
+++ b/graphics/hyprland-protocols/pkg-plist
@@ -0,0 +1,9 @@
+%%DATADIR%%/protocols/hyprland-ctm-control-v1.xml
+%%DATADIR%%/protocols/hyprland-focus-grab-v1.xml
+%%DATADIR%%/protocols/hyprland-global-shortcuts-v1.xml
+%%DATADIR%%/protocols/hyprland-input-capture-v1.xml
+%%DATADIR%%/protocols/hyprland-lock-notify-v1.xml
+%%DATADIR%%/protocols/hyprland-surface-v1.xml
+%%DATADIR%%/protocols/hyprland-toplevel-export-v1.xml
+%%DATADIR%%/protocols/hyprland-toplevel-mapping-v1.xml
+share/pkgconfig/hyprland-protocols.pc
diff --git a/graphics/imageviewer/Makefile b/graphics/imageviewer/Makefile
index 6e4b4a53cd79..af51c756c7c0 100644
--- a/graphics/imageviewer/Makefile
+++ b/graphics/imageviewer/Makefile
@@ -1,6 +1,6 @@
PORTNAME= imageviewer
PORTVERSION= 0.6.3
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= graphics gnustep
MASTER_SITES= http://www.nice.ch/~phip/ \
LOCAL/dinoex
diff --git a/graphics/imlib2/Makefile b/graphics/imlib2/Makefile
index f3b1550ba4ba..ad84d4d66d9d 100644
--- a/graphics/imlib2/Makefile
+++ b/graphics/imlib2/Makefile
@@ -1,5 +1,6 @@
PORTNAME= imlib2
DISTVERSION= 1.12.5
+PORTREVISION= 1
PORTEPOCH= 2
CATEGORIES= graphics enlightenment
MASTER_SITES= SF/enlightenment/imlib2-src/${DISTVERSION}
@@ -29,8 +30,8 @@ INSTALL_TARGET= install-strip
PLIST_SUB= SHLIB_SHORT=${DISTVERSION:R:R} \
SHLIB_VER=${DISTVERSION}
-OPTIONS_DEFINE= GIF HEIF ID3 JPEG JXL OPENJPEG PNG TIFF WEBP X11
-OPTIONS_DEFAULT= GIF HEIF ID3 JPEG JXL OPENJPEG PNG TIFF WEBP X11
+OPTIONS_DEFINE= GIF HEIF ID3 JPEG JXL LIBRSVG2 OPENJPEG PNG TIFF WEBP X11
+OPTIONS_DEFAULT= GIF HEIF ID3 JPEG JXL LIBRSVG2 OPENJPEG PNG TIFF WEBP X11
OPTIONS_SUB= yes
GIF_LIB_DEPENDS= libgif.so:graphics/giflib
@@ -49,6 +50,10 @@ JXL_LIB_DEPENDS= libjxl.so:graphics/libjxl
JXL_CONFIGURE_WITH= jxl
JXL_CONFLICTS_INSTALL= imlib2-jxl
+LIBRSVG2_USES= gnome
+LIBRSVG2_USE= GNOME=cairo,librsvg2
+LIBRSVG2_CONFIGURE_WITH= svg
+
OPENJPEG_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg
OPENJPEG_CONFIGURE_WITH= j2k
diff --git a/graphics/imlib2/pkg-plist b/graphics/imlib2/pkg-plist
index ed91ddd76ddd..8cb2b9f2f3a4 100644
--- a/graphics/imlib2/pkg-plist
+++ b/graphics/imlib2/pkg-plist
@@ -29,6 +29,7 @@ lib/imlib2/loaders/lzma.so
%%PNG%%lib/imlib2/loaders/png.so
lib/imlib2/loaders/pnm.so
lib/imlib2/loaders/qoi.so
+%%LIBRSVG2%%lib/imlib2/loaders/svg.so
lib/imlib2/loaders/tga.so
%%TIFF%%lib/imlib2/loaders/tiff.so
%%WEBP%%lib/imlib2/loaders/webp.so
diff --git a/graphics/impressive/Makefile b/graphics/impressive/Makefile
index d17e609a4885..97ffc710ba7d 100644
--- a/graphics/impressive/Makefile
+++ b/graphics/impressive/Makefile
@@ -1,6 +1,6 @@
PORTNAME= impressive
DISTVERSION= 0.13.2
-PORTREVISION= 3
+PORTREVISION= 5
CATEGORIES= graphics python
MASTER_SITES= SF/${PORTNAME}/Impressive/${DISTVERSION}/
DISTNAME= Impressive-${DISTVERSION}
diff --git a/graphics/inkscape/Makefile b/graphics/inkscape/Makefile
index 642c7c60f676..d8d546950688 100644
--- a/graphics/inkscape/Makefile
+++ b/graphics/inkscape/Makefile
@@ -1,8 +1,14 @@
PORTNAME= inkscape
DISTVERSION= 1.4.2
+PORTREVISION= 4
CATEGORIES= graphics gnome
MASTER_SITES= https://media.inkscape.org/dl/resources/file/
+PATCH_SITES= https://gitlab.com/${PORTNAME}/${PORTNAME}/-/merge_requests/
+PATCHFILES= 7261.patch:-p1
+PATCHFILES+= 7449.patch:-p1
+PATCHFILES+= 7502.patch:-p1
+
MAINTAINER= gnome@FreeBSD.org
COMMENT= Full featured open source SVG editor
WWW= https://inkscape.org
@@ -48,7 +54,7 @@ USES= compiler:c++20-lang cmake:testing cpe desktop-file-utils ghostscript:run
gnome jpeg pathfix pkgconfig python \
readline shebangfix tar:xz xorg
USE_GNOME= cairo gdkpixbuf glibmm gtkmm30 gtksourceview4 libxml2 libxslt
-USE_PYTHON= cython
+USE_PYTHON= cython3
USE_XORG= sm ice x11 xext
USE_LDCONFIG= yes
diff --git a/graphics/inkscape/distinfo b/graphics/inkscape/distinfo
index 1624044a0d7c..6b98458c6abf 100644
--- a/graphics/inkscape/distinfo
+++ b/graphics/inkscape/distinfo
@@ -1,3 +1,9 @@
-TIMESTAMP = 1749560080
+TIMESTAMP = 1764741928
SHA256 (inkscape-1.4.2.tar.xz) = 2000530c7917e5260c9e8575a7154ff6926643d2006487d714e304a963f0c782
SIZE (inkscape-1.4.2.tar.xz) = 53278452
+SHA256 (7261.patch) = 975b5b569d978146e8970a31a7d4f18917201ef5edb0620d919c803deba7707c
+SIZE (7261.patch) = 5243
+SHA256 (7449.patch) = b6611c4a0b765b95f618c9f2e02dfb7d56ae3e09b98f0423f05149b69f43d697
+SIZE (7449.patch) = 11351
+SHA256 (7502.patch) = fdbb2720c89adb4f2ff6bf57dcfe2e27bcdd40f01af531dd0663ca439187a69f
+SIZE (7502.patch) = 3587
diff --git a/graphics/ipe/Makefile b/graphics/ipe/Makefile
index 3cf876de2381..64157dfc7e34 100644
--- a/graphics/ipe/Makefile
+++ b/graphics/ipe/Makefile
@@ -1,9 +1,8 @@
PORTNAME= ipe
-PORTVERSION= 7.2.23
+DISTVERSION= 7.2.27
DISTVERSIONSUFFIX= -src
-PORTREVISION= 4
CATEGORIES= graphics
-MASTER_SITES= https://dl.bintray.com/otfried/generic/ipe/${PORTVERSION:R}/
+MASTER_SITES= https://github.com/otfried/ipe/releases/download/v${DISTVERSION}/
MAINTAINER= bofh@FreeBSD.org
COMMENT= Extensible vector graphics editor with LaTeX support
@@ -11,20 +10,19 @@ WWW= https://ipe.otfried.org/
LICENSE= GPLv3+
-RUN_DEPENDS= xdg-open:devel/xdg-utils
LIB_DEPENDS= libcurl.so:ftp/curl \
libfreetype.so:print/freetype2 \
libgsl.so:math/gsl \
libpng.so:graphics/png \
libspiro.so:graphics/libspiro
+RUN_DEPENDS= xdg-open:devel/xdg-utils
-USES= compiler:c++11-lib gmake gnome jpeg lua:52 pkgconfig shebangfix qt:5 tex
+USES= compiler:c++11-lib gmake gnome jpeg lua:54 pkgconfig shebangfix qt:6 tex
USE_GNOME= cairo
USE_LDCONFIG= yes
-USE_QT= buildtools:build core gui qmake:build widgets
+USE_QT= base
USE_TEX= pdftex
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/src
SHEBANG_FILES= ${WRKSRC}/ipecurl/ipecurl.sh
MAKE_ENV= DL_LIBS="" \
@@ -39,19 +37,54 @@ MAKE_ENV= DL_LIBS="" \
JPEG_CFLAGS="-I${LOCALBASE}/include" \
JPEG_LIBS="-L${LOCALBASE}/lib -ljpeg" \
LUA_PACKAGE="lua-${LUA_VER}" \
- MOC="${MOC}"
+ MOC="${MOC}" \
+ IPE_NO_SPELLCHECK="1"
-PLIST_SUB= VERSION="${PORTVERSION}"
-
-PORTDOCS= *
+CPPFLAGS+= -I${LOCALBASE}/${QT_INCDIR_REL} \
+ -I${LOCALBASE}/include/cairo \
+ -I${LUA_INCDIR} \
+ -I${WRKSRC}/include \
+ -I${WRKSRC}/ipecairo \
+ -I${WRKSRC}/ipecanvas
DESKTOP_ENTRIES="Ipe" "" "ipe" "ipe" "" ""
+WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}/src
+
+PLIST_SUB= VERSION="${DISTVERSION}"
+PORTDOCS= *
+
OPTIONS_DEFINE= DOCS
post-patch:
@${REINPLACE_CMD} -e \
's|\([[:blank:]]\)=|\1?=|' ${WRKSRC}/config.mak
+ @${REINPLACE_CMD} -e 's|<QWidget>|<QtWidgets/QWidget>|' \
+ ${WRKSRC}/ipeui/ipeui_common.h \
+ ${WRKSRC}/ipecanvas/ipepdfview_qt.h
+ @${REINPLACE_CMD} -e 's|<QDialog>|<QtWidgets/QDialog>|; \
+ s|<QGridLayout>|<QtWidgets/QGridLayout>|; \
+ s|<QMenu>|<QtWidgets/QMenu>|; \
+ s|<QApplication>|<QtWidgets/QApplication>|; \
+ s|<QAction>|<QtGui/QAction>|' \
+ ${WRKSRC}/ipeui/ipeui_qt.h
+ @${REINPLACE_CMD} -e 's|<QApplication>|<QtWidgets/QApplication>|; \
+ s|<QCloseEvent>|<QtGui/QCloseEvent>|; \
+ s|<QColorDialog>|<QtWidgets/QColorDialog>|; \
+ s|<QComboBox>|<QtWidgets/QComboBox>|; \
+ s|<QCheckBox>|<QtWidgets/QCheckBox>|' \
+ ${WRKSRC}/ipeui/ipeui_qt.cpp
+ @${REINPLACE_CMD} -e 's|<QListWidget>|<QtWidgets/QListWidget>|' \
+ ${WRKSRC}/ipecanvas/ipeselector_qt.h
+ @${REINPLACE_CMD} -e 's|<QLabel>|<QtWidgets/QLabel>|; \
+ s|<QTime>|<QtCore/QTime>|; \
+ s|<QTimer>|<QtCore/QTimer>|' \
+ ${WRKSRC}/ipepresenter/timelabel_qt.h
+ @${REINPLACE_CMD} -e 's|<QInputDialog>|<QtWidgets/QInputDialog>|' \
+ ${WRKSRC}/ipepresenter/timelabel_qt.cpp
+ @${REINPLACE_CMD} -e 's|<QMainWindow>|<QtWidgets/QMainWindow>|; \
+ s|<QPlainTextEdit>|<QtWidgets/QPlainTextEdit>|' \
+ ${WRKSRC}/ipepresenter/ipepresenter_qt.h
post-install:
@${LN} -sf ${DATADIR}/${PORTVERSION}/ipe.png \
diff --git a/graphics/ipe/distinfo b/graphics/ipe/distinfo
index 1c2a939c4753..4d10b82ebb68 100644
--- a/graphics/ipe/distinfo
+++ b/graphics/ipe/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1611709798
-SHA256 (ipe-7.2.23-src.tar.gz) = a19ba29822e63fc7c12c3b85ca5bb58f9ee72fdf566e148af79206b5dc1f757b
-SIZE (ipe-7.2.23-src.tar.gz) = 1030938
+TIMESTAMP = 1757156157
+SHA256 (ipe-7.2.27-src.tar.gz) = c31fdb672f2407b76966ccf9f0179119d4b50736eb22869f80498bc8583bc195
+SIZE (ipe-7.2.27-src.tar.gz) = 1036884
diff --git a/graphics/ipe/pkg-plist b/graphics/ipe/pkg-plist
index 5a74f9513ae7..1819a5415694 100644
--- a/graphics/ipe/pkg-plist
+++ b/graphics/ipe/pkg-plist
@@ -4,6 +4,7 @@ bin/ipe6upgrade
bin/ipeextract
bin/ipepresenter
bin/iperender
+bin/iperender-par
bin/ipescript
bin/ipetoipe
include/ipeattributes.h
@@ -24,7 +25,6 @@ include/ipelatex.h
include/ipelet.h
include/ipelib.h
include/ipeobject.h
-include/ipeosx.h
include/ipepage.h
include/ipepainter.h
include/ipepath.h
@@ -83,6 +83,7 @@ share/man/man1/ipetoipe.1.gz
%%DATADIR%%/%%VERSION%%/scripts/add-style.lua
%%DATADIR%%/%%VERSION%%/scripts/onepage.lua
%%DATADIR%%/%%VERSION%%/scripts/page-labels.lua
+%%DATADIR%%/%%VERSION%%/scripts/scratchpad.lua
%%DATADIR%%/%%VERSION%%/scripts/update-master.lua
%%DATADIR%%/%%VERSION%%/scripts/update-styles.lua
%%DATADIR%%/%%VERSION%%/styles/arabic.isy
diff --git a/graphics/jasper/Makefile b/graphics/jasper/Makefile
index 032cbc5e0b53..e4b57036f817 100644
--- a/graphics/jasper/Makefile
+++ b/graphics/jasper/Makefile
@@ -1,5 +1,5 @@
PORTNAME= jasper
-PORTVERSION= 4.2.5
+PORTVERSION= 4.2.8
CATEGORIES= graphics
MASTER_SITES= https://github.com/jasper-software/jasper/releases/download/version-${PORTVERSION}/
diff --git a/graphics/jasper/distinfo b/graphics/jasper/distinfo
index 8342b281be59..4ed7396c6276 100644
--- a/graphics/jasper/distinfo
+++ b/graphics/jasper/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744288724
-SHA256 (jasper-4.2.5.tar.gz) = 6e49075b47204a9879600f85628a248cdb19abc1bb74d0b7a2177bcdb87c95eb
-SIZE (jasper-4.2.5.tar.gz) = 2122431
+TIMESTAMP = 1755062456
+SHA256 (jasper-4.2.8.tar.gz) = 98058a94fbff57ec6e31dcaec37290589de0ba6f47c966f92654681a56c71fae
+SIZE (jasper-4.2.8.tar.gz) = 2127775
diff --git a/graphics/jkqtplotter/Makefile b/graphics/jkqtplotter/Makefile
new file mode 100644
index 000000000000..2f8e979a40a5
--- /dev/null
+++ b/graphics/jkqtplotter/Makefile
@@ -0,0 +1,45 @@
+PORTNAME= jkqtplotter
+DISTVERSION= 5.0.0 # not tagged yet, see https://github.com/jkriege2/JKQtPlotter/issues/155
+CATEGORIES= graphics
+PKGNAMESUFFIX?= -${FLAVOR}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Qt plotter framework
+WWW= https://github.com/jkriege2/JKQtPlotter \
+ https://jkriege2.github.io/JKQtPlotter/index.html
+
+LICENSE= LGPL21
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+FLAVORS= qt6 qt5
+FLAVOR?= qt6
+
+USES= cmake gl qt:${FLAVOR:S/qt//}
+_USE_QT_qt5= core gui opengl printsupport svg xml widgets qmake:build buildtools:build
+_USE_QT_qt6= base svg tools:build
+USE_QT= ${_USE_QT_${FLAVOR}}
+USE_GL= gl opengl
+
+USE_GITHUB= yes
+GH_ACCOUNT= jkriege2
+GH_TAGNAME= d243218
+
+WRKSRC= ${WRKDIR}/JKQtPlotter-${GH_TAGNAME}
+
+CMAKE_ARGS= -DQT_VERSION=${FLAVOR:S/qt//}
+CMAKE_OFF= JKQtPlotter_BUILD_TESTS \
+ JKQtPlotter_BUILD_EXAMPLES
+
+DOCSDIR= ${PREFIX}/share/doc/JKQTPlotter
+
+PLIST= ${.CURDIR}/pkg-plist.${FLAVOR}
+
+OPTIONS_DEFINE= DOCS
+
+PORTDOCS= *
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)|find_package(QT NAMES Qt${FLAVOR:S/qt//} COMPONENTS Core REQUIRED)|g' \
+ ${WRKSRC}/cmake/jkqtplotter_common_qtsettings.cmake
+
+.include <bsd.port.mk>
diff --git a/graphics/jkqtplotter/distinfo b/graphics/jkqtplotter/distinfo
new file mode 100644
index 000000000000..16f5e372f59b
--- /dev/null
+++ b/graphics/jkqtplotter/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1762722146
+SHA256 (jkriege2-jkqtplotter-5.0.0-d243218_GH0.tar.gz) = 711eab4604e7ed29878b4cb4ab1c9942e31ed598d184dcd864f98383358bbbb3
+SIZE (jkriege2-jkqtplotter-5.0.0-d243218_GH0.tar.gz) = 93987448
diff --git a/graphics/jkqtplotter/pkg-descr b/graphics/jkqtplotter/pkg-descr
new file mode 100644
index 000000000000..f646c1f0b286
--- /dev/null
+++ b/graphics/jkqtplotter/pkg-descr
@@ -0,0 +1,3 @@
+JKQtPlotter is a plotting library for Qt.
+It provides a wide range of plot types, customization options,
+and high performance for scientific and engineering applications.
diff --git a/graphics/jkqtplotter/pkg-plist.qt5 b/graphics/jkqtplotter/pkg-plist.qt5
new file mode 100644
index 000000000000..a1d0249233f9
--- /dev/null
+++ b/graphics/jkqtplotter/pkg-plist.qt5
@@ -0,0 +1,143 @@
+bin/jkqtmathtext_render
+bin/jkqtplotter_doc_imagegenerator
+include/jkqtcommon/jkqtcommon_imexport.h
+include/jkqtcommon/jkqtpbasicimagetools.h
+include/jkqtcommon/jkqtpcachingtools.h
+include/jkqtcommon/jkqtpcodestructuring.h
+include/jkqtcommon/jkqtpconcurrencytools.h
+include/jkqtcommon/jkqtpcsstools.h
+include/jkqtcommon/jkqtpdebuggingtools.h
+include/jkqtcommon/jkqtpdrawingtools.h
+include/jkqtcommon/jkqtpenhancedpainter.h
+include/jkqtcommon/jkqtpexpected.h
+include/jkqtcommon/jkqtpgeometrytools.h
+include/jkqtcommon/jkqtphighrestimer.h
+include/jkqtcommon/jkqtpicons.h
+include/jkqtcommon/jkqtpmathtools.h
+include/jkqtcommon/jkqtpstringtools.h
+include/jkqtcommon/jkqttools.h
+include/jkqtfastplotter/jkqtfastplotter.h
+include/jkqtfastplotter/jkqtfastplotter_imexport.h
+include/jkqtmath/jkqtmath_imexport.h
+include/jkqtmath/jkqtpalgorithms.h
+include/jkqtmath/jkqtparraytools.h
+include/jkqtmath/jkqtplinalgtools.h
+include/jkqtmath/jkqtpmathparser.h
+include/jkqtmath/jkqtpstatbasics.h
+include/jkqtmath/jkqtpstatgrouped.h
+include/jkqtmath/jkqtpstathistogram.h
+include/jkqtmath/jkqtpstatisticstools.h
+include/jkqtmath/jkqtpstatkde.h
+include/jkqtmath/jkqtpstatpoly.h
+include/jkqtmath/jkqtpstatregression.h
+include/jkqtmathtext/jkqtmathtext.h
+include/jkqtmathtext/jkqtmathtext_imexport.h
+include/jkqtmathtext/jkqtmathtextlabel.h
+include/jkqtmathtext/jkqtmathtexttools.h
+include/jkqtmathtext/nodes/jkqtmathtextboxinstructionnode.h
+include/jkqtmathtext/nodes/jkqtmathtextbracenode.h
+include/jkqtmathtext/nodes/jkqtmathtextdecoratednode.h
+include/jkqtmathtext/nodes/jkqtmathtextfracnode.h
+include/jkqtmathtext/nodes/jkqtmathtexthorizontallistnode.h
+include/jkqtmathtext/nodes/jkqtmathtextinstructionnode.h
+include/jkqtmathtext/nodes/jkqtmathtextlistnode.h
+include/jkqtmathtext/nodes/jkqtmathtextmatrixnode.h
+include/jkqtmathtext/nodes/jkqtmathtextmodifyenvironmentnode.h
+include/jkqtmathtext/nodes/jkqtmathtextnode.h
+include/jkqtmathtext/nodes/jkqtmathtextnodetools.h
+include/jkqtmathtext/nodes/jkqtmathtextnoopnode.h
+include/jkqtmathtext/nodes/jkqtmathtextsqrtnode.h
+include/jkqtmathtext/nodes/jkqtmathtextsubsupernode.h
+include/jkqtmathtext/nodes/jkqtmathtextsymbolnode.h
+include/jkqtmathtext/nodes/jkqtmathtexttextnode.h
+include/jkqtmathtext/nodes/jkqtmathtextverbatimnode.h
+include/jkqtmathtext/nodes/jkqtmathtextverticallistnode.h
+include/jkqtmathtext/nodes/jkqtmathtextwhitespacenode.h
+include/jkqtmathtext/parsers/jkqtmathtextlatexparser.h
+include/jkqtmathtext/parsers/jkqtmathtextparser.h
+include/jkqtplotter/graphs/jkqtpbarchart.h
+include/jkqtplotter/graphs/jkqtpbarchartbase.h
+include/jkqtplotter/graphs/jkqtpboxplot.h
+include/jkqtplotter/graphs/jkqtpboxplotbase.h
+include/jkqtplotter/graphs/jkqtpboxplotstylingmixins.h
+include/jkqtplotter/graphs/jkqtpcontour.h
+include/jkqtplotter/graphs/jkqtpevaluatedfunction.h
+include/jkqtplotter/graphs/jkqtpevaluatedfunctionbase.h
+include/jkqtplotter/graphs/jkqtpevaluatedparametriccurve.h
+include/jkqtplotter/graphs/jkqtpfilledcurve.h
+include/jkqtplotter/graphs/jkqtpfinancial.h
+include/jkqtplotter/graphs/jkqtpgeoannotations.h
+include/jkqtplotter/graphs/jkqtpgeobase.h
+include/jkqtplotter/graphs/jkqtpgeolines.h
+include/jkqtplotter/graphs/jkqtpgeometric.h
+include/jkqtplotter/graphs/jkqtpgeoshapes.h
+include/jkqtplotter/graphs/jkqtpgraphlabels.h
+include/jkqtplotter/graphs/jkqtpgraphlabelstylemixin.h
+include/jkqtplotter/graphs/jkqtpimage.h
+include/jkqtplotter/graphs/jkqtpimageoverlays.h
+include/jkqtplotter/graphs/jkqtpimagergb.h
+include/jkqtplotter/graphs/jkqtpimpulses.h
+include/jkqtplotter/graphs/jkqtplines.h
+include/jkqtplotter/graphs/jkqtpparsedfunction.h
+include/jkqtplotter/graphs/jkqtppeakstream.h
+include/jkqtplotter/graphs/jkqtprange.h
+include/jkqtplotter/graphs/jkqtpscatter.h
+include/jkqtplotter/graphs/jkqtpsinglecolumnsymbols.h
+include/jkqtplotter/graphs/jkqtpspecialline.h
+include/jkqtplotter/graphs/jkqtpstatisticsadaptors.h
+include/jkqtplotter/graphs/jkqtpvectorfield.h
+include/jkqtplotter/graphs/jkqtpviolinplot.h
+include/jkqtplotter/graphs/jkqtpviolinplotstylingmixins.h
+include/jkqtplotter/gui/jkqtpcomboboxes.h
+include/jkqtplotter/gui/jkqtpenhancedspinboxes.h
+include/jkqtplotter/gui/jkqtpenhancedtableview.h
+include/jkqtplotter/gui/jkqtpgraphsmodel.h
+include/jkqtplotter/gui/jkvanishqtoolbar.h
+include/jkqtplotter/jkqtpbaseelements.h
+include/jkqtplotter/jkqtpbaseplotter.h
+include/jkqtplotter/jkqtpbaseplotterstyle.h
+include/jkqtplotter/jkqtpcoordinateaxes.h
+include/jkqtplotter/jkqtpcoordinateaxesstyle.h
+include/jkqtplotter/jkqtpdatastorage.h
+include/jkqtplotter/jkqtpgraphsbase.h
+include/jkqtplotter/jkqtpgraphsbaseerrors.h
+include/jkqtplotter/jkqtpgraphsbasestyle.h
+include/jkqtplotter/jkqtpgraphsbasestylingmixins.h
+include/jkqtplotter/jkqtpimagetools.h
+include/jkqtplotter/jkqtpkey.h
+include/jkqtplotter/jkqtpkeystyle.h
+include/jkqtplotter/jkqtplotter.h
+include/jkqtplotter/jkqtplotter_configmacros.h
+include/jkqtplotter/jkqtplotter_imexport.h
+include/jkqtplotter/jkqtplotterstyle.h
+include/jkqtplotter/jkqtptools.h
+lib/cmake/JKQTPlotter5/JKQTCommon5Config.cmake
+lib/cmake/JKQTPlotter5/JKQTCommon5Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/JKQTPlotter5/JKQTCommon5Targets.cmake
+lib/cmake/JKQTPlotter5/JKQTCommon5Version.cmake
+lib/cmake/JKQTPlotter5/JKQTFastPlotter5Config.cmake
+lib/cmake/JKQTPlotter5/JKQTFastPlotter5Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/JKQTPlotter5/JKQTFastPlotter5Targets.cmake
+lib/cmake/JKQTPlotter5/JKQTFastPlotter5Version.cmake
+lib/cmake/JKQTPlotter5/JKQTMath5Config.cmake
+lib/cmake/JKQTPlotter5/JKQTMath5Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/JKQTPlotter5/JKQTMath5Targets.cmake
+lib/cmake/JKQTPlotter5/JKQTMath5Version.cmake
+lib/cmake/JKQTPlotter5/JKQTMathText5Config.cmake
+lib/cmake/JKQTPlotter5/JKQTMathText5Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/JKQTPlotter5/JKQTMathText5Targets.cmake
+lib/cmake/JKQTPlotter5/JKQTMathText5Version.cmake
+lib/cmake/JKQTPlotter5/JKQTPlotter5Config.cmake
+lib/cmake/JKQTPlotter5/JKQTPlotter5Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/JKQTPlotter5/JKQTPlotter5Targets.cmake
+lib/cmake/JKQTPlotter5/JKQTPlotter5Version.cmake
+lib/libJKQTCommon5_Release.so
+lib/libJKQTCommon5_Release.so.5.0.0
+lib/libJKQTFastPlotter5_Release.so
+lib/libJKQTFastPlotter5_Release.so.5.0.0
+lib/libJKQTMath5_Release.so
+lib/libJKQTMath5_Release.so.5.0.0
+lib/libJKQTMathText5_Release.so
+lib/libJKQTMathText5_Release.so.5.0.0
+lib/libJKQTPlotter5_Release.so
+lib/libJKQTPlotter5_Release.so.5.0.0
diff --git a/graphics/jkqtplotter/pkg-plist.qt6 b/graphics/jkqtplotter/pkg-plist.qt6
new file mode 100644
index 000000000000..c33efaf75aed
--- /dev/null
+++ b/graphics/jkqtplotter/pkg-plist.qt6
@@ -0,0 +1,143 @@
+bin/jkqtmathtext_render
+bin/jkqtplotter_doc_imagegenerator
+include/jkqtcommon/jkqtcommon_imexport.h
+include/jkqtcommon/jkqtpbasicimagetools.h
+include/jkqtcommon/jkqtpcachingtools.h
+include/jkqtcommon/jkqtpcodestructuring.h
+include/jkqtcommon/jkqtpconcurrencytools.h
+include/jkqtcommon/jkqtpcsstools.h
+include/jkqtcommon/jkqtpdebuggingtools.h
+include/jkqtcommon/jkqtpdrawingtools.h
+include/jkqtcommon/jkqtpenhancedpainter.h
+include/jkqtcommon/jkqtpexpected.h
+include/jkqtcommon/jkqtpgeometrytools.h
+include/jkqtcommon/jkqtphighrestimer.h
+include/jkqtcommon/jkqtpicons.h
+include/jkqtcommon/jkqtpmathtools.h
+include/jkqtcommon/jkqtpstringtools.h
+include/jkqtcommon/jkqttools.h
+include/jkqtfastplotter/jkqtfastplotter.h
+include/jkqtfastplotter/jkqtfastplotter_imexport.h
+include/jkqtmath/jkqtmath_imexport.h
+include/jkqtmath/jkqtpalgorithms.h
+include/jkqtmath/jkqtparraytools.h
+include/jkqtmath/jkqtplinalgtools.h
+include/jkqtmath/jkqtpmathparser.h
+include/jkqtmath/jkqtpstatbasics.h
+include/jkqtmath/jkqtpstatgrouped.h
+include/jkqtmath/jkqtpstathistogram.h
+include/jkqtmath/jkqtpstatisticstools.h
+include/jkqtmath/jkqtpstatkde.h
+include/jkqtmath/jkqtpstatpoly.h
+include/jkqtmath/jkqtpstatregression.h
+include/jkqtmathtext/jkqtmathtext.h
+include/jkqtmathtext/jkqtmathtext_imexport.h
+include/jkqtmathtext/jkqtmathtextlabel.h
+include/jkqtmathtext/jkqtmathtexttools.h
+include/jkqtmathtext/nodes/jkqtmathtextboxinstructionnode.h
+include/jkqtmathtext/nodes/jkqtmathtextbracenode.h
+include/jkqtmathtext/nodes/jkqtmathtextdecoratednode.h
+include/jkqtmathtext/nodes/jkqtmathtextfracnode.h
+include/jkqtmathtext/nodes/jkqtmathtexthorizontallistnode.h
+include/jkqtmathtext/nodes/jkqtmathtextinstructionnode.h
+include/jkqtmathtext/nodes/jkqtmathtextlistnode.h
+include/jkqtmathtext/nodes/jkqtmathtextmatrixnode.h
+include/jkqtmathtext/nodes/jkqtmathtextmodifyenvironmentnode.h
+include/jkqtmathtext/nodes/jkqtmathtextnode.h
+include/jkqtmathtext/nodes/jkqtmathtextnodetools.h
+include/jkqtmathtext/nodes/jkqtmathtextnoopnode.h
+include/jkqtmathtext/nodes/jkqtmathtextsqrtnode.h
+include/jkqtmathtext/nodes/jkqtmathtextsubsupernode.h
+include/jkqtmathtext/nodes/jkqtmathtextsymbolnode.h
+include/jkqtmathtext/nodes/jkqtmathtexttextnode.h
+include/jkqtmathtext/nodes/jkqtmathtextverbatimnode.h
+include/jkqtmathtext/nodes/jkqtmathtextverticallistnode.h
+include/jkqtmathtext/nodes/jkqtmathtextwhitespacenode.h
+include/jkqtmathtext/parsers/jkqtmathtextlatexparser.h
+include/jkqtmathtext/parsers/jkqtmathtextparser.h
+include/jkqtplotter/graphs/jkqtpbarchart.h
+include/jkqtplotter/graphs/jkqtpbarchartbase.h
+include/jkqtplotter/graphs/jkqtpboxplot.h
+include/jkqtplotter/graphs/jkqtpboxplotbase.h
+include/jkqtplotter/graphs/jkqtpboxplotstylingmixins.h
+include/jkqtplotter/graphs/jkqtpcontour.h
+include/jkqtplotter/graphs/jkqtpevaluatedfunction.h
+include/jkqtplotter/graphs/jkqtpevaluatedfunctionbase.h
+include/jkqtplotter/graphs/jkqtpevaluatedparametriccurve.h
+include/jkqtplotter/graphs/jkqtpfilledcurve.h
+include/jkqtplotter/graphs/jkqtpfinancial.h
+include/jkqtplotter/graphs/jkqtpgeoannotations.h
+include/jkqtplotter/graphs/jkqtpgeobase.h
+include/jkqtplotter/graphs/jkqtpgeolines.h
+include/jkqtplotter/graphs/jkqtpgeometric.h
+include/jkqtplotter/graphs/jkqtpgeoshapes.h
+include/jkqtplotter/graphs/jkqtpgraphlabels.h
+include/jkqtplotter/graphs/jkqtpgraphlabelstylemixin.h
+include/jkqtplotter/graphs/jkqtpimage.h
+include/jkqtplotter/graphs/jkqtpimageoverlays.h
+include/jkqtplotter/graphs/jkqtpimagergb.h
+include/jkqtplotter/graphs/jkqtpimpulses.h
+include/jkqtplotter/graphs/jkqtplines.h
+include/jkqtplotter/graphs/jkqtpparsedfunction.h
+include/jkqtplotter/graphs/jkqtppeakstream.h
+include/jkqtplotter/graphs/jkqtprange.h
+include/jkqtplotter/graphs/jkqtpscatter.h
+include/jkqtplotter/graphs/jkqtpsinglecolumnsymbols.h
+include/jkqtplotter/graphs/jkqtpspecialline.h
+include/jkqtplotter/graphs/jkqtpstatisticsadaptors.h
+include/jkqtplotter/graphs/jkqtpvectorfield.h
+include/jkqtplotter/graphs/jkqtpviolinplot.h
+include/jkqtplotter/graphs/jkqtpviolinplotstylingmixins.h
+include/jkqtplotter/gui/jkqtpcomboboxes.h
+include/jkqtplotter/gui/jkqtpenhancedspinboxes.h
+include/jkqtplotter/gui/jkqtpenhancedtableview.h
+include/jkqtplotter/gui/jkqtpgraphsmodel.h
+include/jkqtplotter/gui/jkvanishqtoolbar.h
+include/jkqtplotter/jkqtpbaseelements.h
+include/jkqtplotter/jkqtpbaseplotter.h
+include/jkqtplotter/jkqtpbaseplotterstyle.h
+include/jkqtplotter/jkqtpcoordinateaxes.h
+include/jkqtplotter/jkqtpcoordinateaxesstyle.h
+include/jkqtplotter/jkqtpdatastorage.h
+include/jkqtplotter/jkqtpgraphsbase.h
+include/jkqtplotter/jkqtpgraphsbaseerrors.h
+include/jkqtplotter/jkqtpgraphsbasestyle.h
+include/jkqtplotter/jkqtpgraphsbasestylingmixins.h
+include/jkqtplotter/jkqtpimagetools.h
+include/jkqtplotter/jkqtpkey.h
+include/jkqtplotter/jkqtpkeystyle.h
+include/jkqtplotter/jkqtplotter.h
+include/jkqtplotter/jkqtplotter_configmacros.h
+include/jkqtplotter/jkqtplotter_imexport.h
+include/jkqtplotter/jkqtplotterstyle.h
+include/jkqtplotter/jkqtptools.h
+lib/cmake/JKQTPlotter6/JKQTCommon6Config.cmake
+lib/cmake/JKQTPlotter6/JKQTCommon6Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/JKQTPlotter6/JKQTCommon6Targets.cmake
+lib/cmake/JKQTPlotter6/JKQTCommon6Version.cmake
+lib/cmake/JKQTPlotter6/JKQTFastPlotter6Config.cmake
+lib/cmake/JKQTPlotter6/JKQTFastPlotter6Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/JKQTPlotter6/JKQTFastPlotter6Targets.cmake
+lib/cmake/JKQTPlotter6/JKQTFastPlotter6Version.cmake
+lib/cmake/JKQTPlotter6/JKQTMath6Config.cmake
+lib/cmake/JKQTPlotter6/JKQTMath6Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/JKQTPlotter6/JKQTMath6Targets.cmake
+lib/cmake/JKQTPlotter6/JKQTMath6Version.cmake
+lib/cmake/JKQTPlotter6/JKQTMathText6Config.cmake
+lib/cmake/JKQTPlotter6/JKQTMathText6Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/JKQTPlotter6/JKQTMathText6Targets.cmake
+lib/cmake/JKQTPlotter6/JKQTMathText6Version.cmake
+lib/cmake/JKQTPlotter6/JKQTPlotter6Config.cmake
+lib/cmake/JKQTPlotter6/JKQTPlotter6Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/JKQTPlotter6/JKQTPlotter6Targets.cmake
+lib/cmake/JKQTPlotter6/JKQTPlotter6Version.cmake
+lib/libJKQTCommon6_Release.so
+lib/libJKQTCommon6_Release.so.5.0.0
+lib/libJKQTFastPlotter6_Release.so
+lib/libJKQTFastPlotter6_Release.so.5.0.0
+lib/libJKQTMath6_Release.so
+lib/libJKQTMath6_Release.so.5.0.0
+lib/libJKQTMathText6_Release.so
+lib/libJKQTMathText6_Release.so.5.0.0
+lib/libJKQTPlotter6_Release.so
+lib/libJKQTPlotter6_Release.so.5.0.0
diff --git a/graphics/jp/Makefile b/graphics/jp/Makefile
index 0c6f3c74b258..64c286211872 100644
--- a/graphics/jp/Makefile
+++ b/graphics/jp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= jp
DISTVERSION= 1.1.12
-PORTREVISION= 30
+PORTREVISION= 36
CATEGORIES= graphics
MAINTAINER= 0mp@FreeBSD.org
diff --git a/graphics/jpeg-turbo/Makefile b/graphics/jpeg-turbo/Makefile
index 030c925c8da8..f3540fe19a2c 100644
--- a/graphics/jpeg-turbo/Makefile
+++ b/graphics/jpeg-turbo/Makefile
@@ -1,5 +1,5 @@
PORTNAME= jpeg-turbo
-DISTVERSION= 3.1.1
+DISTVERSION= 3.1.2
CATEGORIES= graphics
MASTER_SITES= https://github.com/lib${PORTNAME}/lib${PORTNAME}/releases/download/${DISTVERSION}/
DISTNAME= lib${PORTNAME}-${DISTVERSION}
diff --git a/graphics/jpeg-turbo/distinfo b/graphics/jpeg-turbo/distinfo
index 28053eb0a408..3e5acb196d0e 100644
--- a/graphics/jpeg-turbo/distinfo
+++ b/graphics/jpeg-turbo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749870510
-SHA256 (libjpeg-turbo-3.1.1.tar.gz) = aadc97ea91f6ef078b0ae3a62bba69e008d9a7db19b34e4ac973b19b71b4217c
-SIZE (libjpeg-turbo-3.1.1.tar.gz) = 2506010
+TIMESTAMP = 1757049071
+SHA256 (libjpeg-turbo-3.1.2.tar.gz) = 8f0012234b464ce50890c490f18194f913a7b1f4e6a03d6644179fa0f867d0cf
+SIZE (libjpeg-turbo-3.1.2.tar.gz) = 2512033
diff --git a/graphics/jpegoptim/Makefile b/graphics/jpegoptim/Makefile
index e3469b86cfc3..5e319f3fb084 100644
--- a/graphics/jpegoptim/Makefile
+++ b/graphics/jpegoptim/Makefile
@@ -1,8 +1,8 @@
PORTNAME= jpegoptim
-DISTVERSION= 1.5.5
-PORTREVISION= 2
+DISTVERSION= 1.5.6
+PORTREVISION= 1
CATEGORIES= graphics
-MASTER_SITES= https://www.kokkonen.net/tjko/src/
+MASTER_SITES= https://github.com/tjko/${PORTNAME}/releases/download/v${DISTVERSION}/
MAINTAINER= ehaupt@FreeBSD.org
COMMENT= Utility to optimize jpeg files
diff --git a/graphics/jpegoptim/distinfo b/graphics/jpegoptim/distinfo
index 27e8b45bc935..a7afa87b4744 100644
--- a/graphics/jpegoptim/distinfo
+++ b/graphics/jpegoptim/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1691688640
-SHA256 (jpegoptim-1.5.5.tar.gz) = 90a309d1c092de358bb411d702281ac3039b489d03adb0bc3c4ef04cf0067d38
-SIZE (jpegoptim-1.5.5.tar.gz) = 124361
+TIMESTAMP = 1758332774
+SHA256 (jpegoptim-1.5.6.tar.gz) = 661a808dfffa933d78c6beb47a2937d572b9f03e94cbaaab3d4c0d72f410e9be
+SIZE (jpegoptim-1.5.6.tar.gz) = 457883
diff --git a/graphics/jpgtn/Makefile b/graphics/jpgtn/Makefile
index d73b0967a090..6c88a4c779eb 100644
--- a/graphics/jpgtn/Makefile
+++ b/graphics/jpgtn/Makefile
@@ -1,6 +1,6 @@
PORTNAME= jpgtn
PORTVERSION= 2.06
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics
MASTER_SITES= SF SUNSITE/apps/graphics/misc
@@ -11,6 +11,9 @@ WWW= https://jpgtn.sourceforge.net/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
+DEPRECATED= obsolete historical tool, use imagemagick instead
+EXPIRATION_DATE= 2025-12-31
+
USES= jpeg
GNU_CONFIGURE= yes
GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
diff --git a/graphics/kamera/distinfo b/graphics/kamera/distinfo
index 6bfbaf5bd4e6..4dc31479275a 100644
--- a/graphics/kamera/distinfo
+++ b/graphics/kamera/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381453
-SHA256 (KDE/release-service/25.04.3/kamera-25.04.3.tar.xz) = 46b9caa4a9ef218342f57eeb0fdad30635fc5090f22f89dd1ced5856f060dd49
-SIZE (KDE/release-service/25.04.3/kamera-25.04.3.tar.xz) = 132972
+TIMESTAMP = 1765478563
+SHA256 (KDE/release-service/25.12.0/kamera-25.12.0.tar.xz) = 0b2402eb5761f9c6d3350398a0b7a9761511c3df9ea9c512f1203c680fd822b6
+SIZE (KDE/release-service/25.12.0/kamera-25.12.0.tar.xz) = 132876
diff --git a/graphics/katarakt/Makefile b/graphics/katarakt/Makefile
index 7e8443f8665e..c007eed1af8b 100644
--- a/graphics/katarakt/Makefile
+++ b/graphics/katarakt/Makefile
@@ -1,6 +1,6 @@
PORTNAME= katarakt
PORTVERSION= 0.2
-PORTREVISION= 32
+PORTREVISION= 33
CATEGORIES= graphics
MAINTAINER= kurt@kmk-computers.de
diff --git a/graphics/kcolorchooser/distinfo b/graphics/kcolorchooser/distinfo
index 80a24a48af0a..cb2928f1f980 100644
--- a/graphics/kcolorchooser/distinfo
+++ b/graphics/kcolorchooser/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381455
-SHA256 (KDE/release-service/25.04.3/kcolorchooser-25.04.3.tar.xz) = 08db027a1deb9e0a429abde8c8702b47e1401ac0085812f78ac10a7c610270f5
-SIZE (KDE/release-service/25.04.3/kcolorchooser-25.04.3.tar.xz) = 36396
+TIMESTAMP = 1765478566
+SHA256 (KDE/release-service/25.12.0/kcolorchooser-25.12.0.tar.xz) = f9e9971eda175cb406e6c092aa54b74e08bb84f0b63c9c9afaea1101ff3767f6
+SIZE (KDE/release-service/25.12.0/kcolorchooser-25.12.0.tar.xz) = 36532
diff --git a/graphics/kdegraphics-mobipocket/Makefile b/graphics/kdegraphics-mobipocket/Makefile
index 109ed5bc97c3..bdf7c79e5fca 100644
--- a/graphics/kdegraphics-mobipocket/Makefile
+++ b/graphics/kdegraphics-mobipocket/Makefile
@@ -1,27 +1,16 @@
PORTNAME= kdegraphics-mobipocket
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
CATEGORIES= graphics kde kde-applications
-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
-
-USES= cmake compiler:c++11-lang kde:${FLAVOR:S/qt//} \
- qt:${FLAVOR:S/qt//} tar:xz
+USES= cmake compiler:c++11-lang kde:6 qt:6 tar:xz
USE_KDE= completion config coreaddons jobwidgets kio service solid \
widgetsaddons windowsystem \
ecm:build
-_USE_QT_qt5= concurrent core dbus gui network widgets \
- buildtools:build qmake:build
-_USE_QT_qt6= base
-USE_QT= ${_USE_QT_${FLAVOR}}
-
-PLIST= pkg-plist.${FLAVOR}
-
+USE_QT= base
USE_LDCONFIG= yes
.include <bsd.port.mk>
diff --git a/graphics/kdegraphics-mobipocket/distinfo b/graphics/kdegraphics-mobipocket/distinfo
index 0333dc54d9d2..552839de9c1f 100644
--- a/graphics/kdegraphics-mobipocket/distinfo
+++ b/graphics/kdegraphics-mobipocket/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381458
-SHA256 (KDE/release-service/25.04.3/kdegraphics-mobipocket-25.04.3.tar.xz) = 12f66c78d190867c1c994f650f1409c87bde0fd592911ad3a475b7502045f3d3
-SIZE (KDE/release-service/25.04.3/kdegraphics-mobipocket-25.04.3.tar.xz) = 13136
+TIMESTAMP = 1765478568
+SHA256 (KDE/release-service/25.12.0/kdegraphics-mobipocket-25.12.0.tar.xz) = f515f6427e253f8c58b9a8fe64fe6ea65aac9e780e4b19b5e0ce299f3292700d
+SIZE (KDE/release-service/25.12.0/kdegraphics-mobipocket-25.12.0.tar.xz) = 20396
diff --git a/graphics/kdegraphics-mobipocket/pkg-plist b/graphics/kdegraphics-mobipocket/pkg-plist
index ddc051f14194..dcb0fde86af0 100644
--- a/graphics/kdegraphics-mobipocket/pkg-plist
+++ b/graphics/kdegraphics-mobipocket/pkg-plist
@@ -1,11 +1,11 @@
-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
+include/QMobipocket6/qmobipocket/mobipocket.h
+include/QMobipocket6/qmobipocket/qmobipocket_export.h
+include/QMobipocket6/qmobipocket_version.h
+lib/cmake/QMobipocket6/QMobipocket6Config.cmake
+lib/cmake/QMobipocket6/QMobipocket6ConfigVersion.cmake
+lib/cmake/QMobipocket6/QMobipocket6Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/QMobipocket6/QMobipocket6Targets.cmake
+lib/libQMobipocket6.so
+lib/libQMobipocket6.so.3
+lib/libQMobipocket6.so.3.0.0
+share/qlogging-categories6/qmobipocket.categories
diff --git a/graphics/kdegraphics-mobipocket/pkg-plist.qt5 b/graphics/kdegraphics-mobipocket/pkg-plist.qt5
deleted file mode 100644
index ddc051f14194..000000000000
--- a/graphics/kdegraphics-mobipocket/pkg-plist.qt5
+++ /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.qt6 b/graphics/kdegraphics-mobipocket/pkg-plist.qt6
deleted file mode 100644
index f0bf0302c573..000000000000
--- a/graphics/kdegraphics-mobipocket/pkg-plist.qt6
+++ /dev/null
@@ -1,11 +0,0 @@
-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
-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
diff --git a/graphics/kdegraphics-svgpart/distinfo b/graphics/kdegraphics-svgpart/distinfo
index 7d3ed5333176..872bda96a6cc 100644
--- a/graphics/kdegraphics-svgpart/distinfo
+++ b/graphics/kdegraphics-svgpart/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381460
-SHA256 (KDE/release-service/25.04.3/svgpart-25.04.3.tar.xz) = 193f852d7d1fba4ec7ad25dd59d567d58bb6533e436a50d80f54fe1b94202b24
-SIZE (KDE/release-service/25.04.3/svgpart-25.04.3.tar.xz) = 30252
+TIMESTAMP = 1765478571
+SHA256 (KDE/release-service/25.12.0/svgpart-25.12.0.tar.xz) = 89fa7e55ec6801445ed220052f7e1c46474dbd293bf554728b898fe854ea3a38
+SIZE (KDE/release-service/25.12.0/svgpart-25.12.0.tar.xz) = 30224
diff --git a/graphics/kdegraphics-thumbnailers/Makefile b/graphics/kdegraphics-thumbnailers/Makefile
index eb1547d764f0..689058be1bfc 100644
--- a/graphics/kdegraphics-thumbnailers/Makefile
+++ b/graphics/kdegraphics-thumbnailers/Makefile
@@ -6,7 +6,7 @@ MAINTAINER= kde@FreeBSD.org
COMMENT= Thumbnailers for various graphics file formats
WWW= https://www.kde.org
-LIB_DEPENDS= libQMobipocket6.so:graphics/kdegraphics-mobipocket@qt6
+LIB_DEPENDS= libQMobipocket6.so:graphics/kdegraphics-mobipocket
USES= cmake compiler:c++11-lang kde:6 qt:6 tar:xz xorg
USE_KDE= archive completion config coreaddons jobwidgets kio libkdcraw \
diff --git a/graphics/kdegraphics-thumbnailers/distinfo b/graphics/kdegraphics-thumbnailers/distinfo
index 8a67938b184f..035bd9e4a890 100644
--- a/graphics/kdegraphics-thumbnailers/distinfo
+++ b/graphics/kdegraphics-thumbnailers/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381463
-SHA256 (KDE/release-service/25.04.3/kdegraphics-thumbnailers-25.04.3.tar.xz) = 221b584c92c1c1570720caba97706de36dbe3ef4f6ee324b774513e37f446318
-SIZE (KDE/release-service/25.04.3/kdegraphics-thumbnailers-25.04.3.tar.xz) = 49160
+TIMESTAMP = 1765478574
+SHA256 (KDE/release-service/25.12.0/kdegraphics-thumbnailers-25.12.0.tar.xz) = 1e7ee6620d9ef02abceed5baeb127560af53fe7eb378ca1692b12fda49cddab5
+SIZE (KDE/release-service/25.12.0/kdegraphics-thumbnailers-25.12.0.tar.xz) = 128580
diff --git a/graphics/kdegraphics/Makefile b/graphics/kdegraphics/Makefile
index f60cf01f5d91..d82fc2ccbba3 100644
--- a/graphics/kdegraphics/Makefile
+++ b/graphics/kdegraphics/Makefile
@@ -7,7 +7,6 @@ COMMENT= Graphics applications for KDE (meta port)
WWW= https://apps.kde.org/categories/graphics/
USES= kde:6 metaport qt:6
-USE_QT= #
OPTIONS_DEFINE= COLORD \
GPHOTO \
@@ -44,7 +43,7 @@ SKANLITE_DESC= Simple scanning application
SKANLITE_RUN_DEPENDS= skanlite>=${KDE_APPLICATIONS_VERSION}:graphics/skanlite
MOBIPOCKET_DESC= Mobipocket plugins for Strigi indexing and thumbnailers
-MOBIPOCKET_RUN_DEPENDS= kdegraphics-mobipocket-qt6>=${KDE_APPLICATIONS_VERSION}:graphics/kdegraphics-mobipocket@qt6
+MOBIPOCKET_RUN_DEPENDS= kdegraphics-mobipocket>=${KDE_APPLICATIONS_VERSION}:graphics/kdegraphics-mobipocket
SVG_DESC= SVG KPart
SVG_RUN_DEPENDS= kdegraphics-svgpart>=${KDE_APPLICATIONS_VERSION}:graphics/kdegraphics-svgpart
diff --git a/graphics/kf5-kimageformats/Makefile b/graphics/kf5-kimageformats/Makefile
index 482c2b3a8726..e7b4d9011221 100644
--- a/graphics/kf5-kimageformats/Makefile
+++ b/graphics/kf5-kimageformats/Makefile
@@ -1,6 +1,6 @@
PORTNAME= kimageformats
DISTVERSION= ${KDE_FRAMEWORKS_VERSION}
-PORTREVISION= 2
+PORTREVISION= 5
CATEGORIES= graphics kde kde-frameworks
MAINTAINER= kde@FreeBSD.org
diff --git a/graphics/kf6-kimageformats/Makefile b/graphics/kf6-kimageformats/Makefile
index 8dc08c060878..706109823369 100644
--- a/graphics/kf6-kimageformats/Makefile
+++ b/graphics/kf6-kimageformats/Makefile
@@ -1,6 +1,5 @@
PORTNAME= kimageformats
DISTVERSION= ${KDE_FRAMEWORKS_VERSION}
-PORTREVISION= 1
CATEGORIES= graphics kde kde-frameworks
COMMENT= Plugins to allow QImage to support extra file formats
@@ -11,9 +10,9 @@ USE_GL= gl opengl
USE_KDE= archive ecm:build
USE_QT= base
-OPTIONS_DEFINE= AVIF JXL HEIF OPENEXR RAW
-OPTIONS_DEFAULT= AVIF JXL HEIF OPENEXR RAW
-OPTIONS_SUB= yes
+OPTIONS_DEFINE= AVIF JXL HEIF OPENEXR OPENJPEG RAW
+OPTIONS_DEFAULT:= ${OPTIONS_DEFINE}
+OPTIONS_SUB= yes
AVIF_LIB_DEPENDS= libavif.so:graphics/libavif
AVIF_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_libavif
@@ -28,7 +27,10 @@ OPENEXR_LIB_DEPENDS= libOpenEXR.so:graphics/openexr \
libImath.so:math/Imath
OPENEXR_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_OpenEXR
+OPENJPEG_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg
+OPENJPEG_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_OpenJPEG
+
RAW_LIB_DEPENDS= libraw.so:graphics/libraw
-RAW_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_libraw
+RAW_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_LibRaw
.include <bsd.port.mk>
diff --git a/graphics/kf6-kimageformats/distinfo b/graphics/kf6-kimageformats/distinfo
index 7aecaa5016c6..6b8418bf9084 100644
--- a/graphics/kf6-kimageformats/distinfo
+++ b/graphics/kf6-kimageformats/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752529509
-SHA256 (KDE/frameworks/6.16/kimageformats-6.16.0.tar.xz) = 86dfbb05ab845f7b19a7fec88e135d14e47af14dc1713d9fb391966510c1dc4b
-SIZE (KDE/frameworks/6.16/kimageformats-6.16.0.tar.xz) = 28620588
+TIMESTAMP = 1762892871
+SHA256 (KDE/frameworks/6.20/kimageformats-6.20.0.tar.xz) = bdbd91f01b88b61bc5b3e7f60153ae8b63d5f1f2840e9eb31ae8b7339f7b8d79
+SIZE (KDE/frameworks/6.20/kimageformats-6.20.0.tar.xz) = 28805260
diff --git a/graphics/kf6-kimageformats/pkg-plist b/graphics/kf6-kimageformats/pkg-plist
index c6220810c367..cbc86f2543d0 100644
--- a/graphics/kf6-kimageformats/pkg-plist
+++ b/graphics/kf6-kimageformats/pkg-plist
@@ -8,7 +8,7 @@ lib/cmake/KF6ImageFormats/KF6ImageFormatsConfigVersion.cmake
%%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
+%%OPENJPEG%%%%QT_PLUGINDIR%%/imageformats/kimg_jp2.so
%%JXL%%%%QT_PLUGINDIR%%/imageformats/kimg_jxl.so
%%QT_PLUGINDIR%%/imageformats/kimg_kra.so
%%QT_PLUGINDIR%%/imageformats/kimg_ora.so
diff --git a/graphics/kf6-kplotting/distinfo b/graphics/kf6-kplotting/distinfo
index 81188fd98953..ed674ec81bdc 100644
--- a/graphics/kf6-kplotting/distinfo
+++ b/graphics/kf6-kplotting/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752529510
-SHA256 (KDE/frameworks/6.16/kplotting-6.16.0.tar.xz) = a2117ed10b5c5992f9b160cb98bc53042cdd257de6b9b9f2f5ba4a6a5c00bd06
-SIZE (KDE/frameworks/6.16/kplotting-6.16.0.tar.xz) = 34032
+TIMESTAMP = 1762892871
+SHA256 (KDE/frameworks/6.20/kplotting-6.20.0.tar.xz) = 50cd8986acf47e9a8c0df2b11f068a79d241a13f6e426771703a9e188e6aa43f
+SIZE (KDE/frameworks/6.20/kplotting-6.20.0.tar.xz) = 34032
diff --git a/graphics/kf6-kquickcharts/distinfo b/graphics/kf6-kquickcharts/distinfo
index 61dbf55324cc..f7387a97cd93 100644
--- a/graphics/kf6-kquickcharts/distinfo
+++ b/graphics/kf6-kquickcharts/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752529511
-SHA256 (KDE/frameworks/6.16/kquickcharts-6.16.0.tar.xz) = 03a70fa5b5b1f098bbcc020dd1792b8c0b999d8be7ccd1b34b79f5b7a39f183d
-SIZE (KDE/frameworks/6.16/kquickcharts-6.16.0.tar.xz) = 112100
+TIMESTAMP = 1762892872
+SHA256 (KDE/frameworks/6.20/kquickcharts-6.20.0.tar.xz) = 94f52ce42c15cb7dc514ce9868dba41ed8f0645b941ff2256d02227746301792
+SIZE (KDE/frameworks/6.20/kquickcharts-6.20.0.tar.xz) = 112260
diff --git a/graphics/kf6-ksvg/distinfo b/graphics/kf6-ksvg/distinfo
index 0def4105b456..d57a6dc34d6a 100644
--- a/graphics/kf6-ksvg/distinfo
+++ b/graphics/kf6-ksvg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752529512
-SHA256 (KDE/frameworks/6.16/ksvg-6.16.0.tar.xz) = ee3bf0726e84137c131ccd5c61c17f08edc0c0d8e9fa27d26cd3a4524f5cf6c3
-SIZE (KDE/frameworks/6.16/ksvg-6.16.0.tar.xz) = 83764
+TIMESTAMP = 1762892872
+SHA256 (KDE/frameworks/6.20/ksvg-6.20.0.tar.xz) = 7ff41cf18af9d1aa4862a52e9151e0a1968099f71da07da8454d880d676956a8
+SIZE (KDE/frameworks/6.20/ksvg-6.20.0.tar.xz) = 84444
diff --git a/graphics/kf6-prison/distinfo b/graphics/kf6-prison/distinfo
index e73d6e8d2db2..5b89e6f5ba0d 100644
--- a/graphics/kf6-prison/distinfo
+++ b/graphics/kf6-prison/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752529512
-SHA256 (KDE/frameworks/6.16/prison-6.16.0.tar.xz) = 382b2b9e3a0055c34b60290352b8566a8bff75ca8735b9534a076383d6e4e510
-SIZE (KDE/frameworks/6.16/prison-6.16.0.tar.xz) = 57360
+TIMESTAMP = 1762892872
+SHA256 (KDE/frameworks/6.20/prison-6.20.0.tar.xz) = 36ec6f82ecc3c06618d455cc1698ab11754d642fab3f1b850a7cf01ce11b3d1f
+SIZE (KDE/frameworks/6.20/prison-6.20.0.tar.xz) = 57336
diff --git a/graphics/kgraphviewer/distinfo b/graphics/kgraphviewer/distinfo
index 9548a599cdf1..26ee5dc1c632 100644
--- a/graphics/kgraphviewer/distinfo
+++ b/graphics/kgraphviewer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381465
-SHA256 (KDE/release-service/25.04.3/kgraphviewer-25.04.3.tar.xz) = 7b79dbccc43e13c26d76b2606b7ec6c2d87e857a116ca2c7150d3188dfdf870f
-SIZE (KDE/release-service/25.04.3/kgraphviewer-25.04.3.tar.xz) = 1595568
+TIMESTAMP = 1765478576
+SHA256 (KDE/release-service/25.12.0/kgraphviewer-25.12.0.tar.xz) = c26ab2f1c63f30ef909bf62dd3f87882947e243256b53c01dc7d4142c70538f6
+SIZE (KDE/release-service/25.12.0/kgraphviewer-25.12.0.tar.xz) = 1606832
diff --git a/graphics/kgraphviewer/pkg-plist b/graphics/kgraphviewer/pkg-plist
index 17f798888de1..e4902f51c686 100644
--- a/graphics/kgraphviewer/pkg-plist
+++ b/graphics/kgraphviewer/pkg-plist
@@ -57,6 +57,8 @@ share/doc/HTML/it/kgraphviewer/index.cache.bz2
share/doc/HTML/it/kgraphviewer/index.docbook
share/doc/HTML/nl/kgraphviewer/index.cache.bz2
share/doc/HTML/nl/kgraphviewer/index.docbook
+share/doc/HTML/pt_BR/kgraphviewer/index.cache.bz2
+share/doc/HTML/pt_BR/kgraphviewer/index.docbook
share/doc/HTML/sl/kgraphviewer/index.cache.bz2
share/doc/HTML/sl/kgraphviewer/index.docbook
share/doc/HTML/sv/kgraphviewer/index.cache.bz2
@@ -113,6 +115,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/khronos-texture/Makefile b/graphics/khronos-texture/Makefile
index 461d78910ecc..d64027bf71e8 100644
--- a/graphics/khronos-texture/Makefile
+++ b/graphics/khronos-texture/Makefile
@@ -1,6 +1,6 @@
PORTNAME= khronos-texture
DISTVERSIONPREFIX= v
-DISTVERSION= 4.4.0
+DISTVERSION= 4.4.2
CATEGORIES= graphics
MAINTAINER= vvd@FreeBSD.org
diff --git a/graphics/khronos-texture/distinfo b/graphics/khronos-texture/distinfo
index f26fd93932dc..0baf291185a9 100644
--- a/graphics/khronos-texture/distinfo
+++ b/graphics/khronos-texture/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743426936
-SHA256 (KhronosGroup-KTX-Software-v4.4.0_GH0.tar.gz) = 3585d76edcdcbe3a671479686f8c81c1c10339f419e4b02a9a6f19cc6e4e0612
-SIZE (KhronosGroup-KTX-Software-v4.4.0_GH0.tar.gz) = 212537991
+TIMESTAMP = 1759600000
+SHA256 (KhronosGroup-KTX-Software-v4.4.2_GH0.tar.gz) = 9412cb45045a503005acd47d98f9e8b47154634a50b4df21e17a1dfa8971d323
+SIZE (KhronosGroup-KTX-Software-v4.4.2_GH0.tar.gz) = 212599126
diff --git a/graphics/kimagemapeditor/distinfo b/graphics/kimagemapeditor/distinfo
index e0e6233beacf..cae71c3d7e11 100644
--- a/graphics/kimagemapeditor/distinfo
+++ b/graphics/kimagemapeditor/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381467
-SHA256 (KDE/release-service/25.04.3/kimagemapeditor-25.04.3.tar.xz) = 18a0117e8d55530e6a83a57845b142cfa4951f1ce33c870122077eb229089640
-SIZE (KDE/release-service/25.04.3/kimagemapeditor-25.04.3.tar.xz) = 1077212
+TIMESTAMP = 1765478579
+SHA256 (KDE/release-service/25.12.0/kimagemapeditor-25.12.0.tar.xz) = e1b79a411472ac7b57c0723d86a1dbbc2ba8574027f5c157a5c823150fdff9d3
+SIZE (KDE/release-service/25.12.0/kimagemapeditor-25.12.0.tar.xz) = 1077304
diff --git a/graphics/kolourpaint/Makefile b/graphics/kolourpaint/Makefile
index 30f06b00a03e..fdf71bf114a3 100644
--- a/graphics/kolourpaint/Makefile
+++ b/graphics/kolourpaint/Makefile
@@ -6,17 +6,16 @@ MAINTAINER= kde@FreeBSD.org
COMMENT= KDE paint program
WWW= http://www.kolourpaint.org
-USES= cmake compiler:c++11-lang desktop-file-utils gettext kde:6 \
- qt:6 tar:xz xorg
-USE_KDE= auth bookmarks codecs completion config configwidgets \
- coreaddons crash guiaddons i18n iconthemes itemmodels \
- itemviews jobwidgets kio libkexiv2 libksane notifications \
- parts service solid sonnet textwidgets unitconversion \
- widgetsaddons windowsystem xmlgui \
+USES= cmake compiler:c++17-lang desktop-file-utils gettext-tools gl \
+ kde:6 qt:6 tar:xz xorg
+USE_GL= opengl
+USE_KDE= bookmarks colorscheme completion config configwidgets \
+ coreaddons crash guiaddons i18n itemviews jobwidgets kio \
+ libksane service solid widgetsaddons xmlgui \
ecm:build
+USE_LDCONFIG= yes
USE_QT= base
USE_XORG= x11
-USE_LDCONFIG= yes
OPTIONS_DEFINE= DOCS
diff --git a/graphics/kolourpaint/distinfo b/graphics/kolourpaint/distinfo
index e04df4d2be8c..d0208125c201 100644
--- a/graphics/kolourpaint/distinfo
+++ b/graphics/kolourpaint/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381470
-SHA256 (KDE/release-service/25.04.3/kolourpaint-25.04.3.tar.xz) = 819b9bad15d927b150b95ac71d398f04df392762b848bb6be619e3fda3357d1f
-SIZE (KDE/release-service/25.04.3/kolourpaint-25.04.3.tar.xz) = 5314956
+TIMESTAMP = 1765478581
+SHA256 (KDE/release-service/25.12.0/kolourpaint-25.12.0.tar.xz) = b05952459275f2580f93e115ec1521a949dfdc3ac062cb43b5c622e2d420e3bf
+SIZE (KDE/release-service/25.12.0/kolourpaint-25.12.0.tar.xz) = 5317724
diff --git a/graphics/kolourpaint/pkg-plist b/graphics/kolourpaint/pkg-plist
index ff897f76c5fd..c0aab3952d85 100644
--- a/graphics/kolourpaint/pkg-plist
+++ b/graphics/kolourpaint/pkg-plist
@@ -8,6 +8,11 @@ share/icons/hicolor/22x22/apps/kolourpaint.png
share/icons/hicolor/32x32/apps/kolourpaint.png
share/icons/hicolor/48x48/apps/kolourpaint.png
share/icons/hicolor/scalable/apps/kolourpaint.svgz
+%%DATADIR%%/colors/40.colors
+%%DATADIR%%/colors/Oxygen.colors
+%%DATADIR%%/colors/Rainbow.colors
+%%DATADIR%%/colors/Royal.colors
+%%DATADIR%%/colors/Web.colors
%%DATADIR%%/icons/hicolor/16x16/actions/tool_brush.png
%%DATADIR%%/icons/hicolor/16x16/actions/tool_color_eraser.png
%%DATADIR%%/icons/hicolor/16x16/actions/tool_color_picker.png
diff --git a/graphics/kontrast/Makefile b/graphics/kontrast/Makefile
index a9b069d7967d..fd4662cc1a03 100644
--- a/graphics/kontrast/Makefile
+++ b/graphics/kontrast/Makefile
@@ -6,7 +6,7 @@ MAINTAINER= kde@FreeBSD.org
COMMENT= Color contrast checker
WWW= https://apps.kde.org/en/kontrast
-LIB_DEPENDS= libQCoro6Core.so:devel/qcoro@qt6 \
+LIB_DEPENDS= libQCoro6Core.so:devel/qcoro \
libfuturesql6.so:databases/futuresql
USES= cmake compiler:c++11-lang gettext kde:6 pkgconfig qt:6 tar:xz
diff --git a/graphics/kontrast/distinfo b/graphics/kontrast/distinfo
index 12e4ccd689f5..81d3c29768e7 100644
--- a/graphics/kontrast/distinfo
+++ b/graphics/kontrast/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381472
-SHA256 (KDE/release-service/25.04.3/kontrast-25.04.3.tar.xz) = 5cc134f4af4c6dabbae7df83c8945c3986cb9ae0455d0d315517fa96905eecf8
-SIZE (KDE/release-service/25.04.3/kontrast-25.04.3.tar.xz) = 219564
+TIMESTAMP = 1765478584
+SHA256 (KDE/release-service/25.12.0/kontrast-25.12.0.tar.xz) = b73d0b53b50a8a6602cfa067963d84cbef8367cd00fa5c0447d375ce61fd2358
+SIZE (KDE/release-service/25.12.0/kontrast-25.12.0.tar.xz) = 219776
diff --git a/graphics/kqtquickcharts/Makefile b/graphics/kqtquickcharts/Makefile
index 1271f59038bd..28993d92cb06 100644
--- a/graphics/kqtquickcharts/Makefile
+++ b/graphics/kqtquickcharts/Makefile
@@ -4,16 +4,13 @@ CATEGORIES= graphics kde kde-applications
MAINTAINER= kde@FreeBSD.org
COMMENT= QtQuick plugin to render interactive charts
-WWW= https://github.com/KDE/kqtquickcharts
+WWW= https://invent.kde.org/libraries/kqtquickcharts
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
-USES= cmake compiler:c++11-lang kde:5 qt:5 tar:xz
+USES= cmake compiler:c++17-lang kde:6 qt:6 tar:xz
USE_KDE= ecm:build
-USE_QT= core declarative gui network \
- buildtools:build qmake:build
-
-OPTIONS_DEFINE= DOCS
+USE_QT= base declarative
.include <bsd.port.mk>
diff --git a/graphics/kqtquickcharts/distinfo b/graphics/kqtquickcharts/distinfo
index d13c571db276..a232f7260046 100644
--- a/graphics/kqtquickcharts/distinfo
+++ b/graphics/kqtquickcharts/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381475
-SHA256 (KDE/release-service/25.04.3/kqtquickcharts-25.04.3.tar.xz) = 6df9523d905944957d227aec009cdf45f202b279296269dde8f63a02b549c028
-SIZE (KDE/release-service/25.04.3/kqtquickcharts-25.04.3.tar.xz) = 30856
+TIMESTAMP = 1765478586
+SHA256 (KDE/release-service/25.12.0/kqtquickcharts-25.12.0.tar.xz) = b68b8b04f2bae46b8cc6031e5db5f9713d0e01a37096a2ad57c6dba3da8c6853
+SIZE (KDE/release-service/25.12.0/kqtquickcharts-25.12.0.tar.xz) = 30852
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..a7420087a194 100644
--- a/graphics/krita/Makefile
+++ b/graphics/krita/Makefile
@@ -1,6 +1,6 @@
PORTNAME= krita
-DISTVERSION= 5.2.9
-PORTREVISION= 3
+DISTVERSION= 5.2.13
+PORTREVISION= 1
CATEGORIES= graphics kde
MASTER_SITES= KDE/stable/${PORTNAME}/${DISTVERSION}
DIST_SUBDIR= KDE/${PORTNAME}
diff --git a/graphics/krita/distinfo b/graphics/krita/distinfo
index abaf69d93512..db6eeedb974f 100644
--- a/graphics/krita/distinfo
+++ b/graphics/krita/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1740103571
-SHA256 (KDE/krita/krita-5.2.9.tar.xz) = f74e710e6d93ddd593fa0b249a64006ed4121a64ce7f95ac29aaa332a7e6e53e
-SIZE (KDE/krita/krita-5.2.9.tar.xz) = 186574780
+TIMESTAMP = 1759130587
+SHA256 (KDE/krita/krita-5.2.13.tar.xz) = ddd3955d77a9d760499466c9e7e11a51e080020ee52e929e2579a0aab600b45a
+SIZE (KDE/krita/krita-5.2.13.tar.xz) = 191046020
diff --git a/graphics/krita/files/patch-3rdparty__vendor_raqm_CMakeLists.txt b/graphics/krita/files/patch-3rdparty__vendor_raqm_CMakeLists.txt
deleted file mode 100644
index 9dc5f6e6a1dd..000000000000
--- a/graphics/krita/files/patch-3rdparty__vendor_raqm_CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-Fix linker errors. We need to build with -fPIC.
-
---- 3rdparty_vendor/raqm/CMakeLists.txt.orig 2023-10-04 08:06:16 UTC
-+++ 3rdparty_vendor/raqm/CMakeLists.txt
-@@ -86,6 +86,7 @@ set_property(TARGET libraqm PROPERTY C_STANDARD 99)
-
- add_library(libraqm STATIC ${libraqm_SRC})
- set_property(TARGET libraqm PROPERTY C_STANDARD 99)
-+set_property(TARGET libraqm PROPERTY POSITION_INDEPENDENT_CODE ON)
-
- target_include_directories(libraqm INTERFACE ${libraqm_src_SOURCE_DIR}/src)
- target_include_directories(libraqm PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
diff --git a/graphics/ksanecore/Makefile b/graphics/ksanecore/Makefile
index c4be293c1ced..ba59b9a4eac5 100644
--- a/graphics/ksanecore/Makefile
+++ b/graphics/ksanecore/Makefile
@@ -9,10 +9,8 @@ WWW= https://invent.kde.org/libraries/ksanecore
LIB_DEPENDS= libsane.so:graphics/sane-backends
USES= cmake compiler:c++11-lang gettext kde:6 qt:6 tar:xz
-USE_KDE= ecm:build
+USE_KDE= i18n ecm:build
USE_QT= base
USE_LDCONFIG= yes
-OPTIONS_DEFINE= DOCS
-
.include <bsd.port.mk>
diff --git a/graphics/ksanecore/distinfo b/graphics/ksanecore/distinfo
index 7bedb5fb8837..a99d539c9cef 100644
--- a/graphics/ksanecore/distinfo
+++ b/graphics/ksanecore/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381477
-SHA256 (KDE/release-service/25.04.3/ksanecore-25.04.3.tar.xz) = e5a8fdda44d4a27f0c90c2b808e48a737999ec200fd0b70f75fabb33a9013302
-SIZE (KDE/release-service/25.04.3/ksanecore-25.04.3.tar.xz) = 53972
+TIMESTAMP = 1765478589
+SHA256 (KDE/release-service/25.12.0/ksanecore-25.12.0.tar.xz) = 617d01d96ea78bad4c3d681517e64b16f037f9ca387c25a05ecefbc59e3cdb32
+SIZE (KDE/release-service/25.12.0/ksanecore-25.12.0.tar.xz) = 54192
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..e167138bd0ae 100644
--- a/graphics/lazpaint/Makefile
+++ b/graphics/lazpaint/Makefile
@@ -1,7 +1,7 @@
PORTNAME= lazpaint
PORTVERSION= 7.3
DISTVERSIONPREFIX= v
-PORTREVISION= 6
+PORTREVISION= 8
CATEGORIES= graphics
PKGNAMESUFFIX= ${LAZARUS_PKGNAMESUFFIX}
diff --git a/graphics/leptonica/Makefile b/graphics/leptonica/Makefile
index faf9f7e14b84..c5195a5c62ee 100644
--- a/graphics/leptonica/Makefile
+++ b/graphics/leptonica/Makefile
@@ -1,12 +1,11 @@
PORTNAME= leptonica
-DISTVERSION= 1.82.0
-PORTREVISION= 2
+DISTVERSION= 1.86.0
CATEGORIES= graphics
-MASTER_SITES= https://github.com/DanBloomberg/${PORTNAME}/releases/download/${DISTVERSION}/ \
+MASTER_SITES= https://github.com/user-attachments/files/22412990/ \
http://www.${PORTNAME}.org/source/
-PATCH_SITES= https://github.com/DanBloomberg/leptonica/commit/
-PATCHFILES= b282ed9482e335439ccc429d4cd1dba517ba0c4d.patch:-p1
+PATCH_SITES= https://github.com/DanBloomberg/leptonica/commit/
+PATCHFILES= e0936377f9094b72f7f2ea6bc34311ccc69b2f71.patch:-p1
MAINTAINER= hiroto.kagotani@gmail.com
COMMENT= C library for efficient image processing and image analysis operations
@@ -15,7 +14,7 @@ WWW= http://www.leptonica.org/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/leptonica-license.txt
-USES= cmake cpe localbase pkgconfig
+USES= cmake cpe localbase pathfix pkgconfig
USE_LDCONFIG= yes
CONFLICTS= leptonlib
@@ -29,26 +28,32 @@ OPTIONS_SUB= yes
BIN_DESC= Build additional programs
BIN_CMAKE_BOOL= BUILD_PROG
+
GIF_LIB_DEPENDS= libgif.so:graphics/giflib
-GIF_CMAKE_OFF= CMAKE_DISABLE_FIND_PACKAGE_GIF:BOOL=True
+GIF_CMAKE_BOOL= ENABLE_GIF
+
JPEG2000_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg
-JPEG2000_CMAKE_BOOL= OPENJPEG_SUPPORT
+JPEG2000_CMAKE_BOOL= ENABLE_OPENJPEG
+
JPEG_USES= jpeg
-JPEG_CMAKE_OFF= CMAKE_DISABLE_FIND_PACKAGE_JPEG:BOOL=True
+JPEG_CMAKE_BOOL= ENABLE_JPEG
+
PNG_LIB_DEPENDS= libpng.so:graphics/png
-PNG_CMAKE_OFF= CMAKE_DISABLE_FIND_PACKAGE_PNG:BOOL=True
+PNG_CMAKE_BOOL= ENABLE_PNG
+
TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
-TIFF_CMAKE_OFF= CMAKE_DISABLE_FIND_PACKAGE_TIFF
+TIFF_CMAKE_BOOL= ENABLE_TIFF
+
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
-WEBP_CMAKE_BOOL= LIBWEBP_SUPPORT
+WEBP_CMAKE_BOOL= ENABLE_WEBP
post-install:
- ${RLN} ${STAGEDIR}${PREFIX}/lib/libleptonica.so.5.4.0 \
+ ${RLN} ${STAGEDIR}${PREFIX}/lib/libleptonica.so.6.0.0 \
${STAGEDIR}${PREFIX}/lib/liblept.so
- ${RLN} ${STAGEDIR}${PREFIX}/lib/libleptonica.so.5.4.0 \
- ${STAGEDIR}${PREFIX}/lib/liblept.so.5
- ${RLN} ${STAGEDIR}${PREFIX}/lib/libleptonica.so.5.4.0 \
- ${STAGEDIR}${PREFIX}/lib/liblept.so.5.4.0
+ ${RLN} ${STAGEDIR}${PREFIX}/lib/libleptonica.so.6.0.0 \
+ ${STAGEDIR}${PREFIX}/lib/liblept.so.6
+ ${RLN} ${STAGEDIR}${PREFIX}/lib/libleptonica.so.6.0.0 \
+ ${STAGEDIR}${PREFIX}/lib/liblept.so.6.0.0
${MKDIR} ${STAGEDIR}${PREFIX}/share/cmake/Modules
${INSTALL_DATA} ${WRKSRC}/cmake/FindLeptonica.cmake \
${STAGEDIR}${PREFIX}/share/cmake/Modules/
diff --git a/graphics/leptonica/distinfo b/graphics/leptonica/distinfo
index cd3da62ff805..9f9418b07b85 100644
--- a/graphics/leptonica/distinfo
+++ b/graphics/leptonica/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1641427253
-SHA256 (leptonica-1.82.0.tar.gz) = 155302ee914668c27b6fe3ca9ff2da63b245f6d62f3061c8f27563774b8ae2d6
-SIZE (leptonica-1.82.0.tar.gz) = 14041481
-SHA256 (b282ed9482e335439ccc429d4cd1dba517ba0c4d.patch) = 5a9b7afa4adf0d72338c38ff802f4b312bcee3f06bde697177b905d3c7a60a38
-SIZE (b282ed9482e335439ccc429d4cd1dba517ba0c4d.patch) = 13952
+TIMESTAMP = 1758372665
+SHA256 (leptonica-1.86.0.tar.gz) = 1fa08e40bb37fd45802d5e6e7b43927449a5c47d4608ef99d3bd3f0fa76baedc
+SIZE (leptonica-1.86.0.tar.gz) = 14802116
+SHA256 (e0936377f9094b72f7f2ea6bc34311ccc69b2f71.patch) = f411e8f7a7bb7d4996c7e1e7e0f7ca49aae189e1269efd17b466fe9c069e020d
+SIZE (e0936377f9094b72f7f2ea6bc34311ccc69b2f71.patch) = 3323
diff --git a/graphics/leptonica/files/patch-openjpeg-2.5 b/graphics/leptonica/files/patch-openjpeg-2.5
deleted file mode 100644
index 4b4e95a9457e..000000000000
--- a/graphics/leptonica/files/patch-openjpeg-2.5
+++ /dev/null
@@ -1,59 +0,0 @@
-diff -u CMakeLists.txt.orig CMakeLists.txt
---- CMakeLists.txt.orig
-+++ CMakeLists.txt
-@@ -141,6 +141,17 @@
- set(HAVE_LIBJP2K 1)
- endif()
- endif()
-+ if(NOT JP2K)
-+ find_path(JP2K_INCLUDE_DIR /openjpeg-2.5/openjpeg.h)
-+ find_library(JP2K_LIBRARY NAMES openjp2)
-+ if (JP2K_INCLUDE_DIR AND JP2K_LIBRARY)
-+ set(JP2K 1)
-+ set(JP2K_FOUND TRUE)
-+ set(JP2K_LIBRARIES ${JP2K_LIBRARY})
-+ set(JP2K_INCLUDE_DIRS ${JP2K_INCLUDE_DIR})
-+ set(HAVE_LIBJP2K 1)
-+ endif()
-+ endif()
- set(libs_private "${libs_private} -lopenjp2")
- endif()
- endif()
-diff -u cmake/Configure.cmake.orig cmake/Configure.cmake
---- cmake/Configure.cmake.orig
-+++ cmake/Configure.cmake
-@@ -69,6 +69,7 @@
- openjpeg-2.2/openjpeg.h
- openjpeg-2.3/openjpeg.h
- openjpeg-2.4/openjpeg.h
-+ openjpeg-2.5/openjpeg.h
- )
- check_includes(include_files_list)
-
-@@ -146,7 +147,9 @@
- /* Define to 1 if you have zlib. */
- #cmakedefine HAVE_LIBZ 1
-
--#if defined(HAVE_OPENJPEG_2_4_OPENJPEG_H)
-+#if defined(HAVE_OPENJPEG_2_5_OPENJPEG_H)
-+#define LIBJP2K_HEADER <openjpeg-2.5/openjpeg.h>
-+#elif defined(HAVE_OPENJPEG_2_4_OPENJPEG_H)
- #define LIBJP2K_HEADER <openjpeg-2.4/openjpeg.h>
- #elif defined(HAVE_OPENJPEG_2_3_OPENJPEG_H)
- #define LIBJP2K_HEADER <openjpeg-2.3/openjpeg.h>
-diff -u config/config.h.in.orig config/config.h.in
---- config/config.h.in.orig
-+++ config/config.h.in
-@@ -51,6 +51,12 @@
- /* Define to 1 if you have the <openjpeg-2.3/openjpeg.h> header file. */
- #undef HAVE_OPENJPEG_2_3_OPENJPEG_H
-
-+/* Define to 1 if you have the <openjpeg-2.4/openjpeg.h> header file. */
-+#undef HAVE_OPENJPEG_2_4_OPENJPEG_H
-+
-+/* Define to 1 if you have the <openjpeg-2.5/openjpeg.h> header file. */
-+#undef HAVE_OPENJPEG_2_5_OPENJPEG_H
-+
- /* Define to 1 if you have the <stdint.h> header file. */
- #undef HAVE_STDINT_H
-
diff --git a/graphics/leptonica/pkg-plist b/graphics/leptonica/pkg-plist
index b4f431a774dc..558d7268cea7 100644
--- a/graphics/leptonica/pkg-plist
+++ b/graphics/leptonica/pkg-plist
@@ -11,6 +11,7 @@
include/leptonica/allheaders.h
include/leptonica/alltypes.h
include/leptonica/array.h
+include/leptonica/array_internal.h
include/leptonica/arrayaccess.h
include/leptonica/bbuffer.h
include/leptonica/bilateral.h
@@ -18,6 +19,7 @@ include/leptonica/bmf.h
include/leptonica/bmfdata.h
include/leptonica/bmp.h
include/leptonica/ccbord.h
+include/leptonica/ccbord_internal.h
include/leptonica/colorfill.h
include/leptonica/dewarp.h
include/leptonica/endianness.h
@@ -31,6 +33,7 @@ include/leptonica/leptwin.h
include/leptonica/list.h
include/leptonica/morph.h
include/leptonica/pix.h
+include/leptonica/pix_internal.h
include/leptonica/ptra.h
include/leptonica/queue.h
include/leptonica/rbtree.h
@@ -46,10 +49,10 @@ lib/cmake/leptonica/LeptonicaConfig.cmake
lib/cmake/leptonica/LeptonicaTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/leptonica/LeptonicaTargets.cmake
lib/liblept.so
-lib/liblept.so.5
-lib/liblept.so.5.4.0
+lib/liblept.so.6
+lib/liblept.so.6.0.0
lib/libleptonica.so
-lib/libleptonica.so.5
-lib/libleptonica.so.5.4.0
+lib/libleptonica.so.6
+lib/libleptonica.so.6.0.0
libdata/pkgconfig/lept.pc
share/cmake/Modules/FindLeptonica.cmake
diff --git a/graphics/libavif/Makefile b/graphics/libavif/Makefile
index 7b8a8e1ad561..6c7729de2c8d 100644
--- a/graphics/libavif/Makefile
+++ b/graphics/libavif/Makefile
@@ -1,7 +1,7 @@
PORTNAME= libavif
PORTVERSION= 1.3.0
DISTVERSIONPREFIX= v
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/graphics/libbpg/Makefile b/graphics/libbpg/Makefile
index 3c346ea346b3..aea1d4646198 100644
--- a/graphics/libbpg/Makefile
+++ b/graphics/libbpg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libbpg
PORTVERSION= 0.9.8
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MASTER_SITES= http://bellard.org/bpg/
diff --git a/graphics/libdrm/Makefile b/graphics/libdrm/Makefile
index 2abb09e5b2d8..14099f57b2f3 100644
--- a/graphics/libdrm/Makefile
+++ b/graphics/libdrm/Makefile
@@ -1,5 +1,5 @@
PORTNAME= libdrm
-PORTVERSION= 2.4.123
+PORTVERSION= 2.4.131
PORTEPOCH= 1
CATEGORIES= graphics
MASTER_SITES= https://dri.freedesktop.org/libdrm/
diff --git a/graphics/libdrm/distinfo b/graphics/libdrm/distinfo
index 4c455accbad7..fa0ecd03aed1 100644
--- a/graphics/libdrm/distinfo
+++ b/graphics/libdrm/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1724737709
-SHA256 (libdrm-2.4.123.tar.xz) = a2b98567a149a74b0f50e91e825f9c0315d86e7be9b74394dae8b298caadb79e
-SIZE (libdrm-2.4.123.tar.xz) = 481112
+TIMESTAMP = 1765539357
+SHA256 (libdrm-2.4.131.tar.xz) = 45ba9983b51c896406a3d654de81d313b953b76e6391e2797073d543c5f617d5
+SIZE (libdrm-2.4.131.tar.xz) = 435808
diff --git a/graphics/libdrm/pkg-plist b/graphics/libdrm/pkg-plist
index 5dd10b229705..dcd1752c7216 100644
--- a/graphics/libdrm/pkg-plist
+++ b/graphics/libdrm/pkg-plist
@@ -41,16 +41,16 @@ include/xf86drm.h
include/xf86drmMode.h
lib/libdrm.so
lib/libdrm.so.2
-lib/libdrm.so.2.123.0
+lib/libdrm.so.2.131.0
%%AMD_DRIVERS%%lib/libdrm_amdgpu.so
%%AMD_DRIVERS%%lib/libdrm_amdgpu.so.1
-%%AMD_DRIVERS%%lib/libdrm_amdgpu.so.1.123.0
+%%AMD_DRIVERS%%lib/libdrm_amdgpu.so.1.131.0
%%INTEL_DRIVER%%lib/libdrm_intel.so
%%INTEL_DRIVER%%lib/libdrm_intel.so.1
-%%INTEL_DRIVER%%lib/libdrm_intel.so.1.123.0
+%%INTEL_DRIVER%%lib/libdrm_intel.so.1.131.0
%%RADEON_DRIVERS%%lib/libdrm_radeon.so
%%RADEON_DRIVERS%%lib/libdrm_radeon.so.1
-%%RADEON_DRIVERS%%lib/libdrm_radeon.so.1.123.0
+%%RADEON_DRIVERS%%lib/libdrm_radeon.so.1.131.0
libdata/pkgconfig/libdrm.pc
%%AMD_DRIVERS%%libdata/pkgconfig/libdrm_amdgpu.pc
%%INTEL_DRIVER%%libdata/pkgconfig/libdrm_intel.pc
diff --git a/graphics/libetonyek01/Makefile b/graphics/libetonyek01/Makefile
index ec330333ec5a..159a4a069474 100644
--- a/graphics/libetonyek01/Makefile
+++ b/graphics/libetonyek01/Makefile
@@ -1,6 +1,5 @@
PORTNAME= libetonyek
-DISTVERSION= 0.1.12
-PORTREVISION= 1
+DISTVERSION= 0.1.13
PORTEPOCH= 1
CATEGORIES= graphics
MASTER_SITES= LODEV/${PORTNAME}
@@ -27,7 +26,7 @@ USE_LDCONFIG= yes
GNU_CONFIGURE= yes
-MDDS_VERSION= 2.1
+MDDS_VERSION= 3.1
INSTALL_TARGET= install-strip
diff --git a/graphics/libetonyek01/distinfo b/graphics/libetonyek01/distinfo
index e0c20b44dd43..a5e2694f9f4f 100644
--- a/graphics/libetonyek01/distinfo
+++ b/graphics/libetonyek01/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1733387433
-SHA256 (libetonyek-0.1.12.tar.xz) = b9fa82fbeb8cb7a701101060e4f3e1e4ef7c38f574b2859d3ecbe43604c21f83
-SIZE (libetonyek-0.1.12.tar.xz) = 1513688
+TIMESTAMP = 1759747097
+SHA256 (libetonyek-0.1.13.tar.xz) = 032b71cb597edd92a0b270b916188281bc35be55296b263f6817b29adbcb1709
+SIZE (libetonyek-0.1.13.tar.xz) = 1514256
diff --git a/graphics/libetonyek01/files/patch-configure b/graphics/libetonyek01/files/patch-configure
new file mode 100644
index 000000000000..9bf4bd1ac3a4
--- /dev/null
+++ b/graphics/libetonyek01/files/patch-configure
@@ -0,0 +1,22 @@
+--- configure.orig 2024-11-26 10:12:06 UTC
++++ configure
+@@ -1552,8 +1552,8 @@ Optional Packages:
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+- --with-mdds=2.1|2.0|1.5|1.4|1.2|1.0|0.x
+- Specify which version of mdds to use (2.1 is the
++ --with-mdds=3.1|3.0|2.1|2.0|1.5|1.4|1.2|1.0|0.x
++ Specify which version of mdds to use (3.1 is the
+ default)
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
+ both]
+@@ -3741,7 +3741,7 @@ else $as_nop
+ then :
+ withval=$with_mdds;
+ else $as_nop
+- with_mdds="2.1"
++ with_mdds="3.1"
+ fi
+
+
diff --git a/graphics/libetonyek01/files/patch-src_lib_IWORKTable.cpp b/graphics/libetonyek01/files/patch-src_lib_IWORKTable.cpp
new file mode 100644
index 000000000000..897139d22224
--- /dev/null
+++ b/graphics/libetonyek01/files/patch-src_lib_IWORKTable.cpp
@@ -0,0 +1,13 @@
+* ``is_tree_valid()`` method has been renamed to ``valid_tree()``in mdds-3.0
+
+--- src/lib/IWORKTable.cpp.orig 2024-11-05 21:56:01 UTC
++++ src/lib/IWORKTable.cpp
+@@ -168,7 +168,7 @@ void writeBorder(librevenge::RVNGPropertyList &props,
+
+ void writeBorder(librevenge::RVNGPropertyList &props, const char *name, IWORKGridLine_t &line, unsigned index)
+ {
+- if (!line.is_tree_valid())
++ if (!line.valid_tree())
+ line.build_tree();
+
+ IWORKStylePtr_t style;
diff --git a/graphics/libgeotiff/Makefile b/graphics/libgeotiff/Makefile
index 58725d4b62e5..5277b81faafd 100644
--- a/graphics/libgeotiff/Makefile
+++ b/graphics/libgeotiff/Makefile
@@ -1,5 +1,6 @@
PORTNAME= libgeotiff
PORTVERSION= 1.7.4
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://github.com/OSGeo/libgeotiff/releases/download/${PORTVERSION}/ \
https://download.osgeo.org/geotiff/libgeotiff/
diff --git a/graphics/libheif/Makefile b/graphics/libheif/Makefile
index b317dec2dacc..438575850f45 100644
--- a/graphics/libheif/Makefile
+++ b/graphics/libheif/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libheif
DISTVERSION= 1.19.8
-PORTREVISION= 1
+PORTREVISION= 5
CATEGORIES= graphics
MASTER_SITES= https://github.com/strukturag/${PORTNAME}/releases/download/v${DISTVERSION}/
diff --git a/graphics/libimagequant/Makefile b/graphics/libimagequant/Makefile
index acff213ed8dc..995f4bd48725 100644
--- a/graphics/libimagequant/Makefile
+++ b/graphics/libimagequant/Makefile
@@ -1,9 +1,8 @@
PORTNAME= libimagequant
-PORTVERSION= 4.3.4
-PORTREVISION= 4
+PORTVERSION= 4.4.1
CATEGORIES= graphics
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= Image Quantization Library
WWW= https://pngquant.org/lib/
@@ -13,18 +12,24 @@ LICENSE_FILE= ${WRKSRC}/COPYRIGHT
BUILD_DEPENDS= cargo-cbuild:devel/cargo-c
USES= cargo
+
USE_GITHUB= yes
-USE_LDCONFIG= yes
GH_ACCOUNT= ImageOptim
+
+USE_LDCONFIG= yes
+
CARGO_BUILD_ARGS= --package imagequant-sys
CARGO_INSTALL_ARGS:= ${CARGO_BUILD_ARGS}
+
PLIST_FILES= include/libimagequant.h \
lib/libimagequant.a \
lib/libimagequant.so \
- lib/libimagequant.so.0.4 \
- lib/libimagequant.so.0.4.0 \
+ lib/libimagequant.so.${SOVERSION:R} \
+ lib/libimagequant.so.${SOVERSION} \
libdata/pkgconfig/imagequant.pc
+SOVERSION= 0.4.1
+
do-build:
@${CARGO_CARGO_RUN} cbuild \
--verbose \
diff --git a/graphics/libimagequant/Makefile.crates b/graphics/libimagequant/Makefile.crates
index 84c2fd6788e4..bbba01e6add6 100644
--- a/graphics/libimagequant/Makefile.crates
+++ b/graphics/libimagequant/Makefile.crates
@@ -1,21 +1,25 @@
-CARGO_CRATES= adler2-2.0.0 \
+CARGO_CRATES= adler2-2.0.1 \
arrayvec-0.7.6 \
- bitflags-2.8.0 \
- bytemuck-1.21.0 \
- cc-1.2.10 \
- cfg-if-1.0.0 \
- crc32fast-1.4.2 \
+ bitflags-2.10.0 \
+ bytemuck-1.24.0 \
+ cc-1.2.46 \
+ cfg-if-1.0.4 \
+ crc32fast-1.5.0 \
crossbeam-deque-0.8.6 \
crossbeam-epoch-0.9.18 \
crossbeam-utils-0.8.21 \
- either-1.13.0 \
- flate2-1.0.35 \
- libc-0.2.169 \
- lodepng-3.11.0 \
- miniz_oxide-0.8.3 \
- once_cell-1.20.2 \
- rayon-1.10.0 \
- rayon-core-1.12.1 \
- rgb-0.8.50 \
+ either-1.15.0 \
+ find-msvc-tools-0.1.5 \
+ flate2-1.1.5 \
+ libc-0.2.177 \
+ libz-rs-sys-0.5.2 \
+ lodepng-3.12.1 \
+ miniz_oxide-0.8.9 \
+ once_cell-1.21.3 \
+ rayon-1.11.0 \
+ rayon-core-1.13.0 \
+ rgb-0.8.52 \
shlex-1.3.0 \
- thread_local-1.1.8
+ simd-adler32-0.3.7 \
+ thread_local-1.1.9 \
+ zlib-rs-0.5.2
diff --git a/graphics/libimagequant/distinfo b/graphics/libimagequant/distinfo
index 72c258bf2f45..afb0de05848b 100644
--- a/graphics/libimagequant/distinfo
+++ b/graphics/libimagequant/distinfo
@@ -1,45 +1,53 @@
-TIMESTAMP = 1737655933
-SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
-SIZE (rust/crates/adler2-2.0.0.crate) = 13529
+TIMESTAMP = 1763454271
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
-SHA256 (rust/crates/bitflags-2.8.0.crate) = 8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36
-SIZE (rust/crates/bitflags-2.8.0.crate) = 47482
-SHA256 (rust/crates/bytemuck-1.21.0.crate) = ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3
-SIZE (rust/crates/bytemuck-1.21.0.crate) = 51553
-SHA256 (rust/crates/cc-1.2.10.crate) = 13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229
-SIZE (rust/crates/cc-1.2.10.crate) = 101251
-SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
-SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
-SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+SHA256 (rust/crates/bitflags-2.10.0.crate) = 812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3
+SIZE (rust/crates/bitflags-2.10.0.crate) = 48427
+SHA256 (rust/crates/bytemuck-1.24.0.crate) = 1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4
+SIZE (rust/crates/bytemuck-1.24.0.crate) = 53243
+SHA256 (rust/crates/cc-1.2.46.crate) = b97463e1064cb1b1c1384ad0a0b9c8abd0988e2a91f52606c80ef14aadb63e36
+SIZE (rust/crates/cc-1.2.46.crate) = 92306
+SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
+SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
+SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511
+SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723
SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
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.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
-SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0
-SIZE (rust/crates/either-1.13.0.crate) = 19169
-SHA256 (rust/crates/flate2-1.0.35.crate) = c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c
-SIZE (rust/crates/flate2-1.0.35.crate) = 109188
-SHA256 (rust/crates/libc-0.2.169.crate) = b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a
-SIZE (rust/crates/libc-0.2.169.crate) = 757901
-SHA256 (rust/crates/lodepng-3.11.0.crate) = a7720115060cd38dcfe5c758525a43fd34dc615d0566374212ff0dc3b6151eac
-SIZE (rust/crates/lodepng-3.11.0.crate) = 52160
-SHA256 (rust/crates/miniz_oxide-0.8.3.crate) = b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924
-SIZE (rust/crates/miniz_oxide-0.8.3.crate) = 61827
-SHA256 (rust/crates/once_cell-1.20.2.crate) = 1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775
-SIZE (rust/crates/once_cell-1.20.2.crate) = 33394
-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/rgb-0.8.50.crate) = 57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a
-SIZE (rust/crates/rgb-0.8.50.crate) = 21980
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
+SHA256 (rust/crates/find-msvc-tools-0.1.5.crate) = 3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844
+SIZE (rust/crates/find-msvc-tools-0.1.5.crate) = 30942
+SHA256 (rust/crates/flate2-1.1.5.crate) = bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb
+SIZE (rust/crates/flate2-1.1.5.crate) = 77015
+SHA256 (rust/crates/libc-0.2.177.crate) = 2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976
+SIZE (rust/crates/libc-0.2.177.crate) = 792045
+SHA256 (rust/crates/libz-rs-sys-0.5.2.crate) = 840db8cf39d9ec4dd794376f38acc40d0fc65eec2a8f484f7fd375b84602becd
+SIZE (rust/crates/libz-rs-sys-0.5.2.crate) = 46524
+SHA256 (rust/crates/lodepng-3.12.1.crate) = 77a32335d22e44238e2bb0b4d726964d18952ce1f1279ec3305305d2c61539eb
+SIZE (rust/crates/lodepng-3.12.1.crate) = 52964
+SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316
+SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/rayon-1.11.0.crate) = 368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f
+SIZE (rust/crates/rayon-1.11.0.crate) = 182470
+SHA256 (rust/crates/rayon-core-1.13.0.crate) = 22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91
+SIZE (rust/crates/rayon-core-1.13.0.crate) = 73151
+SHA256 (rust/crates/rgb-0.8.52.crate) = 0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce
+SIZE (rust/crates/rgb-0.8.52.crate) = 22449
SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
SIZE (rust/crates/shlex-1.3.0.crate) = 18713
-SHA256 (rust/crates/thread_local-1.1.8.crate) = 8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c
-SIZE (rust/crates/thread_local-1.1.8.crate) = 13962
-SHA256 (ImageOptim-libimagequant-4.3.4_GH0.tar.gz) = b86f4ac0eb707af88b0a000e2e2409e399c6969c9d0d988efafaff138cebaf96
-SIZE (ImageOptim-libimagequant-4.3.4_GH0.tar.gz) = 88710
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
+SHA256 (rust/crates/thread_local-1.1.9.crate) = f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185
+SIZE (rust/crates/thread_local-1.1.9.crate) = 19315
+SHA256 (rust/crates/zlib-rs-0.5.2.crate) = 2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2
+SIZE (rust/crates/zlib-rs-0.5.2.crate) = 194342
+SHA256 (ImageOptim-libimagequant-4.4.1_GH0.tar.gz) = 2464a3e922b5a220b633d674062b82f0670114f8f3dd30d1935a621c95965f1b
+SIZE (ImageOptim-libimagequant-4.4.1_GH0.tar.gz) = 88873
diff --git a/graphics/libjxl/Makefile b/graphics/libjxl/Makefile
index 5413dc595976..08d50a852845 100644
--- a/graphics/libjxl/Makefile
+++ b/graphics/libjxl/Makefile
@@ -1,7 +1,7 @@
PORTNAME= libjxl
DISTVERSIONPREFIX= v
DISTVERSION= 0.11.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
diff --git a/graphics/libkdcraw/Makefile b/graphics/libkdcraw/Makefile
index 392db9f1bcdb..9cce77478587 100644
--- a/graphics/libkdcraw/Makefile
+++ b/graphics/libkdcraw/Makefile
@@ -5,7 +5,7 @@ PKGNAMESUFFIX?= -${FLAVOR}
MAINTAINER= kde@FreeBSD.org
COMMENT= LibRaw interface for KDE
-WWW= https://www.digikam.org/
+WWW= https://invent.kde.org/graphics/libkdcraw
LICENSE= GPLv2+
diff --git a/graphics/libkdcraw/distinfo b/graphics/libkdcraw/distinfo
index e93e20f65214..ad1d8fbe8492 100644
--- a/graphics/libkdcraw/distinfo
+++ b/graphics/libkdcraw/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381480
-SHA256 (KDE/release-service/25.04.3/libkdcraw-25.04.3.tar.xz) = 4ffd227cf0838c9a46be9f682d2431928e4663ad54de1f765bd8ae258eb110e8
-SIZE (KDE/release-service/25.04.3/libkdcraw-25.04.3.tar.xz) = 37344
+TIMESTAMP = 1765478591
+SHA256 (KDE/release-service/25.12.0/libkdcraw-25.12.0.tar.xz) = 5156401a59784313a660eec0dc553327c21ef0af028fc314525926d12af84fd4
+SIZE (KDE/release-service/25.12.0/libkdcraw-25.12.0.tar.xz) = 37448
diff --git a/graphics/libkexiv2/Makefile b/graphics/libkexiv2/Makefile
index 25aa8d185c2b..79294e16212a 100644
--- a/graphics/libkexiv2/Makefile
+++ b/graphics/libkexiv2/Makefile
@@ -1,26 +1,18 @@
PORTNAME= libkexiv2
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
CATEGORIES= graphics kde kde-applications
-PKGNAMESUFFIX= -${FLAVOR}
+PKGNAMESUFFIX= -qt6
MAINTAINER= kde@FreeBSD.org
COMMENT= Exiv2 library interface for KDE
-WWW= https://www.digikam.org/
-
-FLAVORS= qt6 qt5
-FLAVOR?= qt6
+WWW= https://invent.kde.org/graphics/libkexiv2
LIB_DEPENDS= libexiv2.so:graphics/exiv2
-USES= cmake compiler:c++11-lang kde:${FLAVOR:S/qt//} pkgconfig \
- qt:${FLAVOR:S/qt//} tar:xz
+USES= cmake compiler:c++11-lang kde:6 pkgconfig \
+ qt:6 tar:xz
USE_KDE= ecm:build
-_USE_QT_qt5= core gui buildtools:build qmake:build
-_USE_QT_qt6= base
-USE_QT= ${_USE_QT_${FLAVOR}}
-
+USE_QT= base
USE_LDCONFIG= yes
-PLIST= pkg-plist.${FLAVOR}
-
.include <bsd.port.mk>
diff --git a/graphics/libkexiv2/distinfo b/graphics/libkexiv2/distinfo
index e326d9a001db..4f844cad5669 100644
--- a/graphics/libkexiv2/distinfo
+++ b/graphics/libkexiv2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381482
-SHA256 (KDE/release-service/25.04.3/libkexiv2-25.04.3.tar.xz) = d7b8d791e9db8facf16a95447daa597efaaa6b42d300fa7cbe9d1ff5b9e7b5a8
-SIZE (KDE/release-service/25.04.3/libkexiv2-25.04.3.tar.xz) = 60660
+TIMESTAMP = 1765478594
+SHA256 (KDE/release-service/25.12.0/libkexiv2-25.12.0.tar.xz) = 1deb0fa6f270b588aa3ddd946c42b00a974f79d2fc079f1125ccc8ff0e99b996
+SIZE (KDE/release-service/25.12.0/libkexiv2-25.12.0.tar.xz) = 60116
diff --git a/graphics/libkexiv2/pkg-plist b/graphics/libkexiv2/pkg-plist
index 05ea91de27d0..ce7acb0b7b5d 100644
--- a/graphics/libkexiv2/pkg-plist
+++ b/graphics/libkexiv2/pkg-plist
@@ -1,18 +1,18 @@
-include/KF5/KExiv2/KExiv2/KExiv2
-include/KF5/KExiv2/KExiv2/KExiv2Data
-include/KF5/KExiv2/KExiv2/KExiv2Previews
-include/KF5/KExiv2/KExiv2/RotationMatrix
-include/KF5/KExiv2/kexiv2/kexiv2.h
-include/KF5/KExiv2/kexiv2/kexiv2data.h
-include/KF5/KExiv2/kexiv2/kexiv2previews.h
-include/KF5/KExiv2/kexiv2/libkexiv2_export.h
-include/KF5/KExiv2/kexiv2/rotationmatrix.h
-include/KF5/KExiv2/libkexiv2_version.h
-lib/cmake/KF5KExiv2/KF5KExiv2Config.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2ConfigVersion.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2Targets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2Targets.cmake
-lib/libKF5KExiv2.so
-lib/libKF5KExiv2.so.15.0.0
-lib/libKF5KExiv2.so.5.0.0
-share/qlogging-categories5/libkexiv2.categories
+include/KExiv2Qt6/KExiv2/KExiv2
+include/KExiv2Qt6/KExiv2/KExiv2Data
+include/KExiv2Qt6/KExiv2/KExiv2Previews
+include/KExiv2Qt6/KExiv2/RotationMatrix
+include/KExiv2Qt6/kexiv2/kexiv2.h
+include/KExiv2Qt6/kexiv2/kexiv2data.h
+include/KExiv2Qt6/kexiv2/kexiv2previews.h
+include/KExiv2Qt6/kexiv2/libkexiv2_export.h
+include/KExiv2Qt6/kexiv2/rotationmatrix.h
+include/KExiv2Qt6/libkexiv2_version.h
+lib/cmake/KExiv2Qt6/KExiv2Qt6Config.cmake
+lib/cmake/KExiv2Qt6/KExiv2Qt6ConfigVersion.cmake
+lib/cmake/KExiv2Qt6/KExiv2Qt6Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/KExiv2Qt6/KExiv2Qt6Targets.cmake
+lib/libKExiv2Qt6.so
+lib/libKExiv2Qt6.so.0
+lib/libKExiv2Qt6.so.5.1.0
+share/qlogging-categories6/libkexiv2.categories
diff --git a/graphics/libkexiv2/pkg-plist.qt5 b/graphics/libkexiv2/pkg-plist.qt5
deleted file mode 100644
index 3d9431d398ef..000000000000
--- a/graphics/libkexiv2/pkg-plist.qt5
+++ /dev/null
@@ -1,18 +0,0 @@
-include/KF5/KExiv2/KExiv2/KExiv2
-include/KF5/KExiv2/KExiv2/KExiv2Data
-include/KF5/KExiv2/KExiv2/KExiv2Previews
-include/KF5/KExiv2/KExiv2/RotationMatrix
-include/KF5/KExiv2/kexiv2/kexiv2.h
-include/KF5/KExiv2/kexiv2/kexiv2data.h
-include/KF5/KExiv2/kexiv2/kexiv2previews.h
-include/KF5/KExiv2/kexiv2/libkexiv2_export.h
-include/KF5/KExiv2/kexiv2/rotationmatrix.h
-include/KF5/KExiv2/libkexiv2_version.h
-lib/cmake/KF5KExiv2/KF5KExiv2Config.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2ConfigVersion.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2Targets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/KF5KExiv2/KF5KExiv2Targets.cmake
-lib/libKF5KExiv2.so
-lib/libKF5KExiv2.so.15.0.0
-lib/libKF5KExiv2.so.5.1.0
-share/qlogging-categories5/libkexiv2.categories
diff --git a/graphics/libkexiv2/pkg-plist.qt6 b/graphics/libkexiv2/pkg-plist.qt6
deleted file mode 100644
index ce7acb0b7b5d..000000000000
--- a/graphics/libkexiv2/pkg-plist.qt6
+++ /dev/null
@@ -1,18 +0,0 @@
-include/KExiv2Qt6/KExiv2/KExiv2
-include/KExiv2Qt6/KExiv2/KExiv2Data
-include/KExiv2Qt6/KExiv2/KExiv2Previews
-include/KExiv2Qt6/KExiv2/RotationMatrix
-include/KExiv2Qt6/kexiv2/kexiv2.h
-include/KExiv2Qt6/kexiv2/kexiv2data.h
-include/KExiv2Qt6/kexiv2/kexiv2previews.h
-include/KExiv2Qt6/kexiv2/libkexiv2_export.h
-include/KExiv2Qt6/kexiv2/rotationmatrix.h
-include/KExiv2Qt6/libkexiv2_version.h
-lib/cmake/KExiv2Qt6/KExiv2Qt6Config.cmake
-lib/cmake/KExiv2Qt6/KExiv2Qt6ConfigVersion.cmake
-lib/cmake/KExiv2Qt6/KExiv2Qt6Targets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/KExiv2Qt6/KExiv2Qt6Targets.cmake
-lib/libKExiv2Qt6.so
-lib/libKExiv2Qt6.so.0
-lib/libKExiv2Qt6.so.5.1.0
-share/qlogging-categories6/libkexiv2.categories
diff --git a/graphics/libksane/distinfo b/graphics/libksane/distinfo
index 099188f8753f..008edd119ba6 100644
--- a/graphics/libksane/distinfo
+++ b/graphics/libksane/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381485
-SHA256 (KDE/release-service/25.04.3/libksane-25.04.3.tar.xz) = eab97e319cd8e020e63c49ca3c18188898d326d3568c939a5640b42cdc1c265f
-SIZE (KDE/release-service/25.04.3/libksane-25.04.3.tar.xz) = 155880
+TIMESTAMP = 1765478596
+SHA256 (KDE/release-service/25.12.0/libksane-25.12.0.tar.xz) = b4fde4c6a9151679ed52e4d572ed6688dd4b489aa2a23534d8f132cfbdd3ab90
+SIZE (KDE/release-service/25.12.0/libksane-25.12.0.tar.xz) = 155936
diff --git a/graphics/libopenraw/Makefile b/graphics/libopenraw/Makefile
index 928c93b1ffaf..ec0cb680457c 100644
--- a/graphics/libopenraw/Makefile
+++ b/graphics/libopenraw/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libopenraw
PORTVERSION= 0.3.7
-PORTREVISION= 17
+PORTREVISION= 20
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..4c5796b380a5 100644
--- a/graphics/libpano13/Makefile
+++ b/graphics/libpano13/Makefile
@@ -1,6 +1,5 @@
PORTNAME= libpano13
-DISTVERSION= 2.9.22
-PORTREVISION= 10
+DISTVERSION= 2.9.23
CATEGORIES= graphics java
MASTER_SITES= SF/panotools/${PORTNAME}/${PORTNAME}-${DISTVERSION}
diff --git a/graphics/libpano13/distinfo b/graphics/libpano13/distinfo
index ad025f3de8bb..618e00c0aad7 100644
--- a/graphics/libpano13/distinfo
+++ b/graphics/libpano13/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1694462735
-SHA256 (libpano13-2.9.22.tar.gz) = affc6830cdbe71c28d2731dcbf8dea2acda6d9ffd4609c6dbf3ba0c68440a8e3
-SIZE (libpano13-2.9.22.tar.gz) = 2800628
+TIMESTAMP = 1761158946
+SHA256 (libpano13-2.9.23.tar.gz) = e7c076d37a14c39434962115e47ddbe18452ca3de5ce40e2aaefa7cf5815ea28
+SIZE (libpano13-2.9.23.tar.gz) = 2855115
diff --git a/graphics/libpano13/files/patch-CMakeLists.txt b/graphics/libpano13/files/patch-CMakeLists.txt
index d332057e3eb4..48a6646602ff 100644
--- a/graphics/libpano13/files/patch-CMakeLists.txt
+++ b/graphics/libpano13/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig 2021-12-06 23:34:35 UTC
+--- CMakeLists.txt.orig 2025-10-05 12:06:18 UTC
+++ CMakeLists.txt
-@@ -333,7 +333,7 @@ INSTALL(
+@@ -325,7 +325,7 @@ INSTALL(
AUTHORS
COPYING
README
@@ -9,7 +9,7 @@
COMPONENT headers
)
INSTALL(
-@@ -342,7 +342,7 @@ INSTALL(
+@@ -334,7 +334,7 @@ INSTALL(
doc/PTblender.readme
doc/PTmender.readme
doc/stitch.txt
diff --git a/graphics/libplacebo/Makefile b/graphics/libplacebo/Makefile
index 104571959fb1..24a7d58abd15 100644
--- a/graphics/libplacebo/Makefile
+++ b/graphics/libplacebo/Makefile
@@ -18,7 +18,8 @@ USE_LDCONFIG= yes
GL_SITE= https://code.videolan.org
GL_ACCOUNT= videolan
GH_TUPLE= fastfloat:fast_float:v5.2.0:fast_float/3rdparty/fast_float
-MESON_ARGS= -Dd3d11=disabled -Dlibdovi=disabled -Ddemos=false
+MESON_DISABLED= d3d11 libdovi
+MESON_FALSE= demos
OPTIONS_DEFINE= LCMS2 LIBUNWIND OPENGL TEST VULKAN XXHASH
OPTIONS_DEFAULT=LCMS2 LIBUNWIND OPENGL SHADERC XXHASH
diff --git a/graphics/librasterlite2/Makefile b/graphics/librasterlite2/Makefile
index c787276f20fb..36c2e47b621b 100644
--- a/graphics/librasterlite2/Makefile
+++ b/graphics/librasterlite2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= librasterlite2
PORTVERSION= 1.1.0
-PORTREVISION= 12
+PORTREVISION= 13
DISTVERSIONSUFFIX=-beta1
CATEGORIES= graphics geography
MASTER_SITES= http://www.gaia-gis.it/gaia-sins/librasterlite2-sources/
diff --git a/graphics/libresprite/Makefile b/graphics/libresprite/Makefile
new file mode 100644
index 000000000000..c27595075c16
--- /dev/null
+++ b/graphics/libresprite/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= libresprite
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.2
+CATEGORIES= graphics
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Animated sprite editor and pixel art tool
+WWW= https://libresprite.github.io \
+ https://github.com/LibreSprite/LibreSprite
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+LIB_DEPENDS= libcurl.so:ftp/curl \
+ libfreetype.so:print/freetype2 \
+ libgif.so:graphics/giflib \
+ libtinyxml2.so:textproc/tinyxml2 \
+ libpng16.so:graphics/png \
+ libwebp.so:graphics/webp
+
+USES= cmake compiler:c++20-lang jpeg libarchive localbase:ldflags pkgconfig sdl xorg
+USE_SDL= image2 sdl2
+USE_XORG= ice pixman sm x11 xcb xcursor xext xi xpm xxf86vm xxf86dga
+
+USE_GITHUB= yes
+GH_ACCOUNT= LibreSprite
+GH_PROJECT= LibreSprite
+GH_TUPLE= aseprite:simpleini:c94997d:simpleini/third_party/simpleini \
+ libresprite:duktape:6f71555:duktape/third_party/duktape \
+ aseprite:flic:876ef60:flic/src/flic \
+ aseprite:clip:94693e2:clip/src/clip \
+ aseprite:undo:f39b188:undo/src/undo
+
+.include <bsd.port.mk>
diff --git a/graphics/libresprite/distinfo b/graphics/libresprite/distinfo
new file mode 100644
index 000000000000..6b1f485a6e7b
--- /dev/null
+++ b/graphics/libresprite/distinfo
@@ -0,0 +1,13 @@
+TIMESTAMP = 1759123602
+SHA256 (LibreSprite-LibreSprite-v1.2_GH0.tar.gz) = bfc2b1c83847feb390d248f1df8f9264dbd885d9fbea2a6303cd26f42b939400
+SIZE (LibreSprite-LibreSprite-v1.2_GH0.tar.gz) = 14255193
+SHA256 (aseprite-simpleini-c94997d_GH0.tar.gz) = 511ae8fdb65a46a80af88f5a7547b669f7e324e6a23b32b48f57ca6f4613e0c9
+SIZE (aseprite-simpleini-c94997d_GH0.tar.gz) = 55214
+SHA256 (libresprite-duktape-6f71555_GH0.tar.gz) = 0522b35c3d481afc1ac1b8b1075b6ad276a891e404ff19cf973eb0317cb839df
+SIZE (libresprite-duktape-6f71555_GH0.tar.gz) = 932118
+SHA256 (aseprite-flic-876ef60_GH0.tar.gz) = 35f69efb4980e3f34531e141ff48165de1fb15c3da621b90aabae2bf4424ba54
+SIZE (aseprite-flic-876ef60_GH0.tar.gz) = 8188
+SHA256 (aseprite-clip-94693e2_GH0.tar.gz) = 51a11a8d3a5dc0dbf77be9b9c9ba41b2c1921043dfbdb7d4fe1e202a7e7a653c
+SIZE (aseprite-clip-94693e2_GH0.tar.gz) = 27748
+SHA256 (aseprite-undo-f39b188_GH0.tar.gz) = adfa338452fb7af52da89d87f72a45ae6acf9f84a3b73fc1f712f69ddaabb220
+SIZE (aseprite-undo-f39b188_GH0.tar.gz) = 4114
diff --git a/graphics/libresprite/files/patch-src_she_sdl2_she.cpp b/graphics/libresprite/files/patch-src_she_sdl2_she.cpp
new file mode 100644
index 000000000000..8c917de15a84
--- /dev/null
+++ b/graphics/libresprite/files/patch-src_she_sdl2_she.cpp
@@ -0,0 +1,11 @@
+--- src/she/sdl2/she.cpp.orig 2025-09-29 05:30:09 UTC
++++ src/she/sdl2/she.cpp
+@@ -39,6 +39,8 @@
+ #include <chrono>
+ #include <thread>
+
++#undef None // see https://github.com/LibreSprite/LibreSprite/issues/563
++
+ float penPressure = 0;
+
+ namespace ui {
diff --git a/graphics/libresprite/pkg-descr b/graphics/libresprite/pkg-descr
new file mode 100644
index 000000000000..9d8b6e522920
--- /dev/null
+++ b/graphics/libresprite/pkg-descr
@@ -0,0 +1,4 @@
+LibreSprite is a free and open-source animated sprite editor and pixel art tool.
+It is a fork of Aseprite, providing a powerful environment for creating
+2D animations and pixel-perfect graphics. Ideal for game development
+and artistic expression.
diff --git a/graphics/libresprite/pkg-plist b/graphics/libresprite/pkg-plist
new file mode 100644
index 000000000000..ea255ddcd444
--- /dev/null
+++ b/graphics/libresprite/pkg-plist
@@ -0,0 +1,132 @@
+bin/libresprite
+%%DATADIR%%/data/convmatr.def
+%%DATADIR%%/data/fonts/OFL.txt
+%%DATADIR%%/data/fonts/allegro.pcx
+%%DATADIR%%/data/fonts/anipro_fixed.pcx
+%%DATADIR%%/data/fonts/anipro_variable.pcx
+%%DATADIR%%/data/fonts/ase1.pcx
+%%DATADIR%%/data/fonts/ase2.pcx
+%%DATADIR%%/data/fonts/font-ar.ttf
+%%DATADIR%%/data/fonts/font-jp.ttf
+%%DATADIR%%/data/fonts/font-kr.ttf
+%%DATADIR%%/data/fonts/font-zh.ttf
+%%DATADIR%%/data/fonts/font.ttf
+%%DATADIR%%/data/gui.xml
+%%DATADIR%%/data/icons/ase.ico
+%%DATADIR%%/data/icons/ase16.png
+%%DATADIR%%/data/icons/ase32.png
+%%DATADIR%%/data/icons/ase48.png
+%%DATADIR%%/data/icons/ase64.png
+%%DATADIR%%/data/icons/doc.ico
+%%DATADIR%%/data/icons/doc16.png
+%%DATADIR%%/data/icons/doc32.png
+%%DATADIR%%/data/icons/doc48.png
+%%DATADIR%%/data/icons/doc64.png
+%%DATADIR%%/data/languages/ar.json
+%%DATADIR%%/data/languages/de.json
+%%DATADIR%%/data/languages/en.json
+%%DATADIR%%/data/languages/es.json
+%%DATADIR%%/data/languages/fr.json
+%%DATADIR%%/data/languages/hi.json
+%%DATADIR%%/data/languages/id.json
+%%DATADIR%%/data/languages/it.json
+%%DATADIR%%/data/languages/jp.json
+%%DATADIR%%/data/languages/kr.json
+%%DATADIR%%/data/languages/pt.json
+%%DATADIR%%/data/languages/ru.json
+%%DATADIR%%/data/languages/zh.json
+%%DATADIR%%/data/palettes/a64.gpl
+%%DATADIR%%/data/palettes/aap-16.gpl
+%%DATADIR%%/data/palettes/aap-64.gpl
+%%DATADIR%%/data/palettes/aap-splendor128.gpl
+%%DATADIR%%/data/palettes/apple-ii.gpl
+%%DATADIR%%/data/palettes/arne-paldac.gpl
+%%DATADIR%%/data/palettes/arne16.gpl
+%%DATADIR%%/data/palettes/arne32.gpl
+%%DATADIR%%/data/palettes/atari2600-ntsc.gpl
+%%DATADIR%%/data/palettes/atari2600-pal.gpl
+%%DATADIR%%/data/palettes/cg-arne.gpl
+%%DATADIR%%/data/palettes/cga.gpl
+%%DATADIR%%/data/palettes/commodore-plus4.gpl
+%%DATADIR%%/data/palettes/commodore-vic20.gpl
+%%DATADIR%%/data/palettes/commodore64.gpl
+%%DATADIR%%/data/palettes/copper-tech.gpl
+%%DATADIR%%/data/palettes/cpc-boy.gpl
+%%DATADIR%%/data/palettes/db16.gpl
+%%DATADIR%%/data/palettes/db32.gpl
+%%DATADIR%%/data/palettes/eroge-copper.gpl
+%%DATADIR%%/data/palettes/gameboy-color-type1.gpl
+%%DATADIR%%/data/palettes/gameboy.gpl
+%%DATADIR%%/data/palettes/google-ui.gpl
+%%DATADIR%%/data/palettes/jmp.gpl
+%%DATADIR%%/data/palettes/master-system.gpl
+%%DATADIR%%/data/palettes/monokai.gpl
+%%DATADIR%%/data/palettes/nes-ntsc.gpl
+%%DATADIR%%/data/palettes/nes.gpl
+%%DATADIR%%/data/palettes/pico-8.gpl
+%%DATADIR%%/data/palettes/psygnork.gpl
+%%DATADIR%%/data/palettes/smile-basic.gpl
+%%DATADIR%%/data/palettes/solarized.gpl
+%%DATADIR%%/data/palettes/teletext.gpl
+%%DATADIR%%/data/palettes/vga-13h.gpl
+%%DATADIR%%/data/palettes/web-safe-colors.gpl
+%%DATADIR%%/data/palettes/win16.gpl
+%%DATADIR%%/data/palettes/x11.gpl
+%%DATADIR%%/data/palettes/zx-spectrum.gpl
+%%DATADIR%%/data/pref.xml
+%%DATADIR%%/data/scripts/Random.js
+%%DATADIR%%/data/scripts/examples/Heightmap.js
+%%DATADIR%%/data/scripts/examples/PerLineOscillation.js
+%%DATADIR%%/data/scripts/examples/Voxel.js
+%%DATADIR%%/data/scripts/examples/ai.js
+%%DATADIR%%/data/scripts/examples/http.js
+%%DATADIR%%/data/scripts/white_to_alpha.js
+%%DATADIR%%/data/skins/classic/palette.png
+%%DATADIR%%/data/skins/classic/sheet.png
+%%DATADIR%%/data/skins/classic/skin.xml
+%%DATADIR%%/data/skins/default/README.md
+%%DATADIR%%/data/skins/default/palette.png
+%%DATADIR%%/data/skins/default/sheet.png
+%%DATADIR%%/data/skins/default/skin.xml
+%%DATADIR%%/data/splash.ase
+%%DATADIR%%/data/splash.png
+%%DATADIR%%/data/widgets/advanced_mode.xml
+%%DATADIR%%/data/widgets/brush_slot_params.xml
+%%DATADIR%%/data/widgets/canvas_size.xml
+%%DATADIR%%/data/widgets/cel_properties.xml
+%%DATADIR%%/data/widgets/color_curve_point.xml
+%%DATADIR%%/data/widgets/convolution_matrix.xml
+%%DATADIR%%/data/widgets/despeckle.xml
+%%DATADIR%%/data/widgets/duplicate_sprite.xml
+%%DATADIR%%/data/widgets/export_sprite_sheet.xml
+%%DATADIR%%/data/widgets/file_selector.xml
+%%DATADIR%%/data/widgets/font_popup.xml
+%%DATADIR%%/data/widgets/frame_properties.xml
+%%DATADIR%%/data/widgets/frame_tag_properties.xml
+%%DATADIR%%/data/widgets/gif_options.xml
+%%DATADIR%%/data/widgets/goto_frame.xml
+%%DATADIR%%/data/widgets/grid_settings.xml
+%%DATADIR%%/data/widgets/home_view.xml
+%%DATADIR%%/data/widgets/import_sprite_sheet.xml
+%%DATADIR%%/data/widgets/jpeg_options.xml
+%%DATADIR%%/data/widgets/keyboard_shortcuts.xml
+%%DATADIR%%/data/widgets/layer_properties.xml
+%%DATADIR%%/data/widgets/main_window.xml
+%%DATADIR%%/data/widgets/modify_selection.xml
+%%DATADIR%%/data/widgets/new_folder_window.xml
+%%DATADIR%%/data/widgets/new_layer.xml
+%%DATADIR%%/data/widgets/new_sprite.xml
+%%DATADIR%%/data/widgets/options.xml
+%%DATADIR%%/data/widgets/palette_from_sprite.xml
+%%DATADIR%%/data/widgets/palette_popup.xml
+%%DATADIR%%/data/widgets/palette_size.xml
+%%DATADIR%%/data/widgets/paste_text.xml
+%%DATADIR%%/data/widgets/replace_color.xml
+%%DATADIR%%/data/widgets/select_accelerator.xml
+%%DATADIR%%/data/widgets/send_crash.xml
+%%DATADIR%%/data/widgets/sprite_properties.xml
+%%DATADIR%%/data/widgets/sprite_size.xml
+%%DATADIR%%/data/widgets/timeline_conf.xml
+%%DATADIR%%/data/widgets/undo_history.xml
+%%DATADIR%%/data/widgets/user_data.xml
+%%DATADIR%%/data/widgets/webp_options.xml
diff --git a/graphics/librsvg2-rust/Makefile b/graphics/librsvg2-rust/Makefile
index 93a33e2bb2ac..71a1f7882c2f 100644
--- a/graphics/librsvg2-rust/Makefile
+++ b/graphics/librsvg2-rust/Makefile
@@ -1,6 +1,6 @@
PORTNAME= librsvg
-DISTVERSION= 2.60.0
-PORTREVISION= 4
+DISTVERSION= 2.61.2
+PORTREVISION= 1
CATEGORIES= graphics gnome
MASTER_SITES= GNOME
PKGNAMESUFFIX= 2-rust
@@ -23,7 +23,7 @@ LIB_DEPENDS= libdav1d.so:multimedia/dav1d \
TEST_DEPENDS= urw-base35-fonts>0:x11-fonts/urw-base35-fonts
USES= cargo compiler:c11 cpe gettext gnome meson pkgconfig \
- python:build shebangfix tar:xz vala:build
+ python:build shebangfix tar:xz
CPE_VENDOR= gnome
SHEBANG_FILES= meson/*.py \
benchmarks/*.py \
@@ -41,14 +41,20 @@ CARGO_TEST= no
CONFIGURE_ENV= ${CARGO_ENV}
MAKE_ENV= ${CARGO_ENV}
-MESON_ARGS= -Dtests=true
+MESON_ARGS= -Dpixbuf-loader=enabled \
+ -Dtests=true
-OPTIONS_DEFINE= DOCS
+OPTIONS_DEFINE= DOCS VAPI
+OPTIONS_DEFAULT= VAPI
+OPTIONS_SUB= yes
DOCS_BUILD_DEPENDS= gi-docgen:textproc/py-gi-docgen
DOCS_MESON_ENABLED= docs
+VAPI_MESON_ENABLED= vala
+VAPI_USES= vala:build
+
post-install-DOCS-off:
- ${LOCALBASE}/bin/rst2man --no-datestamp ${WRKSRC}/rsvg-convert.rst --output=${STAGEDIR}${PREFIX}/share/man/man1/rsvg-convert.1
+ ${LOCALBASE}/bin/rst2man --no-datestamp ${WRKSRC}/rsvg-convert.rst > ${STAGEDIR}${PREFIX}/share/man/man1/rsvg-convert.1
.include <bsd.port.mk>
diff --git a/graphics/librsvg2-rust/Makefile.crates b/graphics/librsvg2-rust/Makefile.crates
index c0746223fb5f..374f75ed5d59 100644
--- a/graphics/librsvg2-rust/Makefile.crates
+++ b/graphics/librsvg2-rust/Makefile.crates
@@ -1,85 +1,92 @@
-CARGO_CRATES= adler2-2.0.0 \
- ahash-0.8.11 \
+CARGO_CRATES= adler2-2.0.1 \
+ aes-0.8.4 \
+ ahash-0.8.12 \
aho-corasick-1.1.3 \
android-tzdata-0.1.1 \
android_system_properties-0.1.5 \
anes-0.1.6 \
- anstream-0.6.18 \
- anstyle-1.0.10 \
- anstyle-parse-0.2.6 \
- anstyle-query-1.1.2 \
- anstyle-wincon-3.0.6 \
- anyhow-1.0.94 \
+ anstream-0.6.20 \
+ anstyle-1.0.11 \
+ anstyle-parse-0.2.7 \
+ anstyle-query-1.1.4 \
+ anstyle-wincon-3.0.10 \
approx-0.5.1 \
- assert_cmd-2.0.16 \
- autocfg-1.4.0 \
+ assert_cmd-2.0.17 \
+ autocfg-1.5.0 \
av-data-0.4.4 \
- bit-set-0.5.3 \
- bit-vec-0.6.3 \
- bitflags-1.3.2 \
- bitflags-2.6.0 \
+ bit-set-0.8.0 \
+ bit-vec-0.8.0 \
+ bitflags-2.9.3 \
bitreader-0.3.11 \
block-0.1.6 \
block-buffer-0.10.4 \
- bstr-1.11.0 \
- bumpalo-3.16.0 \
- byte-slice-cast-1.2.2 \
- bytemuck-1.20.0 \
+ block-padding-0.3.3 \
+ bstr-1.12.0 \
+ bumpalo-3.19.0 \
+ byte-slice-cast-1.2.3 \
+ bytecount-0.6.9 \
+ bytemuck-1.23.2 \
byteorder-1.5.0 \
byteorder-lite-0.1.0 \
- bytes-1.9.0 \
- cairo-rs-0.20.5 \
- cairo-sys-rs-0.20.0 \
+ bytes-1.10.1 \
+ cairo-rs-0.21.1 \
+ cairo-sys-rs-0.21.1 \
cast-0.3.0 \
- cc-1.2.3 \
- cfg-expr-0.15.8 \
- cfg-expr-0.17.2 \
- cfg-if-1.0.0 \
- chrono-0.4.39 \
+ cbc-0.1.2 \
+ cc-1.2.35 \
+ cfg-expr-0.20.2 \
+ cfg-if-1.0.3 \
+ chrono-0.4.41 \
ciborium-0.2.2 \
ciborium-io-0.2.2 \
ciborium-ll-0.2.2 \
- clap-4.5.23 \
- clap_builder-4.5.23 \
- clap_complete-4.5.38 \
- clap_derive-4.5.18 \
- clap_lex-0.7.4 \
+ cipher-0.4.4 \
+ clap-4.5.46 \
+ clap_builder-4.5.46 \
+ clap_complete-4.5.57 \
+ clap_derive-4.5.45 \
+ clap_lex-0.7.5 \
color_quant-1.1.0 \
- colorchoice-1.0.3 \
+ colorchoice-1.0.4 \
core-foundation-sys-0.8.7 \
- crc32fast-1.4.2 \
- criterion-0.5.1 \
- criterion-plot-0.5.0 \
- crossbeam-deque-0.8.5 \
+ cpufeatures-0.2.17 \
+ crc32fast-1.5.0 \
+ criterion-0.7.0 \
+ criterion-plot-0.6.0 \
+ crossbeam-deque-0.8.6 \
crossbeam-epoch-0.9.18 \
- crossbeam-utils-0.8.20 \
- crunchy-0.2.2 \
+ crossbeam-utils-0.8.21 \
+ crunchy-0.2.4 \
crypto-common-0.1.6 \
- cssparser-0.31.2 \
+ cssparser-0.35.0 \
+ cssparser-color-0.3.0 \
cssparser-macros-0.6.1 \
- data-url-0.3.1 \
- dav1d-0.10.3 \
- dav1d-sys-0.8.2 \
- deranged-0.3.11 \
- derive_more-0.99.18 \
+ data-url-0.3.2 \
+ dav1d-0.10.4 \
+ dav1d-sys-0.8.3 \
+ deranged-0.5.3 \
+ derive_more-2.0.1 \
+ derive_more-impl-2.0.1 \
difflib-0.4.0 \
digest-0.10.7 \
displaydoc-0.2.5 \
dlib-0.5.2 \
doc-comment-0.3.3 \
- dtoa-1.0.9 \
+ dtoa-1.0.10 \
dtoa-short-0.3.5 \
- either-1.13.0 \
+ ecb-0.1.2 \
+ either-1.15.0 \
encoding_rs-0.8.35 \
- equivalent-1.0.1 \
- errno-0.3.10 \
+ equivalent-1.0.2 \
+ errno-0.3.13 \
fallible_collections-0.4.9 \
fastrand-2.3.0 \
fdeflate-0.3.7 \
- flate2-1.0.35 \
- float-cmp-0.9.0 \
+ find-msvc-tools-0.1.0 \
+ flate2-1.1.2 \
+ float-cmp-0.10.0 \
fnv-1.0.7 \
- form_urlencoded-1.2.1 \
+ form_urlencoded-1.2.2 \
futf-0.1.5 \
futures-channel-0.3.31 \
futures-core-0.3.31 \
@@ -89,71 +96,70 @@ CARGO_CRATES= adler2-2.0.0 \
futures-task-0.3.31 \
futures-util-0.3.31 \
fxhash-0.2.1 \
- gdk-pixbuf-0.20.4 \
- gdk-pixbuf-sys-0.20.4 \
+ gdk-pixbuf-0.21.1 \
+ gdk-pixbuf-sys-0.21.1 \
generic-array-0.14.7 \
- getrandom-0.2.15 \
- gif-0.13.1 \
- gio-0.20.6 \
- gio-sys-0.20.8 \
- glib-0.20.6 \
- glib-macros-0.20.5 \
- glib-sys-0.20.6 \
- gobject-sys-0.20.4 \
- half-2.4.1 \
+ getrandom-0.3.3 \
+ gif-0.13.3 \
+ gio-0.21.1 \
+ gio-sys-0.21.1 \
+ glib-0.21.1 \
+ glib-macros-0.21.0 \
+ glib-sys-0.21.1 \
+ gobject-sys-0.21.1 \
+ half-2.6.0 \
hashbrown-0.13.2 \
- hashbrown-0.15.2 \
+ hashbrown-0.15.5 \
heck-0.5.0 \
- hermit-abi-0.4.0 \
- iana-time-zone-0.1.61 \
+ iana-time-zone-0.1.63 \
iana-time-zone-haiku-0.1.2 \
- icu_collections-1.5.0 \
- icu_locid-1.5.0 \
- icu_locid_transform-1.5.0 \
- icu_locid_transform_data-1.5.0 \
- icu_normalizer-1.5.0 \
- icu_normalizer_data-1.5.0 \
- icu_properties-1.5.1 \
- icu_properties_data-1.5.0 \
- icu_provider-1.5.0 \
- icu_provider_macros-1.5.0 \
- idna-1.0.3 \
- idna_adapter-1.2.0 \
- image-0.25.5 \
- image-webp-0.2.0 \
- indexmap-2.7.0 \
- is-terminal-0.4.13 \
+ icu_collections-2.0.0 \
+ icu_locale_core-2.0.0 \
+ icu_normalizer-2.0.0 \
+ icu_normalizer_data-2.0.0 \
+ icu_properties-2.0.1 \
+ icu_properties_data-2.0.1 \
+ icu_provider-2.0.0 \
+ idna-1.1.0 \
+ idna_adapter-1.2.1 \
+ image-0.25.8 \
+ image-webp-0.2.4 \
+ indexmap-2.11.0 \
+ inout-0.1.4 \
is_terminal_polyfill-1.70.1 \
- itertools-0.10.5 \
itertools-0.13.0 \
- itoa-1.0.14 \
- js-sys-0.3.76 \
+ itertools-0.14.0 \
+ itoa-1.0.15 \
+ jiff-0.2.15 \
+ jiff-static-0.2.15 \
+ jiff-tzdb-0.1.4 \
+ jiff-tzdb-platform-0.1.3 \
+ js-sys-0.3.77 \
language-tags-0.3.2 \
lazy_static-1.5.0 \
- libc-0.2.168 \
- libloading-0.8.6 \
- libm-0.2.11 \
- linked-hash-map-0.5.6 \
- linux-raw-sys-0.4.14 \
- litemap-0.7.4 \
+ libc-0.2.175 \
+ libloading-0.8.8 \
+ linux-raw-sys-0.9.4 \
+ litemap-0.8.0 \
locale_config-0.3.0 \
- lock_api-0.4.12 \
- log-0.4.22 \
- lopdf-0.33.0 \
+ lock_api-0.4.13 \
+ log-0.4.27 \
+ lopdf-0.38.0 \
mac-0.1.1 \
malloc_buf-0.0.6 \
- markup5ever-0.12.1 \
+ markup5ever-0.35.0 \
matches-0.1.10 \
- matrixmultiply-0.3.9 \
+ matrixmultiply-0.3.10 \
md-5-0.10.6 \
- memchr-2.7.4 \
- minimal-lexical-0.2.1 \
- miniz_oxide-0.8.0 \
+ memchr-2.7.5 \
+ miniz_oxide-0.8.9 \
+ moxcms-0.7.5 \
mp4parse-0.17.0 \
nalgebra-0.33.2 \
nalgebra-macros-0.2.2 \
new_debug_unreachable-1.0.6 \
- nom-7.1.3 \
+ nom-8.0.0 \
+ nom_locate-5.0.0 \
normalize-line-endings-0.3.0 \
num-bigint-0.4.6 \
num-complex-0.4.6 \
@@ -165,150 +171,178 @@ CARGO_CRATES= adler2-2.0.0 \
objc-0.2.7 \
objc-foundation-0.1.1 \
objc_id-0.1.1 \
- once_cell-1.20.2 \
- oorandom-11.1.4 \
- pango-0.20.6 \
- pango-sys-0.20.4 \
- pangocairo-0.20.4 \
- pangocairo-sys-0.20.4 \
- parking_lot-0.12.3 \
- parking_lot_core-0.9.10 \
+ once_cell-1.21.3 \
+ once_cell_polyfill-1.70.1 \
+ oorandom-11.1.5 \
+ pango-0.21.1 \
+ pango-sys-0.21.1 \
+ pangocairo-0.21.1 \
+ pangocairo-sys-0.21.1 \
+ parking_lot-0.12.4 \
+ parking_lot_core-0.9.11 \
paste-1.0.15 \
- percent-encoding-2.3.1 \
- phf-0.10.1 \
- phf-0.11.2 \
- phf_codegen-0.10.0 \
- phf_codegen-0.11.2 \
- phf_generator-0.10.0 \
- phf_generator-0.11.2 \
- phf_macros-0.11.2 \
- phf_shared-0.10.0 \
- phf_shared-0.11.2 \
- pin-project-lite-0.2.15 \
+ percent-encoding-2.3.2 \
+ phf-0.11.3 \
+ phf_codegen-0.11.3 \
+ phf_generator-0.11.3 \
+ phf_macros-0.11.3 \
+ phf_shared-0.11.3 \
+ phf_shared-0.13.1 \
+ pin-project-lite-0.2.16 \
pin-utils-0.1.0 \
- pkg-config-0.3.31 \
+ pkg-config-0.3.32 \
plotters-0.3.7 \
plotters-backend-0.3.7 \
plotters-svg-0.3.7 \
- png-0.17.15 \
+ png-0.18.0 \
+ portable-atomic-1.11.1 \
+ portable-atomic-util-0.2.4 \
+ potential_utf-0.1.3 \
powerfmt-0.2.0 \
- ppv-lite86-0.2.20 \
+ ppv-lite86-0.2.21 \
precomputed-hash-0.1.1 \
- predicates-3.1.2 \
- predicates-core-1.0.8 \
- predicates-tree-1.0.11 \
- proc-macro-crate-3.2.0 \
- proc-macro2-1.0.92 \
- proptest-1.5.0 \
+ predicates-3.1.3 \
+ predicates-core-1.0.9 \
+ predicates-tree-1.0.12 \
+ proc-macro-crate-3.3.0 \
+ proc-macro2-1.0.101 \
+ proptest-1.7.0 \
+ pxfm-0.1.20 \
quick-error-1.2.3 \
quick-error-2.0.1 \
- quote-1.0.37 \
+ quote-1.0.40 \
+ r-efi-5.3.0 \
rand-0.8.5 \
- rand_chacha-0.3.1 \
+ rand-0.9.2 \
+ rand_chacha-0.9.0 \
rand_core-0.6.4 \
- rand_xorshift-0.3.0 \
+ rand_core-0.9.3 \
+ rand_xorshift-0.4.0 \
+ rangemap-1.6.0 \
rawpointer-0.2.1 \
- rayon-1.10.0 \
- rayon-core-1.12.1 \
+ rayon-1.11.0 \
+ rayon-core-1.13.0 \
rctree-0.6.0 \
- redox_syscall-0.5.7 \
- regex-1.11.1 \
- regex-automata-0.4.9 \
- regex-syntax-0.8.5 \
- rgb-0.8.50 \
- rustix-0.38.42 \
+ redox_syscall-0.5.17 \
+ regex-1.11.2 \
+ regex-automata-0.4.10 \
+ regex-syntax-0.8.6 \
+ rgb-0.8.52 \
+ rustix-1.0.8 \
+ rustversion-1.0.22 \
rusty-fork-0.3.0 \
- ryu-1.0.18 \
- safe_arch-0.7.2 \
+ ryu-1.0.20 \
+ safe_arch-0.7.4 \
same-file-1.0.6 \
scopeguard-1.2.0 \
- selectors-0.25.0 \
- serde-1.0.215 \
- serde_derive-1.0.215 \
- serde_json-1.0.133 \
- serde_spanned-0.6.8 \
- servo_arc-0.3.0 \
+ selectors-0.31.0 \
+ serde-1.0.219 \
+ serde_derive-1.0.219 \
+ serde_json-1.0.143 \
+ serde_spanned-0.6.9 \
+ servo_arc-0.4.1 \
+ sha2-0.10.9 \
shell-words-1.1.0 \
shlex-1.3.0 \
simba-0.9.0 \
simd-adler32-0.3.7 \
- siphasher-0.3.11 \
- slab-0.4.9 \
- smallvec-1.13.2 \
+ siphasher-1.0.1 \
+ slab-0.4.11 \
+ smallvec-1.15.1 \
stable_deref_trait-1.2.0 \
static_assertions-1.1.0 \
- string_cache-0.8.7 \
- string_cache_codegen-0.5.2 \
+ string_cache-0.8.9 \
+ string_cache-0.9.0 \
+ string_cache_codegen-0.5.4 \
+ stringprep-0.1.5 \
strsim-0.11.1 \
- syn-2.0.90 \
- synstructure-0.13.1 \
- system-deps-6.2.2 \
- system-deps-7.0.3 \
- target-lexicon-0.12.16 \
- tempfile-3.14.0 \
+ syn-2.0.106 \
+ synstructure-0.13.2 \
+ system-deps-7.0.5 \
+ target-lexicon-0.13.2 \
+ tempfile-3.21.0 \
tendril-0.4.3 \
- termtree-0.4.1 \
- thiserror-1.0.69 \
- thiserror-impl-1.0.69 \
- time-0.3.37 \
- time-core-0.1.2 \
- time-macros-0.2.19 \
- tinystr-0.7.6 \
+ termtree-0.5.1 \
+ thiserror-2.0.16 \
+ thiserror-impl-2.0.16 \
+ time-0.3.42 \
+ time-core-0.1.5 \
+ time-macros-0.2.23 \
+ tinystr-0.8.1 \
tinytemplate-1.2.1 \
- tinyvec-1.8.0 \
+ tinyvec-1.10.0 \
tinyvec_macros-0.1.1 \
- toml-0.8.19 \
- toml_datetime-0.6.8 \
- toml_edit-0.22.22 \
- typenum-1.17.0 \
+ toml-0.8.23 \
+ toml_datetime-0.6.11 \
+ toml_edit-0.22.27 \
+ ttf-parser-0.25.1 \
+ typenum-1.18.0 \
unarray-0.1.4 \
- unicode-ident-1.0.14 \
- url-2.5.4 \
+ unicode-bidi-0.3.18 \
+ unicode-ident-1.0.18 \
+ unicode-normalization-0.1.24 \
+ unicode-properties-0.1.3 \
+ url-2.5.7 \
utf-8-0.7.6 \
- utf16_iter-1.0.5 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
version-compare-0.2.0 \
version_check-0.9.5 \
- wait-timeout-0.2.0 \
+ wait-timeout-0.2.1 \
walkdir-2.5.0 \
- wasi-0.11.0+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.99 \
- wasm-bindgen-backend-0.2.99 \
- wasm-bindgen-macro-0.2.99 \
- wasm-bindgen-macro-support-0.2.99 \
- wasm-bindgen-shared-0.2.99 \
- web-sys-0.3.76 \
- weezl-0.1.8 \
- wide-0.7.30 \
+ wasi-0.14.3+wasi-0.2.4 \
+ wasm-bindgen-0.2.100 \
+ wasm-bindgen-backend-0.2.100 \
+ wasm-bindgen-macro-0.2.100 \
+ wasm-bindgen-macro-support-0.2.100 \
+ wasm-bindgen-shared-0.2.100 \
+ web-sys-0.3.77 \
+ web_atoms-0.1.3 \
+ weezl-0.1.10 \
+ wide-0.7.33 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.9 \
+ winapi-util-0.1.10 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
- windows-core-0.52.0 \
- windows-sys-0.52.0 \
+ windows-core-0.61.2 \
+ windows-implement-0.60.0 \
+ windows-interface-0.59.1 \
+ windows-link-0.1.3 \
+ windows-result-0.3.4 \
+ windows-strings-0.4.2 \
windows-sys-0.59.0 \
+ windows-sys-0.60.2 \
windows-targets-0.52.6 \
+ windows-targets-0.53.3 \
windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_gnullvm-0.53.0 \
windows_aarch64_msvc-0.52.6 \
+ windows_aarch64_msvc-0.53.0 \
windows_i686_gnu-0.52.6 \
+ windows_i686_gnu-0.53.0 \
windows_i686_gnullvm-0.52.6 \
+ windows_i686_gnullvm-0.53.0 \
windows_i686_msvc-0.52.6 \
+ windows_i686_msvc-0.53.0 \
windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnu-0.53.0 \
windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_gnullvm-0.53.0 \
windows_x86_64_msvc-0.52.6 \
- winnow-0.6.20 \
- write16-1.0.0 \
- writeable-0.5.5 \
- xml5ever-0.18.1 \
+ windows_x86_64_msvc-0.53.0 \
+ winnow-0.7.13 \
+ wit-bindgen-0.45.0 \
+ writeable-0.6.1 \
+ xml5ever-0.35.0 \
yeslogic-fontconfig-sys-6.0.0 \
- yoke-0.7.5 \
- yoke-derive-0.7.5 \
- zerocopy-0.7.35 \
- zerocopy-derive-0.7.35 \
- zerofrom-0.1.5 \
- zerofrom-derive-0.1.5 \
- zerovec-0.10.4 \
- zerovec-derive-0.10.3 \
+ yoke-0.8.0 \
+ yoke-derive-0.8.0 \
+ zerocopy-0.8.26 \
+ zerocopy-derive-0.8.26 \
+ zerofrom-0.1.6 \
+ zerofrom-derive-0.1.6 \
+ zerotrie-0.2.2 \
+ zerovec-0.11.4 \
+ zerovec-derive-0.11.1 \
zune-core-0.4.12 \
- zune-jpeg-0.4.14
+ zune-jpeg-0.4.20
diff --git a/graphics/librsvg2-rust/distinfo b/graphics/librsvg2-rust/distinfo
index 3339c1650714..7a7df838defe 100644
--- a/graphics/librsvg2-rust/distinfo
+++ b/graphics/librsvg2-rust/distinfo
@@ -1,10 +1,12 @@
-TIMESTAMP = 1743271329
-SHA256 (librsvg-2.60.0.tar.xz) = 0b6ffccdf6e70afc9876882f5d2ce9ffcf2c713cbaaf1ad90170daa752e1eec3
-SIZE (librsvg-2.60.0.tar.xz) = 6742880
-SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
-SIZE (rust/crates/adler2-2.0.0.crate) = 13529
-SHA256 (rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011
-SIZE (rust/crates/ahash-0.8.11.crate) = 43607
+TIMESTAMP = 1762039621
+SHA256 (librsvg-2.61.2.tar.xz) = 4644d83623dd61cc4479c2b3c372e1da2b281552ebc90035c8d1ac502eb1dc00
+SIZE (librsvg-2.61.2.tar.xz) = 6758744
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
+SHA256 (rust/crates/aes-0.8.4.crate) = b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0
+SIZE (rust/crates/aes-0.8.4.crate) = 124812
+SHA256 (rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
+SIZE (rust/crates/ahash-0.8.12.crate) = 43413
SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
@@ -13,122 +15,130 @@ SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac2
SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
SIZE (rust/crates/anes-0.1.6.crate) = 23857
-SHA256 (rust/crates/anstream-0.6.18.crate) = 8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b
-SIZE (rust/crates/anstream-0.6.18.crate) = 29681
-SHA256 (rust/crates/anstyle-1.0.10.crate) = 55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9
-SIZE (rust/crates/anstyle-1.0.10.crate) = 15725
-SHA256 (rust/crates/anstyle-parse-0.2.6.crate) = 3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9
-SIZE (rust/crates/anstyle-parse-0.2.6.crate) = 22343
-SHA256 (rust/crates/anstyle-query-1.1.2.crate) = 79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c
-SIZE (rust/crates/anstyle-query-1.1.2.crate) = 9969
-SHA256 (rust/crates/anstyle-wincon-3.0.6.crate) = 2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125
-SIZE (rust/crates/anstyle-wincon-3.0.6.crate) = 12271
-SHA256 (rust/crates/anyhow-1.0.94.crate) = c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7
-SIZE (rust/crates/anyhow-1.0.94.crate) = 51731
+SHA256 (rust/crates/anstream-0.6.20.crate) = 3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192
+SIZE (rust/crates/anstream-0.6.20.crate) = 28797
+SHA256 (rust/crates/anstyle-1.0.11.crate) = 862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd
+SIZE (rust/crates/anstyle-1.0.11.crate) = 15880
+SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2
+SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707
+SHA256 (rust/crates/anstyle-query-1.1.4.crate) = 9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2
+SIZE (rust/crates/anstyle-query-1.1.4.crate) = 10192
+SHA256 (rust/crates/anstyle-wincon-3.0.10.crate) = 3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a
+SIZE (rust/crates/anstyle-wincon-3.0.10.crate) = 12558
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.16.crate) = dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d
-SIZE (rust/crates/assert_cmd-2.0.16.crate) = 26554
-SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
-SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/assert_cmd-2.0.17.crate) = 2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66
+SIZE (rust/crates/assert_cmd-2.0.17.crate) = 26914
+SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
+SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
SHA256 (rust/crates/av-data-0.4.4.crate) = fca67ba5d317924c02180c576157afd54babe48a76ebc66ce6d34bb8ba08308e
SIZE (rust/crates/av-data-0.4.4.crate) = 17576
-SHA256 (rust/crates/bit-set-0.5.3.crate) = 0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1
-SIZE (rust/crates/bit-set-0.5.3.crate) = 14470
-SHA256 (rust/crates/bit-vec-0.6.3.crate) = 349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb
-SIZE (rust/crates/bit-vec-0.6.3.crate) = 19927
-SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
-SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitflags-2.6.0.crate) = b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de
-SIZE (rust/crates/bitflags-2.6.0.crate) = 45357
+SHA256 (rust/crates/bit-set-0.8.0.crate) = 08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3
+SIZE (rust/crates/bit-set-0.8.0.crate) = 16289
+SHA256 (rust/crates/bit-vec-0.8.0.crate) = 5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7
+SIZE (rust/crates/bit-vec-0.8.0.crate) = 24132
+SHA256 (rust/crates/bitflags-2.9.3.crate) = 34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d
+SIZE (rust/crates/bitflags-2.9.3.crate) = 47777
SHA256 (rust/crates/bitreader-0.3.11.crate) = 886559b1e163d56c765bc3a985febb4eee8009f625244511d8ee3c432e08c066
SIZE (rust/crates/bitreader-0.3.11.crate) = 12077
SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
SIZE (rust/crates/block-0.1.6.crate) = 4077
SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
-SHA256 (rust/crates/bstr-1.11.0.crate) = 1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22
-SIZE (rust/crates/bstr-1.11.0.crate) = 380721
-SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c
-SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677
-SHA256 (rust/crates/byte-slice-cast-1.2.2.crate) = c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c
-SIZE (rust/crates/byte-slice-cast-1.2.2.crate) = 7276
-SHA256 (rust/crates/bytemuck-1.20.0.crate) = 8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a
-SIZE (rust/crates/bytemuck-1.20.0.crate) = 50943
+SHA256 (rust/crates/block-padding-0.3.3.crate) = a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93
+SIZE (rust/crates/block-padding-0.3.3.crate) = 8504
+SHA256 (rust/crates/bstr-1.12.0.crate) = 234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4
+SIZE (rust/crates/bstr-1.12.0.crate) = 351557
+SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43
+SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414
+SHA256 (rust/crates/byte-slice-cast-1.2.3.crate) = 7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d
+SIZE (rust/crates/byte-slice-cast-1.2.3.crate) = 7498
+SHA256 (rust/crates/bytecount-0.6.9.crate) = 175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e
+SIZE (rust/crates/bytecount-0.6.9.crate) = 18695
+SHA256 (rust/crates/bytemuck-1.23.2.crate) = 3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677
+SIZE (rust/crates/bytemuck-1.23.2.crate) = 53021
SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
-SHA256 (rust/crates/bytes-1.9.0.crate) = 325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b
-SIZE (rust/crates/bytes-1.9.0.crate) = 67320
-SHA256 (rust/crates/cairo-rs-0.20.5.crate) = d7fa699e1d7ae691001a811dda5ef0e3e42e1d4119b26426352989df9e94e3e6
-SIZE (rust/crates/cairo-rs-0.20.5.crate) = 52741
-SHA256 (rust/crates/cairo-sys-rs-0.20.0.crate) = 428290f914b9b86089f60f5d8a9f6e440508e1bcff23b25afd51502b0a2da88f
-SIZE (rust/crates/cairo-sys-rs-0.20.0.crate) = 11875
+SHA256 (rust/crates/bytes-1.10.1.crate) = d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a
+SIZE (rust/crates/bytes-1.10.1.crate) = 76779
+SHA256 (rust/crates/cairo-rs-0.21.1.crate) = 1158f326d7b755a9ae2b36c5b5391400e3431f3b77418cedb6d7130126628f10
+SIZE (rust/crates/cairo-rs-0.21.1.crate) = 58404
+SHA256 (rust/crates/cairo-sys-rs-0.21.1.crate) = b963177900ec8e783927e5ed99e16c0ec1b723f1f125dff8992db28ef35c62c3
+SIZE (rust/crates/cairo-sys-rs-0.21.1.crate) = 14498
SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
SIZE (rust/crates/cast-0.3.0.crate) = 11452
-SHA256 (rust/crates/cc-1.2.3.crate) = 27f657647bcff5394bf56c7317665bbf790a137a50eaaa5c6bfbb9e27a518f2d
-SIZE (rust/crates/cc-1.2.3.crate) = 99421
-SHA256 (rust/crates/cfg-expr-0.15.8.crate) = d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02
-SIZE (rust/crates/cfg-expr-0.15.8.crate) = 42108
-SHA256 (rust/crates/cfg-expr-0.17.2.crate) = 8d4ba6e40bd1184518716a6e1a781bf9160e286d219ccdb8ab2612e74cfe4789
-SIZE (rust/crates/cfg-expr-0.17.2.crate) = 44034
-SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
-SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/chrono-0.4.39.crate) = 7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825
-SIZE (rust/crates/chrono-0.4.39.crate) = 222248
+SHA256 (rust/crates/cbc-0.1.2.crate) = 26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6
+SIZE (rust/crates/cbc-0.1.2.crate) = 23501
+SHA256 (rust/crates/cc-1.2.35.crate) = 590f9024a68a8c40351881787f1934dc11afd69090f5edb6831464694d836ea3
+SIZE (rust/crates/cc-1.2.35.crate) = 89972
+SHA256 (rust/crates/cfg-expr-0.20.2.crate) = c8d458d63f0f0f482c8da9b7c8b76c21bd885a02056cc94c6404d861ca2b8206
+SIZE (rust/crates/cfg-expr-0.20.2.crate) = 44758
+SHA256 (rust/crates/cfg-if-1.0.3.crate) = 2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9
+SIZE (rust/crates/cfg-if-1.0.3.crate) = 8719
+SHA256 (rust/crates/chrono-0.4.41.crate) = c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d
+SIZE (rust/crates/chrono-0.4.41.crate) = 234621
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-4.5.23.crate) = 3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84
-SIZE (rust/crates/clap-4.5.23.crate) = 56460
-SHA256 (rust/crates/clap_builder-4.5.23.crate) = 30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838
-SIZE (rust/crates/clap_builder-4.5.23.crate) = 164180
-SHA256 (rust/crates/clap_complete-4.5.38.crate) = d9647a559c112175f17cf724dc72d3645680a883c58481332779192b0d8e7a01
-SIZE (rust/crates/clap_complete-4.5.38.crate) = 47669
-SHA256 (rust/crates/clap_derive-4.5.18.crate) = 4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab
-SIZE (rust/crates/clap_derive-4.5.18.crate) = 30131
-SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
-SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
+SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad
+SIZE (rust/crates/cipher-0.4.4.crate) = 19073
+SHA256 (rust/crates/clap-4.5.46.crate) = 2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57
+SIZE (rust/crates/clap-4.5.46.crate) = 58332
+SHA256 (rust/crates/clap_builder-4.5.46.crate) = fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41
+SIZE (rust/crates/clap_builder-4.5.46.crate) = 169831
+SHA256 (rust/crates/clap_complete-4.5.57.crate) = 4d9501bd3f5f09f7bbee01da9a511073ed30a80cd7a509f1214bb74eadea71ad
+SIZE (rust/crates/clap_complete-4.5.57.crate) = 48637
+SHA256 (rust/crates/clap_derive-4.5.45.crate) = 14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6
+SIZE (rust/crates/clap_derive-4.5.45.crate) = 33545
+SHA256 (rust/crates/clap_lex-0.7.5.crate) = b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675
+SIZE (rust/crates/clap_lex-0.7.5.crate) = 13469
SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
-SHA256 (rust/crates/colorchoice-1.0.3.crate) = 5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990
-SIZE (rust/crates/colorchoice-1.0.3.crate) = 7923
+SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75
+SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196
SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
-SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
-SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
-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/cpufeatures-0.2.17.crate) = 59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280
+SIZE (rust/crates/cpufeatures-0.2.17.crate) = 13466
+SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511
+SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723
+SHA256 (rust/crates/criterion-0.7.0.crate) = e1c047a62b0cc3e145fa84415a3191f628e980b194c2755aa12300a4e6cbd928
+SIZE (rust/crates/criterion-0.7.0.crate) = 119908
+SHA256 (rust/crates/criterion-plot-0.6.0.crate) = 9b1bcc0dc7dfae599d84ad0b1a55f80cde8af3725da8313b528da95ef783e338
+SIZE (rust/crates/criterion-plot-0.6.0.crate) = 24495
+SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
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/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crunchy-0.2.4.crate) = 460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5
+SIZE (rust/crates/crunchy-0.2.4.crate) = 3887
SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
-SHA256 (rust/crates/cssparser-0.31.2.crate) = 5b3df4f93e5fbbe73ec01ec8d3f68bba73107993a5b1e7519273c32db9b0d5be
-SIZE (rust/crates/cssparser-0.31.2.crate) = 60602
+SHA256 (rust/crates/cssparser-0.35.0.crate) = 4e901edd733a1472f944a45116df3f846f54d37e67e68640ac8bb69689aca2aa
+SIZE (rust/crates/cssparser-0.35.0.crate) = 54145
+SHA256 (rust/crates/cssparser-color-0.3.0.crate) = 6eeef9ae8c0e112edd89eb6406b3156ffa99c7e037b3baef1dbdf4158d35c324
+SIZE (rust/crates/cssparser-color-0.3.0.crate) = 10792
SHA256 (rust/crates/cssparser-macros-0.6.1.crate) = 13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331
SIZE (rust/crates/cssparser-macros-0.6.1.crate) = 7914
-SHA256 (rust/crates/data-url-0.3.1.crate) = 5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a
-SIZE (rust/crates/data-url-0.3.1.crate) = 21109
-SHA256 (rust/crates/dav1d-0.10.3.crate) = 0d4b54a40baf633a71c6f0fb49494a7e4ee7bc26f3e727212b6cb915aa1ea1e1
-SIZE (rust/crates/dav1d-0.10.3.crate) = 8777
-SHA256 (rust/crates/dav1d-sys-0.8.2.crate) = 6ecb1c5e8f4dc438eedc1b534a54672fb0e0a56035dae6b50162787bd2c50e95
-SIZE (rust/crates/dav1d-sys-0.8.2.crate) = 7763
-SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
-SIZE (rust/crates/deranged-0.3.11.crate) = 18043
-SHA256 (rust/crates/derive_more-0.99.18.crate) = 5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce
-SIZE (rust/crates/derive_more-0.99.18.crate) = 55013
+SHA256 (rust/crates/data-url-0.3.2.crate) = be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376
+SIZE (rust/crates/data-url-0.3.2.crate) = 23862
+SHA256 (rust/crates/dav1d-0.10.4.crate) = 80c3f80814db85397819d464bb553268992c393b4b3b5554b89c1655996d5926
+SIZE (rust/crates/dav1d-0.10.4.crate) = 16744
+SHA256 (rust/crates/dav1d-sys-0.8.3.crate) = c3c91aea6668645415331133ed6f8ddf0e7f40160cd97a12d59e68716a58704b
+SIZE (rust/crates/dav1d-sys-0.8.3.crate) = 9530
+SHA256 (rust/crates/deranged-0.5.3.crate) = d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc
+SIZE (rust/crates/deranged-0.5.3.crate) = 24353
+SHA256 (rust/crates/derive_more-2.0.1.crate) = 093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678
+SIZE (rust/crates/derive_more-2.0.1.crate) = 70127
+SHA256 (rust/crates/derive_more-impl-2.0.1.crate) = bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3
+SIZE (rust/crates/derive_more-impl-2.0.1.crate) = 78233
SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
SIZE (rust/crates/difflib-0.4.0.crate) = 7638
SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
@@ -139,32 +149,36 @@ SHA256 (rust/crates/dlib-0.5.2.crate) = 330c60081dcc4c72131f8eb70510f1ac07223e5d
SIZE (rust/crates/dlib-0.5.2.crate) = 5806
SHA256 (rust/crates/doc-comment-0.3.3.crate) = fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10
SIZE (rust/crates/doc-comment-0.3.3.crate) = 4123
-SHA256 (rust/crates/dtoa-1.0.9.crate) = dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653
-SIZE (rust/crates/dtoa-1.0.9.crate) = 17002
+SHA256 (rust/crates/dtoa-1.0.10.crate) = d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04
+SIZE (rust/crates/dtoa-1.0.10.crate) = 17584
SHA256 (rust/crates/dtoa-short-0.3.5.crate) = cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87
SIZE (rust/crates/dtoa-short-0.3.5.crate) = 8287
-SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0
-SIZE (rust/crates/either-1.13.0.crate) = 19169
+SHA256 (rust/crates/ecb-0.1.2.crate) = 1a8bfa975b1aec2145850fcaa1c6fe269a16578c44705a532ae3edc92b8881c7
+SIZE (rust/crates/ecb-0.1.2.crate) = 6210
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
SHA256 (rust/crates/encoding_rs-0.8.35.crate) = 75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3
SIZE (rust/crates/encoding_rs-0.8.35.crate) = 1381050
-SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
-SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
-SHA256 (rust/crates/errno-0.3.10.crate) = 33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d
-SIZE (rust/crates/errno-0.3.10.crate) = 11824
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/errno-0.3.13.crate) = 778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad
+SIZE (rust/crates/errno-0.3.13.crate) = 12449
SHA256 (rust/crates/fallible_collections-0.4.9.crate) = a88c69768c0a15262df21899142bc6df9b9b823546d4b4b9a7bc2d6c448ec6fd
SIZE (rust/crates/fallible_collections-0.4.9.crate) = 49824
SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
SHA256 (rust/crates/fdeflate-0.3.7.crate) = 1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c
SIZE (rust/crates/fdeflate-0.3.7.crate) = 27188
-SHA256 (rust/crates/flate2-1.0.35.crate) = c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c
-SIZE (rust/crates/flate2-1.0.35.crate) = 109188
-SHA256 (rust/crates/float-cmp-0.9.0.crate) = 98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4
-SIZE (rust/crates/float-cmp-0.9.0.crate) = 10102
+SHA256 (rust/crates/find-msvc-tools-0.1.0.crate) = e178e4fba8a2726903f6ba98a6d221e76f9c12c650d5dc0e6afdc50677b49650
+SIZE (rust/crates/find-msvc-tools-0.1.0.crate) = 29903
+SHA256 (rust/crates/flate2-1.1.2.crate) = 4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d
+SIZE (rust/crates/flate2-1.1.2.crate) = 76495
+SHA256 (rust/crates/float-cmp-0.10.0.crate) = b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8
+SIZE (rust/crates/float-cmp-0.10.0.crate) = 10702
SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
SIZE (rust/crates/fnv-1.0.7.crate) = 11266
-SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
-SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/form_urlencoded-1.2.2.crate) = cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf
+SIZE (rust/crates/form_urlencoded-1.2.2.crate) = 9347
SHA256 (rust/crates/futf-0.1.5.crate) = df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843
SIZE (rust/crates/futf-0.1.5.crate) = 11344
SHA256 (rust/crates/futures-channel-0.3.31.crate) = 2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10
@@ -183,126 +197,122 @@ SHA256 (rust/crates/futures-util-0.3.31.crate) = 9fa08315bb612088cc391249efdc3bc
SIZE (rust/crates/futures-util-0.3.31.crate) = 162124
SHA256 (rust/crates/fxhash-0.2.1.crate) = c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c
SIZE (rust/crates/fxhash-0.2.1.crate) = 4102
-SHA256 (rust/crates/gdk-pixbuf-0.20.4.crate) = c4c29071a9e92337d8270a85cb0510cda4ac478be26d09ad027cc1d081911b19
-SIZE (rust/crates/gdk-pixbuf-0.20.4.crate) = 17801
-SHA256 (rust/crates/gdk-pixbuf-sys-0.20.4.crate) = 687343b059b91df5f3fbd87b4307038fa9e647fcc0461d0d3f93e94fee20bf3d
-SIZE (rust/crates/gdk-pixbuf-sys-0.20.4.crate) = 9850
+SHA256 (rust/crates/gdk-pixbuf-0.21.1.crate) = 3c7330cdbbc653df431331ae3d9d59e985a0fecaf33d74c7c1c5d13ab0245f6c
+SIZE (rust/crates/gdk-pixbuf-0.21.1.crate) = 21423
+SHA256 (rust/crates/gdk-pixbuf-sys-0.21.1.crate) = e25899cc931dc28cba912ebec793b730f53d2d419f90a562fcb29b53bd10aa82
+SIZE (rust/crates/gdk-pixbuf-sys-0.21.1.crate) = 14021
SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
-SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
-SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
-SHA256 (rust/crates/gif-0.13.1.crate) = 3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2
-SIZE (rust/crates/gif-0.13.1.crate) = 36408
-SHA256 (rust/crates/gio-0.20.6.crate) = 8826d2a9ad56ce3de1f04bea0bea0daff6f5f1c913cc834996cfea1f9401361c
-SIZE (rust/crates/gio-0.20.6.crate) = 203395
-SHA256 (rust/crates/gio-sys-0.20.8.crate) = 8446d9b475730ebef81802c1738d972db42fde1c5a36a627ebc4d665fc87db04
-SIZE (rust/crates/gio-sys-0.20.8.crate) = 82617
-SHA256 (rust/crates/glib-0.20.6.crate) = 86bd3e4ee7998ab5a135d900db56930cc19ad16681adf245daff54f618b9d5e1
-SIZE (rust/crates/glib-0.20.6.crate) = 285016
-SHA256 (rust/crates/glib-macros-0.20.5.crate) = e7d21ca27acfc3e91da70456edde144b4ac7c36f78ee77b10189b3eb4901c156
-SIZE (rust/crates/glib-macros-0.20.5.crate) = 72079
-SHA256 (rust/crates/glib-sys-0.20.6.crate) = 3d0b1827e8621fc42c0dfb228e5d57ff6a71f9699e666ece8113f979ad87c2de
-SIZE (rust/crates/glib-sys-0.20.6.crate) = 63919
-SHA256 (rust/crates/gobject-sys-0.20.4.crate) = a4c674d2ff8478cf0ec29d2be730ed779fef54415a2fb4b565c52def62696462
-SIZE (rust/crates/gobject-sys-0.20.4.crate) = 19149
-SHA256 (rust/crates/half-2.4.1.crate) = 6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888
-SIZE (rust/crates/half-2.4.1.crate) = 50892
+SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4
+SIZE (rust/crates/getrandom-0.3.3.crate) = 49493
+SHA256 (rust/crates/gif-0.13.3.crate) = 4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b
+SIZE (rust/crates/gif-0.13.3.crate) = 36010
+SHA256 (rust/crates/gio-0.21.1.crate) = 52b5e3f390d01b79e30da451dd00e27cd1ac2de81658e3abf6c1fc3229b24c5f
+SIZE (rust/crates/gio-0.21.1.crate) = 228292
+SHA256 (rust/crates/gio-sys-0.21.1.crate) = a03f2234671e5a588cfe1f59c2b22c103f5772ea351be9cc824a9ce0d06d99fd
+SIZE (rust/crates/gio-sys-0.21.1.crate) = 87224
+SHA256 (rust/crates/glib-0.21.1.crate) = 60bdc26493257b5794ba9301f7cbaf7ab0d69a570bfbefa4d7d360e781cb5205
+SIZE (rust/crates/glib-0.21.1.crate) = 298489
+SHA256 (rust/crates/glib-macros-0.21.0.crate) = e772291ebea14c28eb11bb75741f62f4a4894f25e60ce80100797b6b010ef0f9
+SIZE (rust/crates/glib-macros-0.21.0.crate) = 65629
+SHA256 (rust/crates/glib-sys-0.21.1.crate) = dc7c43cff6a7dc43821e45ebf172399437acd6716fa2186b6852d2b397bf622d
+SIZE (rust/crates/glib-sys-0.21.1.crate) = 68368
+SHA256 (rust/crates/gobject-sys-0.21.1.crate) = 3e9a190eef2bce144a6aa8434e306974c6062c398e0a33a146d60238f9062d5c
+SIZE (rust/crates/gobject-sys-0.21.1.crate) = 23364
+SHA256 (rust/crates/half-2.6.0.crate) = 459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9
+SIZE (rust/crates/half-2.6.0.crate) = 59507
SHA256 (rust/crates/hashbrown-0.13.2.crate) = 43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e
SIZE (rust/crates/hashbrown-0.13.2.crate) = 105265
-SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
-SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
+SHA256 (rust/crates/hashbrown-0.15.5.crate) = 9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1
+SIZE (rust/crates/hashbrown-0.15.5.crate) = 140908
SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
SIZE (rust/crates/heck-0.5.0.crate) = 11517
-SHA256 (rust/crates/hermit-abi-0.4.0.crate) = fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc
-SIZE (rust/crates/hermit-abi-0.4.0.crate) = 16310
-SHA256 (rust/crates/iana-time-zone-0.1.61.crate) = 235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220
-SIZE (rust/crates/iana-time-zone-0.1.61.crate) = 27685
+SHA256 (rust/crates/iana-time-zone-0.1.63.crate) = b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8
+SIZE (rust/crates/iana-time-zone-0.1.63.crate) = 32919
SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
-SHA256 (rust/crates/icu_collections-1.5.0.crate) = db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526
-SIZE (rust/crates/icu_collections-1.5.0.crate) = 82762
-SHA256 (rust/crates/icu_locid-1.5.0.crate) = 13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637
-SIZE (rust/crates/icu_locid-1.5.0.crate) = 55131
-SHA256 (rust/crates/icu_locid_transform-1.5.0.crate) = 01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e
-SIZE (rust/crates/icu_locid_transform-1.5.0.crate) = 29094
-SHA256 (rust/crates/icu_locid_transform_data-1.5.0.crate) = fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e
-SIZE (rust/crates/icu_locid_transform_data-1.5.0.crate) = 44727
-SHA256 (rust/crates/icu_normalizer-1.5.0.crate) = 19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f
-SIZE (rust/crates/icu_normalizer-1.5.0.crate) = 53113
-SHA256 (rust/crates/icu_normalizer_data-1.5.0.crate) = f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516
-SIZE (rust/crates/icu_normalizer_data-1.5.0.crate) = 50561
-SHA256 (rust/crates/icu_properties-1.5.1.crate) = 93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5
-SIZE (rust/crates/icu_properties-1.5.1.crate) = 64479
-SHA256 (rust/crates/icu_properties_data-1.5.0.crate) = 67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569
-SIZE (rust/crates/icu_properties_data-1.5.0.crate) = 227993
-SHA256 (rust/crates/icu_provider-1.5.0.crate) = 6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9
-SIZE (rust/crates/icu_provider-1.5.0.crate) = 52722
-SHA256 (rust/crates/icu_provider_macros-1.5.0.crate) = 1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6
-SIZE (rust/crates/icu_provider_macros-1.5.0.crate) = 6436
-SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e
-SIZE (rust/crates/idna-1.0.3.crate) = 142515
-SHA256 (rust/crates/idna_adapter-1.2.0.crate) = daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71
-SIZE (rust/crates/idna_adapter-1.2.0.crate) = 8206
-SHA256 (rust/crates/image-0.25.5.crate) = cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b
-SIZE (rust/crates/image-0.25.5.crate) = 241073
-SHA256 (rust/crates/image-webp-0.2.0.crate) = e031e8e3d94711a9ccb5d6ea357439ef3dcbed361798bd4071dc4d9793fbe22f
-SIZE (rust/crates/image-webp-0.2.0.crate) = 52958
-SHA256 (rust/crates/indexmap-2.7.0.crate) = 62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f
-SIZE (rust/crates/indexmap-2.7.0.crate) = 85335
-SHA256 (rust/crates/is-terminal-0.4.13.crate) = 261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b
-SIZE (rust/crates/is-terminal-0.4.13.crate) = 7665
+SHA256 (rust/crates/icu_collections-2.0.0.crate) = 200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47
+SIZE (rust/crates/icu_collections-2.0.0.crate) = 83033
+SHA256 (rust/crates/icu_locale_core-2.0.0.crate) = 0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a
+SIZE (rust/crates/icu_locale_core-2.0.0.crate) = 74430
+SHA256 (rust/crates/icu_normalizer-2.0.0.crate) = 436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979
+SIZE (rust/crates/icu_normalizer-2.0.0.crate) = 61543
+SHA256 (rust/crates/icu_normalizer_data-2.0.0.crate) = 00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3
+SIZE (rust/crates/icu_normalizer_data-2.0.0.crate) = 68101
+SHA256 (rust/crates/icu_properties-2.0.1.crate) = 016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b
+SIZE (rust/crates/icu_properties-2.0.1.crate) = 58165
+SHA256 (rust/crates/icu_properties_data-2.0.1.crate) = 298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632
+SIZE (rust/crates/icu_properties_data-2.0.1.crate) = 159735
+SHA256 (rust/crates/icu_provider-2.0.0.crate) = 03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af
+SIZE (rust/crates/icu_provider-2.0.0.crate) = 50966
+SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de
+SIZE (rust/crates/idna-1.1.0.crate) = 148747
+SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
+SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
+SHA256 (rust/crates/image-0.25.8.crate) = 529feb3e6769d234375c4cf1ee2ce713682b8e76538cb13f9fc23e1400a591e7
+SIZE (rust/crates/image-0.25.8.crate) = 292229
+SHA256 (rust/crates/image-webp-0.2.4.crate) = 525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3
+SIZE (rust/crates/image-webp-0.2.4.crate) = 68478
+SHA256 (rust/crates/indexmap-2.11.0.crate) = f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9
+SIZE (rust/crates/indexmap-2.11.0.crate) = 99851
+SHA256 (rust/crates/inout-0.1.4.crate) = 879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01
+SIZE (rust/crates/inout-0.1.4.crate) = 11280
SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
-SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
-SIZE (rust/crates/itertools-0.10.5.crate) = 115354
SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186
SIZE (rust/crates/itertools-0.13.0.crate) = 146261
-SHA256 (rust/crates/itoa-1.0.14.crate) = d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674
-SIZE (rust/crates/itoa-1.0.14.crate) = 11210
-SHA256 (rust/crates/js-sys-0.3.76.crate) = 6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7
-SIZE (rust/crates/js-sys-0.3.76.crate) = 54420
+SHA256 (rust/crates/itertools-0.14.0.crate) = 2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285
+SIZE (rust/crates/itertools-0.14.0.crate) = 152715
+SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
+SIZE (rust/crates/itoa-1.0.15.crate) = 11231
+SHA256 (rust/crates/jiff-0.2.15.crate) = be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49
+SIZE (rust/crates/jiff-0.2.15.crate) = 712996
+SHA256 (rust/crates/jiff-static-0.2.15.crate) = 03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4
+SIZE (rust/crates/jiff-static-0.2.15.crate) = 76146
+SHA256 (rust/crates/jiff-tzdb-0.1.4.crate) = c1283705eb0a21404d2bfd6eef2a7593d240bc42a0bdb39db0ad6fa2ec026524
+SIZE (rust/crates/jiff-tzdb-0.1.4.crate) = 62435
+SHA256 (rust/crates/jiff-tzdb-platform-0.1.3.crate) = 875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8
+SIZE (rust/crates/jiff-tzdb-platform-0.1.3.crate) = 3179
+SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f
+SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
SHA256 (rust/crates/language-tags-0.3.2.crate) = d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388
SIZE (rust/crates/language-tags-0.3.2.crate) = 53420
SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
-SHA256 (rust/crates/libc-0.2.168.crate) = 5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d
-SIZE (rust/crates/libc-0.2.168.crate) = 757025
-SHA256 (rust/crates/libloading-0.8.6.crate) = fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34
-SIZE (rust/crates/libloading-0.8.6.crate) = 28922
-SHA256 (rust/crates/libm-0.2.11.crate) = 8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa
-SIZE (rust/crates/libm-0.2.11.crate) = 111477
-SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f
-SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049
-SHA256 (rust/crates/linux-raw-sys-0.4.14.crate) = 78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89
-SIZE (rust/crates/linux-raw-sys-0.4.14.crate) = 1826665
-SHA256 (rust/crates/litemap-0.7.4.crate) = 4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104
-SIZE (rust/crates/litemap-0.7.4.crate) = 28257
+SHA256 (rust/crates/libc-0.2.175.crate) = 6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543
+SIZE (rust/crates/libc-0.2.175.crate) = 788728
+SHA256 (rust/crates/libloading-0.8.8.crate) = 07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667
+SIZE (rust/crates/libloading-0.8.8.crate) = 31345
+SHA256 (rust/crates/linux-raw-sys-0.9.4.crate) = cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12
+SIZE (rust/crates/linux-raw-sys-0.9.4.crate) = 2311088
+SHA256 (rust/crates/litemap-0.8.0.crate) = 241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956
+SIZE (rust/crates/litemap-0.8.0.crate) = 34344
SHA256 (rust/crates/locale_config-0.3.0.crate) = 08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934
SIZE (rust/crates/locale_config-0.3.0.crate) = 20808
-SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17
-SIZE (rust/crates/lock_api-0.4.12.crate) = 27591
-SHA256 (rust/crates/log-0.4.22.crate) = a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24
-SIZE (rust/crates/log-0.4.22.crate) = 44027
-SHA256 (rust/crates/lopdf-0.33.0.crate) = b5c14afa083a906d49e1bda105ddbf8175016e2658954e6d0c3e612f886df3db
-SIZE (rust/crates/lopdf-0.33.0.crate) = 6987342
+SHA256 (rust/crates/lock_api-0.4.13.crate) = 96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765
+SIZE (rust/crates/lock_api-0.4.13.crate) = 28565
+SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
+SIZE (rust/crates/log-0.4.27.crate) = 48120
+SHA256 (rust/crates/lopdf-0.38.0.crate) = c7184fdea2bc3cd272a1acec4030c321a8f9875e877b3f92a53f2f6033fdc289
+SIZE (rust/crates/lopdf-0.38.0.crate) = 7476430
SHA256 (rust/crates/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4
SIZE (rust/crates/mac-0.1.1.crate) = 4838
SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb
SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239
-SHA256 (rust/crates/markup5ever-0.12.1.crate) = 16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45
-SIZE (rust/crates/markup5ever-0.12.1.crate) = 34763
+SHA256 (rust/crates/markup5ever-0.35.0.crate) = 311fe69c934650f8f19652b3946075f0fc41ad8757dbb68f1ca14e7900ecc1c3
+SIZE (rust/crates/markup5ever-0.35.0.crate) = 15883
SHA256 (rust/crates/matches-0.1.10.crate) = 2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5
SIZE (rust/crates/matches-0.1.10.crate) = 2592
-SHA256 (rust/crates/matrixmultiply-0.3.9.crate) = 9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a
-SIZE (rust/crates/matrixmultiply-0.3.9.crate) = 57819
+SHA256 (rust/crates/matrixmultiply-0.3.10.crate) = a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08
+SIZE (rust/crates/matrixmultiply-0.3.10.crate) = 58170
SHA256 (rust/crates/md-5-0.10.6.crate) = d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf
SIZE (rust/crates/md-5-0.10.6.crate) = 16161
-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/miniz_oxide-0.8.0.crate) = e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1
-SIZE (rust/crates/miniz_oxide-0.8.0.crate) = 56343
+SHA256 (rust/crates/memchr-2.7.5.crate) = 32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0
+SIZE (rust/crates/memchr-2.7.5.crate) = 97603
+SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316
+SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
+SHA256 (rust/crates/moxcms-0.7.5.crate) = ddd32fa8935aeadb8a8a6b6b351e40225570a37c43de67690383d87ef170cd08
+SIZE (rust/crates/moxcms-0.7.5.crate) = 184232
SHA256 (rust/crates/mp4parse-0.17.0.crate) = 63a35203d3c6ce92d5251c77520acb2e57108c88728695aa883f70023624c570
SIZE (rust/crates/mp4parse-0.17.0.crate) = 82408
SHA256 (rust/crates/nalgebra-0.33.2.crate) = 26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b
@@ -311,8 +321,10 @@ SHA256 (rust/crates/nalgebra-macros-0.2.2.crate) = 254a5372af8fc138e36684761d3c0
SIZE (rust/crates/nalgebra-macros-0.2.2.crate) = 7545
SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086
SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582
-SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
-SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/nom-8.0.0.crate) = df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405
+SIZE (rust/crates/nom-8.0.0.crate) = 135590
+SHA256 (rust/crates/nom_locate-5.0.0.crate) = 0b577e2d69827c4740cba2b52efaad1c4cc7c73042860b199710b3575c68438d
+SIZE (rust/crates/nom_locate-5.0.0.crate) = 18236
SHA256 (rust/crates/normalize-line-endings-0.3.0.crate) = 61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be
SIZE (rust/crates/normalize-line-endings-0.3.0.crate) = 5737
SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
@@ -335,132 +347,148 @@ SHA256 (rust/crates/objc-foundation-0.1.1.crate) = 1add1b659e36c9607c7aab864a76c
SIZE (rust/crates/objc-foundation-0.1.1.crate) = 9063
SHA256 (rust/crates/objc_id-0.1.1.crate) = c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b
SIZE (rust/crates/objc_id-0.1.1.crate) = 3258
-SHA256 (rust/crates/once_cell-1.20.2.crate) = 1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775
-SIZE (rust/crates/once_cell-1.20.2.crate) = 33394
-SHA256 (rust/crates/oorandom-11.1.4.crate) = b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9
-SIZE (rust/crates/oorandom-11.1.4.crate) = 10201
-SHA256 (rust/crates/pango-0.20.6.crate) = 71e34e7ca2c52e3933d7e5251409a82b83725fa9d6d48fbdaacec056b3a0554a
-SIZE (rust/crates/pango-0.20.6.crate) = 45581
-SHA256 (rust/crates/pango-sys-0.20.4.crate) = 84fd65917bf12f06544ae2bbc200abf9fc0a513a5a88a0fa81013893aef2b838
-SIZE (rust/crates/pango-sys-0.20.4.crate) = 24956
-SHA256 (rust/crates/pangocairo-0.20.4.crate) = 4291ca8cdd05e4330752bf8a450d3a4e701ca48fd9aad2b3566e92849ee4055e
-SIZE (rust/crates/pangocairo-0.20.4.crate) = 5627
-SHA256 (rust/crates/pangocairo-sys-0.20.4.crate) = be0ed959258ea648a49bde7dfdbaa98310717cb15159b421fa76510c45ec306e
-SIZE (rust/crates/pangocairo-sys-0.20.4.crate) = 3368
-SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27
-SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860
-SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8
-SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad
+SIZE (rust/crates/once_cell_polyfill-1.70.1.crate) = 7510
+SHA256 (rust/crates/oorandom-11.1.5.crate) = d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e
+SIZE (rust/crates/oorandom-11.1.5.crate) = 23750
+SHA256 (rust/crates/pango-0.21.1.crate) = ab47feb3403aa564edaeb68620c5b9159f8814733a7dd45f0b1a27d19de362fe
+SIZE (rust/crates/pango-0.21.1.crate) = 49650
+SHA256 (rust/crates/pango-sys-0.21.1.crate) = 1f855bccb447644e149fae79086e1f81514c30fe5e9b8bd257d9d3c941116c86
+SIZE (rust/crates/pango-sys-0.21.1.crate) = 29211
+SHA256 (rust/crates/pangocairo-0.21.1.crate) = bb23cf0052917cbf75f160d4913a46ce741567f566b514fadc09d761f41eb2fb
+SIZE (rust/crates/pangocairo-0.21.1.crate) = 9420
+SHA256 (rust/crates/pangocairo-sys-0.21.1.crate) = dcda09c0b17007d7eb6c5eb1643c5b40b067073c15f0cc5a809a6fc68b5d9be7
+SIZE (rust/crates/pangocairo-sys-0.21.1.crate) = 7365
+SHA256 (rust/crates/parking_lot-0.12.4.crate) = 70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13
+SIZE (rust/crates/parking_lot-0.12.4.crate) = 46779
+SHA256 (rust/crates/parking_lot_core-0.9.11.crate) = bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5
+SIZE (rust/crates/parking_lot_core-0.9.11.crate) = 34773
SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
SIZE (rust/crates/paste-1.0.15.crate) = 18374
-SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
-SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
-SHA256 (rust/crates/phf-0.10.1.crate) = fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259
-SIZE (rust/crates/phf-0.10.1.crate) = 5406
-SHA256 (rust/crates/phf-0.11.2.crate) = ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc
-SIZE (rust/crates/phf-0.11.2.crate) = 21569
-SHA256 (rust/crates/phf_codegen-0.10.0.crate) = 4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd
-SIZE (rust/crates/phf_codegen-0.10.0.crate) = 3402
-SHA256 (rust/crates/phf_codegen-0.11.2.crate) = e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a
-SIZE (rust/crates/phf_codegen-0.11.2.crate) = 12977
-SHA256 (rust/crates/phf_generator-0.10.0.crate) = 5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6
-SIZE (rust/crates/phf_generator-0.10.0.crate) = 7525
-SHA256 (rust/crates/phf_generator-0.11.2.crate) = 48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0
-SIZE (rust/crates/phf_generator-0.11.2.crate) = 14190
-SHA256 (rust/crates/phf_macros-0.11.2.crate) = 3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b
-SIZE (rust/crates/phf_macros-0.11.2.crate) = 4748
-SHA256 (rust/crates/phf_shared-0.10.0.crate) = b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096
-SIZE (rust/crates/phf_shared-0.10.0.crate) = 4095
-SHA256 (rust/crates/phf_shared-0.11.2.crate) = 90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b
-SIZE (rust/crates/phf_shared-0.11.2.crate) = 14284
-SHA256 (rust/crates/pin-project-lite-0.2.15.crate) = 915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff
-SIZE (rust/crates/pin-project-lite-0.2.15.crate) = 29683
+SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220
+SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583
+SHA256 (rust/crates/phf-0.11.3.crate) = 1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078
+SIZE (rust/crates/phf-0.11.3.crate) = 23231
+SHA256 (rust/crates/phf_codegen-0.11.3.crate) = aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a
+SIZE (rust/crates/phf_codegen-0.11.3.crate) = 13741
+SHA256 (rust/crates/phf_generator-0.11.3.crate) = 3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d
+SIZE (rust/crates/phf_generator-0.11.3.crate) = 15431
+SHA256 (rust/crates/phf_macros-0.11.3.crate) = f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216
+SIZE (rust/crates/phf_macros-0.11.3.crate) = 18436
+SHA256 (rust/crates/phf_shared-0.11.3.crate) = 67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5
+SIZE (rust/crates/phf_shared-0.11.3.crate) = 15199
+SHA256 (rust/crates/phf_shared-0.13.1.crate) = e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266
+SIZE (rust/crates/phf_shared-0.13.1.crate) = 16141
+SHA256 (rust/crates/pin-project-lite-0.2.16.crate) = 3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b
+SIZE (rust/crates/pin-project-lite-0.2.16.crate) = 30504
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
-SHA256 (rust/crates/pkg-config-0.3.31.crate) = 953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2
-SIZE (rust/crates/pkg-config-0.3.31.crate) = 20880
+SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c
+SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370
SHA256 (rust/crates/plotters-0.3.7.crate) = 5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747
SIZE (rust/crates/plotters-0.3.7.crate) = 149031
SHA256 (rust/crates/plotters-backend-0.3.7.crate) = df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a
SIZE (rust/crates/plotters-backend-0.3.7.crate) = 13709
SHA256 (rust/crates/plotters-svg-0.3.7.crate) = 51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670
SIZE (rust/crates/plotters-svg-0.3.7.crate) = 6715
-SHA256 (rust/crates/png-0.17.15.crate) = b67582bd5b65bdff614270e2ea89a1cf15bef71245cc1e5f7ea126977144211d
-SIZE (rust/crates/png-0.17.15.crate) = 117111
+SHA256 (rust/crates/png-0.18.0.crate) = 97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0
+SIZE (rust/crates/png-0.18.0.crate) = 118041
+SHA256 (rust/crates/portable-atomic-1.11.1.crate) = f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483
+SIZE (rust/crates/portable-atomic-1.11.1.crate) = 185506
+SHA256 (rust/crates/portable-atomic-util-0.2.4.crate) = d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507
+SIZE (rust/crates/portable-atomic-util-0.2.4.crate) = 47043
+SHA256 (rust/crates/potential_utf-0.1.3.crate) = 84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a
+SIZE (rust/crates/potential_utf-0.1.3.crate) = 9698
SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
-SHA256 (rust/crates/ppv-lite86-0.2.20.crate) = 77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04
-SIZE (rust/crates/ppv-lite86-0.2.20.crate) = 22478
+SHA256 (rust/crates/ppv-lite86-0.2.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9
+SIZE (rust/crates/ppv-lite86-0.2.21.crate) = 22522
SHA256 (rust/crates/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c
SIZE (rust/crates/precomputed-hash-0.1.1.crate) = 1640
-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-macro-crate-3.2.0.crate) = 8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b
-SIZE (rust/crates/proc-macro-crate-3.2.0.crate) = 11164
-SHA256 (rust/crates/proc-macro2-1.0.92.crate) = 37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0
-SIZE (rust/crates/proc-macro2-1.0.92.crate) = 52353
-SHA256 (rust/crates/proptest-1.5.0.crate) = b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d
-SIZE (rust/crates/proptest-1.5.0.crate) = 201381
+SHA256 (rust/crates/predicates-3.1.3.crate) = a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573
+SIZE (rust/crates/predicates-3.1.3.crate) = 24063
+SHA256 (rust/crates/predicates-core-1.0.9.crate) = 727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa
+SIZE (rust/crates/predicates-core-1.0.9.crate) = 8618
+SHA256 (rust/crates/predicates-tree-1.0.12.crate) = 72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c
+SIZE (rust/crates/predicates-tree-1.0.12.crate) = 8392
+SHA256 (rust/crates/proc-macro-crate-3.3.0.crate) = edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35
+SIZE (rust/crates/proc-macro-crate-3.3.0.crate) = 12432
+SHA256 (rust/crates/proc-macro2-1.0.101.crate) = 89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de
+SIZE (rust/crates/proc-macro2-1.0.101.crate) = 53886
+SHA256 (rust/crates/proptest-1.7.0.crate) = 6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f
+SIZE (rust/crates/proptest-1.7.0.crate) = 204889
+SHA256 (rust/crates/pxfm-0.1.20.crate) = 6e790881194f6f6e86945f0a42a6981977323669aeb6c40e9c7ec253133b96f8
+SIZE (rust/crates/pxfm-0.1.20.crate) = 1199161
SHA256 (rust/crates/quick-error-1.2.3.crate) = a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0
SIZE (rust/crates/quick-error-1.2.3.crate) = 15066
SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3
SIZE (rust/crates/quick-error-2.0.1.crate) = 14265
-SHA256 (rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af
-SIZE (rust/crates/quote-1.0.37.crate) = 28558
+SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
+SIZE (rust/crates/quote-1.0.40.crate) = 31063
+SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
+SIZE (rust/crates/r-efi-5.3.0.crate) = 64532
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-0.9.2.crate) = 6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1
+SIZE (rust/crates/rand-0.9.2.crate) = 99930
+SHA256 (rust/crates/rand_chacha-0.9.0.crate) = d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb
+SIZE (rust/crates/rand_chacha-0.9.0.crate) = 18258
SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
-SHA256 (rust/crates/rand_xorshift-0.3.0.crate) = d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f
-SIZE (rust/crates/rand_xorshift-0.3.0.crate) = 9121
+SHA256 (rust/crates/rand_core-0.9.3.crate) = 99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38
+SIZE (rust/crates/rand_core-0.9.3.crate) = 24543
+SHA256 (rust/crates/rand_xorshift-0.4.0.crate) = 513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a
+SIZE (rust/crates/rand_xorshift-0.4.0.crate) = 10262
+SHA256 (rust/crates/rangemap-1.6.0.crate) = f93e7e49bb0bf967717f7bd674458b3d6b0c5f48ec7e3038166026a69fc22223
+SIZE (rust/crates/rangemap-1.6.0.crate) = 58332
SHA256 (rust/crates/rawpointer-0.2.1.crate) = 60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3
SIZE (rust/crates/rawpointer-0.2.1.crate) = 7490
-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/rayon-1.11.0.crate) = 368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f
+SIZE (rust/crates/rayon-1.11.0.crate) = 182470
+SHA256 (rust/crates/rayon-core-1.13.0.crate) = 22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91
+SIZE (rust/crates/rayon-core-1.13.0.crate) = 73151
SHA256 (rust/crates/rctree-0.6.0.crate) = e03e7866abec1101869ffa8e2c8355c4c2419d0214ece0cc3e428e5b94dea6e9
SIZE (rust/crates/rctree-0.6.0.crate) = 8312
-SHA256 (rust/crates/redox_syscall-0.5.7.crate) = 9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f
-SIZE (rust/crates/redox_syscall-0.5.7.crate) = 26249
-SHA256 (rust/crates/regex-1.11.1.crate) = b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191
-SIZE (rust/crates/regex-1.11.1.crate) = 254170
-SHA256 (rust/crates/regex-automata-0.4.9.crate) = 809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908
-SIZE (rust/crates/regex-automata-0.4.9.crate) = 618525
-SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c
-SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
-SHA256 (rust/crates/rgb-0.8.50.crate) = 57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a
-SIZE (rust/crates/rgb-0.8.50.crate) = 21980
-SHA256 (rust/crates/rustix-0.38.42.crate) = f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85
-SIZE (rust/crates/rustix-0.38.42.crate) = 378683
+SHA256 (rust/crates/redox_syscall-0.5.17.crate) = 5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77
+SIZE (rust/crates/redox_syscall-0.5.17.crate) = 30002
+SHA256 (rust/crates/regex-1.11.2.crate) = 23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912
+SIZE (rust/crates/regex-1.11.2.crate) = 166265
+SHA256 (rust/crates/regex-automata-0.4.10.crate) = 6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6
+SIZE (rust/crates/regex-automata-0.4.10.crate) = 622754
+SHA256 (rust/crates/regex-syntax-0.8.6.crate) = caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001
+SIZE (rust/crates/regex-syntax-0.8.6.crate) = 358808
+SHA256 (rust/crates/rgb-0.8.52.crate) = 0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce
+SIZE (rust/crates/rgb-0.8.52.crate) = 22449
+SHA256 (rust/crates/rustix-1.0.8.crate) = 11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8
+SIZE (rust/crates/rustix-1.0.8.crate) = 416688
+SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
+SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
SHA256 (rust/crates/rusty-fork-0.3.0.crate) = cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f
SIZE (rust/crates/rusty-fork-0.3.0.crate) = 19881
-SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f
-SIZE (rust/crates/ryu-1.0.18.crate) = 47713
-SHA256 (rust/crates/safe_arch-0.7.2.crate) = c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a
-SIZE (rust/crates/safe_arch-0.7.2.crate) = 74949
+SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
+SIZE (rust/crates/ryu-1.0.20.crate) = 48738
+SHA256 (rust/crates/safe_arch-0.7.4.crate) = 96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323
+SIZE (rust/crates/safe_arch-0.7.4.crate) = 74564
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.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
-SHA256 (rust/crates/selectors-0.25.0.crate) = 4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06
-SIZE (rust/crates/selectors-0.25.0.crate) = 53052
-SHA256 (rust/crates/serde-1.0.215.crate) = 6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f
-SIZE (rust/crates/serde-1.0.215.crate) = 78527
-SHA256 (rust/crates/serde_derive-1.0.215.crate) = ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0
-SIZE (rust/crates/serde_derive-1.0.215.crate) = 57092
-SHA256 (rust/crates/serde_json-1.0.133.crate) = c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377
-SIZE (rust/crates/serde_json-1.0.133.crate) = 150739
-SHA256 (rust/crates/serde_spanned-0.6.8.crate) = 87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1
-SIZE (rust/crates/serde_spanned-0.6.8.crate) = 9330
-SHA256 (rust/crates/servo_arc-0.3.0.crate) = d036d71a959e00c77a63538b90a6c2390969f9772b096ea837205c6bd0491a44
-SIZE (rust/crates/servo_arc-0.3.0.crate) = 12738
+SHA256 (rust/crates/selectors-0.31.0.crate) = 5685b6ae43bfcf7d2e7dfcfb5d8e8f61b46442c902531e41a32a9a8bf0ee0fb6
+SIZE (rust/crates/selectors-0.31.0.crate) = 65453
+SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6
+SIZE (rust/crates/serde-1.0.219.crate) = 78983
+SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00
+SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798
+SHA256 (rust/crates/serde_json-1.0.143.crate) = d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a
+SIZE (rust/crates/serde_json-1.0.143.crate) = 155342
+SHA256 (rust/crates/serde_spanned-0.6.9.crate) = bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3
+SIZE (rust/crates/serde_spanned-0.6.9.crate) = 10210
+SHA256 (rust/crates/servo_arc-0.4.1.crate) = 204ea332803bd95a0b60388590d59cf6468ec9becf626e2451f1d26a1d972de4
+SIZE (rust/crates/servo_arc-0.4.1.crate) = 18512
+SHA256 (rust/crates/sha2-0.10.9.crate) = a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283
+SIZE (rust/crates/sha2-0.10.9.crate) = 29271
SHA256 (rust/crates/shell-words-1.1.0.crate) = 24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde
SIZE (rust/crates/shell-words-1.1.0.crate) = 9871
SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
@@ -469,74 +497,82 @@ SHA256 (rust/crates/simba-0.9.0.crate) = b3a386a501cd104797982c15ae17aafe8b92613
SIZE (rust/crates/simba-0.9.0.crate) = 52680
SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
-SHA256 (rust/crates/siphasher-0.3.11.crate) = 38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d
-SIZE (rust/crates/siphasher-0.3.11.crate) = 10442
-SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
-SIZE (rust/crates/slab-0.4.9.crate) = 17108
-SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67
-SIZE (rust/crates/smallvec-1.13.2.crate) = 35216
+SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d
+SIZE (rust/crates/siphasher-1.0.1.crate) = 10351
+SHA256 (rust/crates/slab-0.4.11.crate) = 7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589
+SIZE (rust/crates/slab-0.4.11.crate) = 18549
+SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
+SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
-SHA256 (rust/crates/string_cache-0.8.7.crate) = f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b
-SIZE (rust/crates/string_cache-0.8.7.crate) = 16655
-SHA256 (rust/crates/string_cache_codegen-0.5.2.crate) = 6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988
-SIZE (rust/crates/string_cache_codegen-0.5.2.crate) = 8156
+SHA256 (rust/crates/string_cache-0.8.9.crate) = bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f
+SIZE (rust/crates/string_cache-0.8.9.crate) = 17408
+SHA256 (rust/crates/string_cache-0.9.0.crate) = a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901
+SIZE (rust/crates/string_cache-0.9.0.crate) = 17402
+SHA256 (rust/crates/string_cache_codegen-0.5.4.crate) = c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0
+SIZE (rust/crates/string_cache_codegen-0.5.4.crate) = 9406
+SHA256 (rust/crates/stringprep-0.1.5.crate) = 7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1
+SIZE (rust/crates/stringprep-0.1.5.crate) = 23573
SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
-SHA256 (rust/crates/syn-2.0.90.crate) = 919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31
-SIZE (rust/crates/syn-2.0.90.crate) = 290584
-SHA256 (rust/crates/synstructure-0.13.1.crate) = c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971
-SIZE (rust/crates/synstructure-0.13.1.crate) = 18327
-SHA256 (rust/crates/system-deps-6.2.2.crate) = a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349
-SIZE (rust/crates/system-deps-6.2.2.crate) = 25546
-SHA256 (rust/crates/system-deps-7.0.3.crate) = 66d23aaf9f331227789a99e8de4c91bf46703add012bdfd45fdecdfb2975a005
-SIZE (rust/crates/system-deps-7.0.3.crate) = 26313
-SHA256 (rust/crates/target-lexicon-0.12.16.crate) = 61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1
-SIZE (rust/crates/target-lexicon-0.12.16.crate) = 26488
-SHA256 (rust/crates/tempfile-3.14.0.crate) = 28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c
-SIZE (rust/crates/tempfile-3.14.0.crate) = 35065
+SHA256 (rust/crates/syn-2.0.106.crate) = ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6
+SIZE (rust/crates/syn-2.0.106.crate) = 301514
+SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
+SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
+SHA256 (rust/crates/system-deps-7.0.5.crate) = e4be53aa0cba896d2dc615bd42bbc130acdcffa239e0a2d965ea5b3b2a86ffdb
+SIZE (rust/crates/system-deps-7.0.5.crate) = 28669
+SHA256 (rust/crates/target-lexicon-0.13.2.crate) = e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a
+SIZE (rust/crates/target-lexicon-0.13.2.crate) = 27923
+SHA256 (rust/crates/tempfile-3.21.0.crate) = 15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e
+SIZE (rust/crates/tempfile-3.21.0.crate) = 42581
SHA256 (rust/crates/tendril-0.4.3.crate) = d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0
SIZE (rust/crates/tendril-0.4.3.crate) = 37210
-SHA256 (rust/crates/termtree-0.4.1.crate) = 3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76
-SIZE (rust/crates/termtree-0.4.1.crate) = 4557
-SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
-SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
-SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1
-SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365
-SHA256 (rust/crates/time-0.3.37.crate) = 35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21
-SIZE (rust/crates/time-0.3.37.crate) = 123257
-SHA256 (rust/crates/time-core-0.1.2.crate) = ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3
-SIZE (rust/crates/time-core-0.1.2.crate) = 7191
-SHA256 (rust/crates/time-macros-0.2.19.crate) = 2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de
-SIZE (rust/crates/time-macros-0.2.19.crate) = 24268
-SHA256 (rust/crates/tinystr-0.7.6.crate) = 9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f
-SIZE (rust/crates/tinystr-0.7.6.crate) = 16971
+SHA256 (rust/crates/termtree-0.5.1.crate) = 8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683
+SIZE (rust/crates/termtree-0.5.1.crate) = 8498
+SHA256 (rust/crates/thiserror-2.0.16.crate) = 3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0
+SIZE (rust/crates/thiserror-2.0.16.crate) = 29095
+SHA256 (rust/crates/thiserror-impl-2.0.16.crate) = 6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960
+SIZE (rust/crates/thiserror-impl-2.0.16.crate) = 21214
+SHA256 (rust/crates/time-0.3.42.crate) = 8ca967379f9d8eb8058d86ed467d81d03e81acd45757e4ca341c24affbe8e8e3
+SIZE (rust/crates/time-0.3.42.crate) = 142370
+SHA256 (rust/crates/time-core-0.1.5.crate) = a9108bb380861b07264b950ded55a44a14a4adc68b9f5efd85aafc3aa4d40a68
+SIZE (rust/crates/time-core-0.1.5.crate) = 9110
+SHA256 (rust/crates/time-macros-0.2.23.crate) = 7182799245a7264ce590b349d90338f1c1affad93d2639aed5f8f69c090b334c
+SIZE (rust/crates/time-macros-0.2.23.crate) = 24713
+SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b
+SIZE (rust/crates/tinystr-0.8.1.crate) = 23333
SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
-SHA256 (rust/crates/tinyvec-1.8.0.crate) = 445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938
-SIZE (rust/crates/tinyvec-1.8.0.crate) = 46796
+SHA256 (rust/crates/tinyvec-1.10.0.crate) = bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa
+SIZE (rust/crates/tinyvec-1.10.0.crate) = 51996
SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
-SHA256 (rust/crates/toml-0.8.19.crate) = a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e
-SIZE (rust/crates/toml-0.8.19.crate) = 50974
-SHA256 (rust/crates/toml_datetime-0.6.8.crate) = 0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41
-SIZE (rust/crates/toml_datetime-0.6.8.crate) = 12028
-SHA256 (rust/crates/toml_edit-0.22.22.crate) = 4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5
-SIZE (rust/crates/toml_edit-0.22.22.crate) = 106387
-SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
-SIZE (rust/crates/typenum-1.17.0.crate) = 42849
+SHA256 (rust/crates/toml-0.8.23.crate) = dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362
+SIZE (rust/crates/toml-0.8.23.crate) = 36050
+SHA256 (rust/crates/toml_datetime-0.6.11.crate) = 22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c
+SIZE (rust/crates/toml_datetime-0.6.11.crate) = 16125
+SHA256 (rust/crates/toml_edit-0.22.27.crate) = 41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a
+SIZE (rust/crates/toml_edit-0.22.27.crate) = 78602
+SHA256 (rust/crates/ttf-parser-0.25.1.crate) = d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31
+SIZE (rust/crates/ttf-parser-0.25.1.crate) = 201121
+SHA256 (rust/crates/typenum-1.18.0.crate) = 1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f
+SIZE (rust/crates/typenum-1.18.0.crate) = 74871
SHA256 (rust/crates/unarray-0.1.4.crate) = eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94
SIZE (rust/crates/unarray-0.1.4.crate) = 12895
-SHA256 (rust/crates/unicode-ident-1.0.14.crate) = adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83
-SIZE (rust/crates/unicode-ident-1.0.14.crate) = 47547
-SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
-SIZE (rust/crates/url-2.5.4.crate) = 81097
+SHA256 (rust/crates/unicode-bidi-0.3.18.crate) = 5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5
+SIZE (rust/crates/unicode-bidi-0.3.18.crate) = 58300
+SHA256 (rust/crates/unicode-ident-1.0.18.crate) = 5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512
+SIZE (rust/crates/unicode-ident-1.0.18.crate) = 47743
+SHA256 (rust/crates/unicode-normalization-0.1.24.crate) = 5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956
+SIZE (rust/crates/unicode-normalization-0.1.24.crate) = 126536
+SHA256 (rust/crates/unicode-properties-0.1.3.crate) = e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0
+SIZE (rust/crates/unicode-properties-0.1.3.crate) = 42252
+SHA256 (rust/crates/url-2.5.7.crate) = 08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b
+SIZE (rust/crates/url-2.5.7.crate) = 87907
SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
-SHA256 (rust/crates/utf16_iter-1.0.5.crate) = c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246
-SIZE (rust/crates/utf16_iter-1.0.5.crate) = 9736
SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
@@ -545,87 +581,119 @@ SHA256 (rust/crates/version-compare-0.2.0.crate) = 852e951cb7832cb45cb1169900d19
SIZE (rust/crates/version-compare-0.2.0.crate) = 13942
SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
SIZE (rust/crates/version_check-0.9.5.crate) = 15554
-SHA256 (rust/crates/wait-timeout-0.2.0.crate) = 9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6
-SIZE (rust/crates/wait-timeout-0.2.0.crate) = 12441
+SHA256 (rust/crates/wait-timeout-0.2.1.crate) = 09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11
+SIZE (rust/crates/wait-timeout-0.2.1.crate) = 11435
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.99.crate) = a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396
-SIZE (rust/crates/wasm-bindgen-0.2.99.crate) = 46136
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.99.crate) = 5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79
-SIZE (rust/crates/wasm-bindgen-backend-0.2.99.crate) = 30928
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.99.crate) = 2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe
-SIZE (rust/crates/wasm-bindgen-macro-0.2.99.crate) = 7011
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.99.crate) = 30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.99.crate) = 22800
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.99.crate) = 943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6
-SIZE (rust/crates/wasm-bindgen-shared-0.2.99.crate) = 7773
-SHA256 (rust/crates/web-sys-0.3.76.crate) = 04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc
-SIZE (rust/crates/web-sys-0.3.76.crate) = 635842
-SHA256 (rust/crates/weezl-0.1.8.crate) = 53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082
-SIZE (rust/crates/weezl-0.1.8.crate) = 42175
-SHA256 (rust/crates/wide-0.7.30.crate) = 58e6db2670d2be78525979e9a5f9c69d296fd7d670549fe9ebf70f8708cb5019
-SIZE (rust/crates/wide-0.7.30.crate) = 96407
+SHA256 (rust/crates/wasi-0.14.3+wasi-0.2.4.crate) = 6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95
+SIZE (rust/crates/wasi-0.14.3+wasi-0.2.4.crate) = 144010
+SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
+SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
+SIZE (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 32111
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407
+SIZE (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 9663
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 26243
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d
+SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570
+SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2
+SIZE (rust/crates/web-sys-0.3.77.crate) = 638246
+SHA256 (rust/crates/web_atoms-0.1.3.crate) = 57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414
+SIZE (rust/crates/web_atoms-0.1.3.crate) = 27392
+SHA256 (rust/crates/weezl-0.1.10.crate) = a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3
+SIZE (rust/crates/weezl-0.1.10.crate) = 46418
+SHA256 (rust/crates/wide-0.7.33.crate) = 0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03
+SIZE (rust/crates/wide-0.7.33.crate) = 99792
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.9.crate) = cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb
-SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464
+SHA256 (rust/crates/winapi-util-0.1.10.crate) = 0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22
+SIZE (rust/crates/winapi-util-0.1.10.crate) = 13370
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 (rust/crates/windows-core-0.52.0.crate) = 33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9
-SIZE (rust/crates/windows-core-0.52.0.crate) = 42154
-SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
-SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-core-0.61.2.crate) = c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3
+SIZE (rust/crates/windows-core-0.61.2.crate) = 36771
+SHA256 (rust/crates/windows-implement-0.60.0.crate) = a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836
+SIZE (rust/crates/windows-implement-0.60.0.crate) = 15073
+SHA256 (rust/crates/windows-interface-0.59.1.crate) = bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8
+SIZE (rust/crates/windows-interface-0.59.1.crate) = 11735
+SHA256 (rust/crates/windows-link-0.1.3.crate) = 5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a
+SIZE (rust/crates/windows-link-0.1.3.crate) = 6154
+SHA256 (rust/crates/windows-result-0.3.4.crate) = 56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6
+SIZE (rust/crates/windows-result-0.3.4.crate) = 13418
+SHA256 (rust/crates/windows-strings-0.4.2.crate) = 56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57
+SIZE (rust/crates/windows-strings-0.4.2.crate) = 13983
SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
+SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows-targets-0.53.3.crate) = d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91
+SIZE (rust/crates/windows-targets-0.53.3.crate) = 7099
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_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443
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_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c
+SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446
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_gnu-0.53.0.crate) = c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3
+SIZE (rust/crates/windows_i686_gnu-0.53.0.crate) = 936973
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_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11
+SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056
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_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d
+SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450
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_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba
+SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585
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_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434
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/winnow-0.6.20.crate) = 36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b
-SIZE (rust/crates/winnow-0.6.20.crate) = 163617
-SHA256 (rust/crates/write16-1.0.0.crate) = d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936
-SIZE (rust/crates/write16-1.0.0.crate) = 7218
-SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51
-SIZE (rust/crates/writeable-0.5.5.crate) = 22354
-SHA256 (rust/crates/xml5ever-0.18.1.crate) = 9bbb26405d8e919bc1547a5aa9abc95cbfa438f04844f5fdd9dc7596b748bf69
-SIZE (rust/crates/xml5ever-0.18.1.crate) = 40190
+SHA256 (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486
+SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400
+SHA256 (rust/crates/winnow-0.7.13.crate) = 21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf
+SIZE (rust/crates/winnow-0.7.13.crate) = 174454
+SHA256 (rust/crates/wit-bindgen-0.45.0.crate) = 052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814
+SIZE (rust/crates/wit-bindgen-0.45.0.crate) = 60405
+SHA256 (rust/crates/writeable-0.6.1.crate) = ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb
+SIZE (rust/crates/writeable-0.6.1.crate) = 24068
+SHA256 (rust/crates/xml5ever-0.35.0.crate) = ee3f1e41afb31a75aef076563b0ad3ecc24f5bd9d12a72b132222664eb76b494
+SIZE (rust/crates/xml5ever-0.35.0.crate) = 40626
SHA256 (rust/crates/yeslogic-fontconfig-sys-6.0.0.crate) = 503a066b4c037c440169d995b869046827dbc71263f6e8f3be6d77d4f3229dbd
SIZE (rust/crates/yeslogic-fontconfig-sys-6.0.0.crate) = 6677
-SHA256 (rust/crates/yoke-0.7.5.crate) = 120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40
-SIZE (rust/crates/yoke-0.7.5.crate) = 29673
-SHA256 (rust/crates/yoke-derive-0.7.5.crate) = 2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154
-SIZE (rust/crates/yoke-derive-0.7.5.crate) = 7525
-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 (rust/crates/zerofrom-0.1.5.crate) = cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e
-SIZE (rust/crates/zerofrom-0.1.5.crate) = 5091
-SHA256 (rust/crates/zerofrom-derive-0.1.5.crate) = 595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808
-SIZE (rust/crates/zerofrom-derive-0.1.5.crate) = 8285
-SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079
-SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
-SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
-SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
+SHA256 (rust/crates/yoke-0.8.0.crate) = 5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc
+SIZE (rust/crates/yoke-0.8.0.crate) = 28726
+SHA256 (rust/crates/yoke-derive-0.8.0.crate) = 38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6
+SIZE (rust/crates/yoke-derive-0.8.0.crate) = 7521
+SHA256 (rust/crates/zerocopy-0.8.26.crate) = 1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f
+SIZE (rust/crates/zerocopy-0.8.26.crate) = 249223
+SHA256 (rust/crates/zerocopy-derive-0.8.26.crate) = 9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181
+SIZE (rust/crates/zerocopy-derive-0.8.26.crate) = 88080
+SHA256 (rust/crates/zerofrom-0.1.6.crate) = 50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5
+SIZE (rust/crates/zerofrom-0.1.6.crate) = 5669
+SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502
+SIZE (rust/crates/zerofrom-derive-0.1.6.crate) = 8305
+SHA256 (rust/crates/zerotrie-0.2.2.crate) = 36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595
+SIZE (rust/crates/zerotrie-0.2.2.crate) = 74423
+SHA256 (rust/crates/zerovec-0.11.4.crate) = e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b
+SIZE (rust/crates/zerovec-0.11.4.crate) = 125080
+SHA256 (rust/crates/zerovec-derive-0.11.1.crate) = 5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f
+SIZE (rust/crates/zerovec-derive-0.11.1.crate) = 21294
SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a
SIZE (rust/crates/zune-core-0.4.12.crate) = 17355
-SHA256 (rust/crates/zune-jpeg-0.4.14.crate) = 99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028
-SIZE (rust/crates/zune-jpeg-0.4.14.crate) = 63388
+SHA256 (rust/crates/zune-jpeg-0.4.20.crate) = fc1f7e205ce79eb2da3cd71c5f55f3589785cb7c79f6a03d1c8d1491bda5d089
+SIZE (rust/crates/zune-jpeg-0.4.20.crate) = 67723
diff --git a/graphics/librsvg2-rust/pkg-plist b/graphics/librsvg2-rust/pkg-plist
index 56de103c9104..f6fe92e7bd53 100644
--- a/graphics/librsvg2-rust/pkg-plist
+++ b/graphics/librsvg2-rust/pkg-plist
@@ -8,7 +8,7 @@ lib/gdk-pixbuf-2.0/%%GTK2_VERSION%%/loaders/libpixbufloader_svg.so
lib/girepository-1.0/Rsvg-2.0.typelib
lib/librsvg-2.so
lib/librsvg-2.so.2
-lib/librsvg-2.so.2.60.0
+lib/librsvg-2.so.2.61.2
libdata/pkgconfig/librsvg-2.0.pc
share/man/man1/rsvg-convert.1.gz
%%PORTDOCS%%share/doc/Rsvg-2.0/RedHatDisplay-Black.woff
@@ -140,5 +140,5 @@ share/man/man1/rsvg-convert.1.gz
%%PORTDOCS%%share/doc/Rsvg-2.0/urlmap.js
share/gir-1.0/Rsvg-2.0.gir
share/thumbnailers/librsvg.thumbnailer
-share/vala/vapi/librsvg-2.0.deps
-share/vala/vapi/librsvg-2.0.vapi
+%%VAPI%%share/vala/vapi/librsvg-2.0.deps
+%%VAPI%%share/vala/vapi/librsvg-2.0.vapi
diff --git a/graphics/libskiasharp/Makefile b/graphics/libskiasharp/Makefile
index d8a43fb8c120..651883ca6b57 100644
--- a/graphics/libskiasharp/Makefile
+++ b/graphics/libskiasharp/Makefile
@@ -1,10 +1,8 @@
PORTNAME= libskiasharp
DISTVERSIONPREFIX= v
-DISTVERSION= 2.88.3
-PORTREVISION= 2
+DISTVERSION= 116
+PORTREVISION= 3
CATEGORIES= graphics
-MASTER_SITES= LOCAL/bapt:libjpeg_turbo
-DISTFILES= libjpeg_turbo-${LIBJPEG_TURBO_REV}.tar.gz:libjpeg_turbo
MAINTAINER= bapt@FreeBSD.org
COMMENT= Complete 2D graphic library for drawing Text, Geometries, and Images
@@ -25,15 +23,13 @@ USES= jpeg ninja python:build
USE_GITHUB= yes
GH_ACCOUNT= mono
GH_PROJECT= skia
-
-LIBJPEG_TURBO_REV= 22f1a22c99e9dde8cd3c72ead333f425c5a7aa77
+GH_TAGNAME= c16e913577083761d847146db7a04b8d3b3bf755
USE_LDCONFIG= yes
USE_BINUTILS= yes
-SOVERSION= 118.0.0
-#
-# see https://github.com/libjpeg-turbo/libjpeg-turbo/issues/795#issuecomment-2484148592
+SOVERSION= 116.0.0
+
GN_ARGS= is_official_build=true \
skia_enable_tools=false \
target_os="linux" \
@@ -41,13 +37,15 @@ GN_ARGS= is_official_build=true \
skia_use_sfntly=false \
skia_use_piex=true \
skia_use_harfbuzz=false \
+ skia_use_wuffs=false \
skia_use_system_expat=true \
- skia_use_system_libjpeg_turbo=false \
+ skia_use_system_libjpeg_turbo=true \
skia_use_system_freetype2=true \
skia_use_system_libpng=true \
skia_use_system_libwebp=true \
skia_use_system_zlib=true \
skia_enable_gpu=true \
+ ska_enable_ganesh=true \
skia_enable_skottie=true \
skia_enable_pdf=true \
skia_use_dng_sdk=false \
@@ -55,10 +53,11 @@ GN_ARGS= is_official_build=true \
"-DSKIA_C_DLL", \
"-I${LOCALBASE}/include", \
"-I${LOCALBASE}/include/freetype2"] \
- extra_ldflags=["-L${LOCALBASE}/lib"] \
+ extra_ldflags=["-L${LOCALBASE}/lib", \
+ "-Wl,--version-script=${FILESDIR}/libskiasharp.map" ] \
linux_soname_version="${SOVERSION}"
-BINARY_ALIAS= python=${PYTHON_CMD} \
+BINARY_ALIAS= python3=${PYTHON_CMD} \
ar=${LOCALBASE}/bin/ar
ALL_TARGET= SkiaSharp
@@ -67,10 +66,6 @@ BUILD_WRKSRC= ${WRKSRC}/out
PLIST_FILES= lib/libSkiaSharp.so \
lib/libSkiaSharp.so.${SOVERSION}
-post-extract:
- ${MKDIR} ${WRKSRC}/third_party/externals
- ${RLN} ${WRKDIR}/libjpeg_turbo ${WRKSRC}/third_party/externals/libjpeg-turbo
-
do-configure:
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen 'out' --args='${GN_ARGS}'
diff --git a/graphics/libskiasharp/distinfo b/graphics/libskiasharp/distinfo
index 68dc2ab49ef0..e5f8eaf8749e 100644
--- a/graphics/libskiasharp/distinfo
+++ b/graphics/libskiasharp/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1732007783
-SHA256 (libjpeg_turbo-22f1a22c99e9dde8cd3c72ead333f425c5a7aa77.tar.gz) = 774aadf0ae4827ce77645442f8fba552c0be068c0bec7933fa99f4a490931433
-SIZE (libjpeg_turbo-22f1a22c99e9dde8cd3c72ead333f425c5a7aa77.tar.gz) = 2382951
-SHA256 (mono-skia-v2.88.3_GH0.tar.gz) = 899ee3693575dd5f1e769070672253beb03ece414ab2803228e346889f268dda
-SIZE (mono-skia-v2.88.3_GH0.tar.gz) = 51816808
+TIMESTAMP = 1761315942
+SHA256 (mono-skia-v116-c16e913577083761d847146db7a04b8d3b3bf755_GH0.tar.gz) = 3fd17a42cca9a7dbde68ab016969b70ab7dd4833403ac1a192e1aa51aed4617b
+SIZE (mono-skia-v116-c16e913577083761d847146db7a04b8d3b3bf755_GH0.tar.gz) = 60049970
diff --git a/graphics/libskiasharp/files/libskiasharp.map b/graphics/libskiasharp/files/libskiasharp.map
new file mode 100644
index 000000000000..c10403496de8
--- /dev/null
+++ b/graphics/libskiasharp/files/libskiasharp.map
@@ -0,0 +1,10 @@
+libSkiaSharp {
+ global:
+ sk_*;
+ gr_*;
+ skottie_*;
+ sksg_*;
+ skresources_*;
+ local:
+ *;
+};
diff --git a/graphics/libskiasharp/files/patch-src_codec_SkJpegCodec.cpp b/graphics/libskiasharp/files/patch-src_codec_SkJpegCodec.cpp
new file mode 100644
index 000000000000..a03a0306500d
--- /dev/null
+++ b/graphics/libskiasharp/files/patch-src_codec_SkJpegCodec.cpp
@@ -0,0 +1,55 @@
+--- src/codec/SkJpegCodec.cpp.orig 2024-10-24 03:17:23 UTC
++++ src/codec/SkJpegCodec.cpp
+@@ -426,16 +426,19 @@ SkISize SkJpegCodec::onGetScaledDimensions(float desir
+ num = 1;
+ }
+
+- // Set up a fake decompress struct in order to use libjpeg to calculate output dimensions
++ // Set up a fake decompress struct in order to use libjpeg to calculate output dimensions.
++ // This isn't conventional use of libjpeg-turbo but initializing the decompress struct with
++ // jpeg_create_decompress allows for less violation of the API regardless of the version.
+ jpeg_decompress_struct dinfo;
+- sk_bzero(&dinfo, sizeof(dinfo));
++ jpeg_create_decompress(&dinfo);
+ dinfo.image_width = this->dimensions().width();
+ dinfo.image_height = this->dimensions().height();
+ dinfo.global_state = fReadyState;
+ calc_output_dimensions(&dinfo, num, denom);
++ SkISize outputDimensions = SkISize::Make(dinfo.output_width, dinfo.output_height);
++ jpeg_destroy_decompress(&dinfo);
+
+- // Return the calculated output dimensions for the given scale
+- return SkISize::Make(dinfo.output_width, dinfo.output_height);
++ return outputDimensions;
+ }
+
+ bool SkJpegCodec::onRewind() {
+@@ -534,9 +537,11 @@ bool SkJpegCodec::onDimensionsSupported(const SkISize&
+ const unsigned int dstHeight = size.height();
+
+ // Set up a fake decompress struct in order to use libjpeg to calculate output dimensions
++ // This isn't conventional use of libjpeg-turbo but initializing the decompress struct with
++ // jpeg_create_decompress allows for less violation of the API regardless of the version.
+ // FIXME: Why is this necessary?
+ jpeg_decompress_struct dinfo;
+- sk_bzero(&dinfo, sizeof(dinfo));
++ jpeg_create_decompress(&dinfo);
+ dinfo.image_width = this->dimensions().width();
+ dinfo.image_height = this->dimensions().height();
+ dinfo.global_state = fReadyState;
+@@ -549,6 +554,7 @@ bool SkJpegCodec::onDimensionsSupported(const SkISize&
+
+ // Return a failure if we have tried all of the possible scales
+ if (1 == num || dstWidth > dinfo.output_width || dstHeight > dinfo.output_height) {
++ jpeg_destroy_decompress(&dinfo);
+ return false;
+ }
+
+@@ -556,6 +562,7 @@ bool SkJpegCodec::onDimensionsSupported(const SkISize&
+ num -= 1;
+ calc_output_dimensions(&dinfo, num, denom);
+ }
++ jpeg_destroy_decompress(&dinfo);
+
+ fDecoderMgr->dinfo()->scale_num = num;
+ fDecoderMgr->dinfo()->scale_denom = denom;
diff --git a/graphics/libskiasharp/files/patch-src_core_SkRasterPipeline.h b/graphics/libskiasharp/files/patch-src_core_SkRasterPipeline.h
new file mode 100644
index 000000000000..e7b489010508
--- /dev/null
+++ b/graphics/libskiasharp/files/patch-src_core_SkRasterPipeline.h
@@ -0,0 +1,11 @@
+--- src/core/SkRasterPipeline.h.orig 2025-11-18 06:35:10 UTC
++++ src/core/SkRasterPipeline.h
+@@ -24,7 +24,7 @@ struct skcms_TransferFunction;
+ struct SkImageInfo;
+ struct skcms_TransferFunction;
+
+-#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32)
++#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && !defined(__powerpc__)
+ #define SK_HAS_MUSTTAIL 1
+ #else
+ #define SK_HAS_MUSTTAIL 0
diff --git a/graphics/libyuv/Makefile b/graphics/libyuv/Makefile
index e3120680cf7c..b36293681dbf 100644
--- a/graphics/libyuv/Makefile
+++ b/graphics/libyuv/Makefile
@@ -9,10 +9,10 @@
# -> #define LIBYUV_VERSION 1741
PORTNAME= libyuv
-DISTVERSION= 0.0.1789
-PORTREVISION= 2
+DISTVERSION= 0.0.1903
CATEGORIES= graphics
-MASTER_SITES= LOCAL/mikael/libyuv/:libyuv \
+MASTER_SITES= LOCAL/rene/libyuv/:libyuv \
+ LOCAL/mikael/libyuv/:libyuv \
LOCAL/tcberner/libyuv/:libyuv
DISTFILES= libyuv-${LIBYUV_HASH}.tar.gz:libyuv
@@ -27,7 +27,7 @@ USE_LDCONFIG= yes
SUB_FILES= libyuv.pc
SUB_LIST= DISTVERSION=${DISTVERSION}
-LIBYUV_HASH= 0896c34873e83ca3d1690286a94e278a81d0a760
+LIBYUV_HASH= 5a9a6ea936085310f3b9fbd4a774868e6a984ec4
OPTIONS_DEFINE= JPEG
OPTIONS_DEFAULT=JPEG
diff --git a/graphics/libyuv/distinfo b/graphics/libyuv/distinfo
index f7ae931a1852..465a6c68a412 100644
--- a/graphics/libyuv/distinfo
+++ b/graphics/libyuv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1634992380
-SHA256 (libyuv-0896c34873e83ca3d1690286a94e278a81d0a760.tar.gz) = cfcb8714ec229ea471a5f2964a2f16a1cfb6eaae5fdee41924576274e4caf554
-SIZE (libyuv-0896c34873e83ca3d1690286a94e278a81d0a760.tar.gz) = 490087
+TIMESTAMP = 1756635329
+SHA256 (libyuv-5a9a6ea936085310f3b9fbd4a774868e6a984ec4.tar.gz) = 2b681f011a07827c27cb40156f5724a0d4972a61d5b8ad389adba27d7f5c22fb
+SIZE (libyuv-5a9a6ea936085310f3b9fbd4a774868e6a984ec4.tar.gz) = 620901
diff --git a/graphics/libyuv/files/patch-CMakeLists.txt b/graphics/libyuv/files/patch-CMakeLists.txt
deleted file mode 100644
index f8bfd4ded342..000000000000
--- a/graphics/libyuv/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-https://chromium.googlesource.com/libyuv/libyuv.git/+/c365da9c6c3a%5E!/
-https://chromium.googlesource.com/libyuv/libyuv.git/+/f428a642e3d8%5E!/
-
---- CMakeLists.txt.orig 2021-10-26 08:34:37 UTC
-+++ CMakeLists.txt
-@@ -35,10 +35,10 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} )
- TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} )
-
-
--INCLUDE ( FindJPEG )
-+find_package ( JPEG )
- if (JPEG_FOUND)
- include_directories( ${JPEG_INCLUDE_DIR} )
-- target_link_libraries( yuvconvert ${JPEG_LIBRARY} )
-+ target_link_libraries( ${ly_lib_shared} ${JPEG_LIBRARY} )
- add_definitions( -DHAVE_JPEG )
- endif()
-
diff --git a/graphics/libyuv/pkg-plist b/graphics/libyuv/pkg-plist
index 964dd11c8eba..e2413194b6d7 100644
--- a/graphics/libyuv/pkg-plist
+++ b/graphics/libyuv/pkg-plist
@@ -8,6 +8,8 @@ include/libyuv/convert_argb.h
include/libyuv/convert_from.h
include/libyuv/convert_from_argb.h
include/libyuv/cpu_id.h
+include/libyuv/cpu_support.h
+include/libyuv/loongson_intrinsics.h
include/libyuv/macros_msa.h
include/libyuv/mjpeg_decoder.h
include/libyuv/planar_functions.h
@@ -15,8 +17,10 @@ include/libyuv/rotate.h
include/libyuv/rotate_argb.h
include/libyuv/rotate_row.h
include/libyuv/row.h
+include/libyuv/row_sve.h
include/libyuv/scale.h
include/libyuv/scale_argb.h
+include/libyuv/scale_rgb.h
include/libyuv/scale_row.h
include/libyuv/scale_uv.h
include/libyuv/version.h
diff --git a/graphics/linux-c7-libdrm/Makefile b/graphics/linux-c7-libdrm/Makefile
index 03991d6c4336..2c0332a72562 100644
--- a/graphics/linux-c7-libdrm/Makefile
+++ b/graphics/linux-c7-libdrm/Makefile
@@ -4,7 +4,7 @@ DISTVERSIONSUFFIX= -2.el7
CATEGORIES= graphics linux
MAINTAINER= emulation@FreeBSD.org
-COMMENT= Interface to kernel Direct Rendering Module (Linux CentOS ${LINUX_DIST_VER})
+COMMENT= CentOS Linux Direct Rendering Manager runtime
WWW= https://dri.freedesktop.org/
USES= linux:c7
diff --git a/graphics/linux-rl9-dri/Makefile b/graphics/linux-rl9-dri/Makefile
index 8b9d0133f4c2..f3221a633a9e 100644
--- a/graphics/linux-rl9-dri/Makefile
+++ b/graphics/linux-rl9-dri/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dri
-PORTVERSION= 24.2.8
-DISTVERSIONSUFFIX= -2.el9_6
+PORTVERSION= 25.0.7
+DISTVERSIONSUFFIX= -3.el9_7
CATEGORIES= graphics linux
MAINTAINER= emulation@FreeBSD.org
@@ -17,8 +17,8 @@ LIB_DISTNAMES= freeglut-3.2.1-10.el9 \
mesa-libEGL-${DISTVERSIONFULL} \
mesa-libGL-${DISTVERSIONFULL} \
mesa-libGLU-9.0.1-6.el9 \
- mesa-libgbm-${DISTVERSIONFULL} \
- mesa-libglapi-${DISTVERSIONFULL}
+ mesa-libgbm-${DISTVERSIONFULL}
+# mesa-libglapi-${DISTVERSIONFULL}
LIB_DISTNAMES_amd64= m/mesa-vulkan-drivers-${DISTVERSIONFULL} \
m/mesa-libxatracker-${DISTVERSIONFULL}
diff --git a/graphics/linux-rl9-dri/distinfo b/graphics/linux-rl9-dri/distinfo
index 9c76bb815330..aa06cbca67a9 100644
--- a/graphics/linux-rl9-dri/distinfo
+++ b/graphics/linux-rl9-dri/distinfo
@@ -1,53 +1,47 @@
-TIMESTAMP = 1750647848
+TIMESTAMP = 1765203503
SHA256 (rocky/f/freeglut-3.2.1-10.el9.aarch64.rpm) = 7a29700d283b8466664f1666aadae386cbf9b427f262dcbcbea0038de50296eb
SIZE (rocky/f/freeglut-3.2.1-10.el9.aarch64.rpm) = 190531
SHA256 (rocky/f/freeglut-3.2.1-10.el9.i686.rpm) = 74c47d07a5ca209ea2be085216ffb5e7104b759047313eade4b01cef043695ca
SIZE (rocky/f/freeglut-3.2.1-10.el9.i686.rpm) = 193960
SHA256 (rocky/f/freeglut-3.2.1-10.el9.x86_64.rpm) = 7d27717e88edcb760d8c38a2e9230cf932f8cccbdd49916661b7fee649584058
SIZE (rocky/f/freeglut-3.2.1-10.el9.x86_64.rpm) = 194563
-SHA256 (rocky/m/mesa-dri-drivers-24.2.8-2.el9_6.aarch64.rpm) = 5539444a27d34680404d0044ce1c00ce8e6217f64c8542c72567504713f9e57c
-SIZE (rocky/m/mesa-dri-drivers-24.2.8-2.el9_6.aarch64.rpm) = 8359218
-SHA256 (rocky/m/mesa-dri-drivers-24.2.8-2.el9_6.i686.rpm) = 7d4f587d0736c5bc47ef93ceda469adac4b2210a632d5331a60033a099437426
-SIZE (rocky/m/mesa-dri-drivers-24.2.8-2.el9_6.i686.rpm) = 10089689
-SHA256 (rocky/m/mesa-dri-drivers-24.2.8-2.el9_6.x86_64.rpm) = f65bf3d70aa63526d612929e3354995c5a030df97520761f85b77dcb5affe83c
-SIZE (rocky/m/mesa-dri-drivers-24.2.8-2.el9_6.x86_64.rpm) = 9836909
-SHA256 (rocky/m/mesa-libEGL-24.2.8-2.el9_6.aarch64.rpm) = 9bed0f98142378eba5710dda55ace6b2b0b4d388b7377194c967154dfa4bd644
-SIZE (rocky/m/mesa-libEGL-24.2.8-2.el9_6.aarch64.rpm) = 139874
-SHA256 (rocky/m/mesa-libEGL-24.2.8-2.el9_6.i686.rpm) = f96ad6e1cf94e2a7bdc7fb18b4e6ae24af8e0d3d6fd89a852063755ff9f5bdf1
-SIZE (rocky/m/mesa-libEGL-24.2.8-2.el9_6.i686.rpm) = 149289
-SHA256 (rocky/m/mesa-libEGL-24.2.8-2.el9_6.x86_64.rpm) = d33f2b3e6734ee3f4e422bfd8a5a41223a896de3967ee62678647c74e0a907a5
-SIZE (rocky/m/mesa-libEGL-24.2.8-2.el9_6.x86_64.rpm) = 144042
-SHA256 (rocky/m/mesa-libGL-24.2.8-2.el9_6.aarch64.rpm) = 3158cd3a9da46dc81135b6a7d7ef1fd2bfbdf1ffefafcf7a5a72dbed4e052ee8
-SIZE (rocky/m/mesa-libGL-24.2.8-2.el9_6.aarch64.rpm) = 178592
-SHA256 (rocky/m/mesa-libGL-24.2.8-2.el9_6.i686.rpm) = 8ae2028926d7387df8656664ec8b9ef028f1404b885b7c24b303533271045ea9
-SIZE (rocky/m/mesa-libGL-24.2.8-2.el9_6.i686.rpm) = 185196
-SHA256 (rocky/m/mesa-libGL-24.2.8-2.el9_6.x86_64.rpm) = 363c73524b7277597d693fa96e54452357ea9c4f88f2b11c27331110f96899c4
-SIZE (rocky/m/mesa-libGL-24.2.8-2.el9_6.x86_64.rpm) = 173299
+SHA256 (rocky/m/mesa-dri-drivers-25.0.7-3.el9_7.aarch64.rpm) = 416db381be73e561a2e2d81993edeeebb6c7d4fd6560e718284ffe05f63e1740
+SIZE (rocky/m/mesa-dri-drivers-25.0.7-3.el9_7.aarch64.rpm) = 8583175
+SHA256 (rocky/m/mesa-dri-drivers-25.0.7-3.el9_7.i686.rpm) = 61686af1e32e5f220bc35af8428753862c557356c73fe207cc66f908ad3ee131
+SIZE (rocky/m/mesa-dri-drivers-25.0.7-3.el9_7.i686.rpm) = 10395629
+SHA256 (rocky/m/mesa-dri-drivers-25.0.7-3.el9_7.x86_64.rpm) = d23246df06a3d94208a950966ee00362500c9170e2a682506ace0267204e1151
+SIZE (rocky/m/mesa-dri-drivers-25.0.7-3.el9_7.x86_64.rpm) = 10123258
+SHA256 (rocky/m/mesa-libEGL-25.0.7-3.el9_7.aarch64.rpm) = be0c62f34741088a7c05e5b9344fbf07e749d7d0ade0a343c2c78b7fc28cc96b
+SIZE (rocky/m/mesa-libEGL-25.0.7-3.el9_7.aarch64.rpm) = 134987
+SHA256 (rocky/m/mesa-libEGL-25.0.7-3.el9_7.i686.rpm) = 471065aac6b6e207209c80d418891e092b881894505935b0b535ee8a4c794175
+SIZE (rocky/m/mesa-libEGL-25.0.7-3.el9_7.i686.rpm) = 140285
+SHA256 (rocky/m/mesa-libEGL-25.0.7-3.el9_7.x86_64.rpm) = 1a916b047aab950b5fbc9377de2d862225255f17e97e0976b8c6fa58e88acf13
+SIZE (rocky/m/mesa-libEGL-25.0.7-3.el9_7.x86_64.rpm) = 139383
+SHA256 (rocky/m/mesa-libGL-25.0.7-3.el9_7.aarch64.rpm) = 7ee16cd0b8b0618c708e9cff3737ef4392755d303b1a90054824219650ebe303
+SIZE (rocky/m/mesa-libGL-25.0.7-3.el9_7.aarch64.rpm) = 165556
+SHA256 (rocky/m/mesa-libGL-25.0.7-3.el9_7.i686.rpm) = d512fae61f10c14e5ff75a85a8210fe17b9b1aab26b05d02f6826ef9bdcdd780
+SIZE (rocky/m/mesa-libGL-25.0.7-3.el9_7.i686.rpm) = 166087
+SHA256 (rocky/m/mesa-libGL-25.0.7-3.el9_7.x86_64.rpm) = dc9bf71239d5f0856e33e6747dcefeb59cc01671c3f4509d8f512f52c395ec04
+SIZE (rocky/m/mesa-libGL-25.0.7-3.el9_7.x86_64.rpm) = 158678
SHA256 (rocky/m/mesa-libGLU-9.0.1-6.el9.aarch64.rpm) = cc834047eee86a99d7ee9e4bd24468fdc51362336880b9e93e9a0443565c4312
SIZE (rocky/m/mesa-libGLU-9.0.1-6.el9.aarch64.rpm) = 137329
SHA256 (rocky/m/mesa-libGLU-9.0.1-6.el9.i686.rpm) = ef518088bcb902d102d8f42deafa52d0c266c947a7cf69449cbd0b8f26dac826
SIZE (rocky/m/mesa-libGLU-9.0.1-6.el9.i686.rpm) = 155075
SHA256 (rocky/m/mesa-libGLU-9.0.1-6.el9.x86_64.rpm) = c7da4f0a399f5b9d5833dc1f5d0f388d9b5ecf6cd7ad6fbd9397f5a661393a68
SIZE (rocky/m/mesa-libGLU-9.0.1-6.el9.x86_64.rpm) = 149718
-SHA256 (rocky/m/mesa-libgbm-24.2.8-2.el9_6.aarch64.rpm) = 5783dfe33112bdd4601a39c54dd16201b33bf4c5c2a05502839f837581aa2c17
-SIZE (rocky/m/mesa-libgbm-24.2.8-2.el9_6.aarch64.rpm) = 35994
-SHA256 (rocky/m/mesa-libgbm-24.2.8-2.el9_6.i686.rpm) = 1b24ea580b77cf0dbaed7a78bb63b925a9f987edf1439e5a2cba2c75d1b7eff5
-SIZE (rocky/m/mesa-libgbm-24.2.8-2.el9_6.i686.rpm) = 38183
-SHA256 (rocky/m/mesa-libgbm-24.2.8-2.el9_6.x86_64.rpm) = 5a99f4f6999736302a6943412fc3bb5ee210cd3f327edb5f5abeedaf64fd58a8
-SIZE (rocky/m/mesa-libgbm-24.2.8-2.el9_6.x86_64.rpm) = 36441
-SHA256 (rocky/m/mesa-libglapi-24.2.8-2.el9_6.aarch64.rpm) = c5f53e0f08ca29da6e9406a4c9191b1fe1dcaa17bb18deb056317887b103f208
-SIZE (rocky/m/mesa-libglapi-24.2.8-2.el9_6.aarch64.rpm) = 62222
-SHA256 (rocky/m/mesa-libglapi-24.2.8-2.el9_6.i686.rpm) = a0e2775ca0f8dcf212b60a919526b5fd8bfab30c8882ec9c243cfc719e0d9253
-SIZE (rocky/m/mesa-libglapi-24.2.8-2.el9_6.i686.rpm) = 45369
-SHA256 (rocky/m/mesa-libglapi-24.2.8-2.el9_6.x86_64.rpm) = 3addb665520454f89b715216f2675cb93375c7661149f9e7572f44eea0383994
-SIZE (rocky/m/mesa-libglapi-24.2.8-2.el9_6.x86_64.rpm) = 44831
-SHA256 (rocky/m/mesa-libxatracker-24.2.8-2.el9_6.x86_64.rpm) = 99b18f98d7b5fb637cc20adf4cd7a6560b1d8462c1903da65bf75b9ef23e36cd
-SIZE (rocky/m/mesa-libxatracker-24.2.8-2.el9_6.x86_64.rpm) = 2529928
-SHA256 (rocky/m/mesa-vulkan-drivers-24.2.8-2.el9_6.x86_64.rpm) = 10e8d5f5484c3523d803fb5baaa8bf902f1f65969cfda5a6795d652fa63a6e4c
-SIZE (rocky/m/mesa-vulkan-drivers-24.2.8-2.el9_6.x86_64.rpm) = 11236484
+SHA256 (rocky/m/mesa-libgbm-25.0.7-3.el9_7.aarch64.rpm) = 56c5bb638fbdb82e7e1788ae0558afdc956f62a05c27de244b278cf55eae8dce
+SIZE (rocky/m/mesa-libgbm-25.0.7-3.el9_7.aarch64.rpm) = 16936
+SHA256 (rocky/m/mesa-libgbm-25.0.7-3.el9_7.i686.rpm) = de6ec666d33d8e52f3aa8cf846d56b0b8f0738cbfd8a06b17bc730a0e490f602
+SIZE (rocky/m/mesa-libgbm-25.0.7-3.el9_7.i686.rpm) = 17506
+SHA256 (rocky/m/mesa-libgbm-25.0.7-3.el9_7.x86_64.rpm) = c09f1f96973b0ca4d27c5819ce3a0989199105fea3c462ca464fd7e53920fe44
+SIZE (rocky/m/mesa-libgbm-25.0.7-3.el9_7.x86_64.rpm) = 17057
+SHA256 (rocky/m/mesa-libxatracker-25.0.7-3.el9_7.x86_64.rpm) = 897917f0c443d791f13d8ec96c0578bc4e754fd03c8343df5c8f38f2bed730ea
+SIZE (rocky/m/mesa-libxatracker-25.0.7-3.el9_7.x86_64.rpm) = 2576681
+SHA256 (rocky/m/mesa-vulkan-drivers-25.0.7-3.el9_7.x86_64.rpm) = a5f4819851be887e1f523fd20f658403757a267519f6590eae74c68b00750580
+SIZE (rocky/m/mesa-vulkan-drivers-25.0.7-3.el9_7.x86_64.rpm) = 11922975
SHA256 (rocky/f/freeglut-3.2.1-10.el9.src.rpm) = 57f2249b043e5eb22d5d40fbf72651f90bbd7d0f811647d4b594def15d4b4601
SIZE (rocky/f/freeglut-3.2.1-10.el9.src.rpm) = 1507482
-SHA256 (rocky/m/mesa-24.2.8-2.el9_6.src.rpm) = 9f5fbc17f1db9d7bbd8511fcc155ffcda5989149e43ea54cb044687c915ea7cb
-SIZE (rocky/m/mesa-24.2.8-2.el9_6.src.rpm) = 33247012
+SHA256 (rocky/m/mesa-25.0.7-3.el9_7.src.rpm) = 1f5e8cc4d5a9383aeefa7143702e54afa9813d76a57161bc87794239447bbefe
+SIZE (rocky/m/mesa-25.0.7-3.el9_7.src.rpm) = 50517092
SHA256 (rocky/m/mesa-libGLU-9.0.1-6.el9.src.rpm) = d15ac9b3f65aa4a17b0b38efc49c64e0c01c43bbdd0a06391805d2fdc6283973
SIZE (rocky/m/mesa-libGLU-9.0.1-6.el9.src.rpm) = 444434
diff --git a/graphics/linux-rl9-dri/pkg-plist.aarch64 b/graphics/linux-rl9-dri/pkg-plist.aarch64
index b366a0a97d32..73f88b877664 100644
--- a/graphics/linux-rl9-dri/pkg-plist.aarch64
+++ b/graphics/linux-rl9-dri/pkg-plist.aarch64
@@ -46,6 +46,7 @@ usr/lib64/dri/vkms_dri.so
usr/lib64/dri/vmwgfx_dri.so
usr/lib64/dri/zink_dri.so
usr/lib64/dri/zynqmp-dpsub_dri.so
+usr/lib64/gbm/dri_gbm.so
usr/lib64/libEGL_mesa.so.0
usr/lib64/libEGL_mesa.so.0.0.0
usr/lib64/libGLU.so.1
@@ -53,11 +54,9 @@ usr/lib64/libGLU.so.1.3.1
usr/lib64/libGLX_mesa.so.0
usr/lib64/libGLX_mesa.so.0.0.0
usr/lib64/libGLX_system.so.0
-usr/lib64/libgallium-24.2.8.so
+usr/lib64/libgallium-25.0.7.so
usr/lib64/libgbm.so.1
usr/lib64/libgbm.so.1.0.0
-usr/lib64/libglapi.so.0
-usr/lib64/libglapi.so.0.0.0
usr/lib64/libglut.so.3
usr/lib64/libglut.so.3.11.0
%%PORTDOCS%%usr/share/doc/freeglut/AUTHORS
diff --git a/graphics/linux-rl9-dri/pkg-plist.amd64 b/graphics/linux-rl9-dri/pkg-plist.amd64
index 0fc364bc315c..87e8ac4cca9e 100644
--- a/graphics/linux-rl9-dri/pkg-plist.amd64
+++ b/graphics/linux-rl9-dri/pkg-plist.amd64
@@ -8,6 +8,7 @@ usr/lib/dri/swrast_dri.so
usr/lib/dri/virtio_gpu_dri.so
usr/lib/dri/vmwgfx_dri.so
usr/lib/dri/zink_dri.so
+usr/lib/gbm/dri_gbm.so
usr/lib/libEGL_mesa.so.0
usr/lib/libEGL_mesa.so.0.0.0
usr/lib/libGLU.so.1
@@ -15,11 +16,9 @@ usr/lib/libGLU.so.1.3.1
usr/lib/libGLX_mesa.so.0
usr/lib/libGLX_mesa.so.0.0.0
usr/lib/libGLX_system.so.0
-usr/lib/libgallium-24.2.8.so
+usr/lib/libgallium-25.0.7.so
usr/lib/libgbm.so.1
usr/lib/libgbm.so.1.0.0
-usr/lib/libglapi.so.0
-usr/lib/libglapi.so.0.0.0
usr/lib/libglut.so.3
usr/lib/libglut.so.3.11.0
usr/lib64/dri/crocus_dri.so
@@ -32,6 +31,7 @@ usr/lib64/dri/swrast_dri.so
usr/lib64/dri/virtio_gpu_dri.so
usr/lib64/dri/vmwgfx_dri.so
usr/lib64/dri/zink_dri.so
+usr/lib64/gbm/dri_gbm.so
usr/lib64/libEGL_mesa.so.0
usr/lib64/libEGL_mesa.so.0.0.0
usr/lib64/libGLU.so.1
@@ -40,11 +40,9 @@ usr/lib64/libGLX_mesa.so.0
usr/lib64/libGLX_mesa.so.0.0.0
usr/lib64/libGLX_system.so.0
usr/lib64/libVkLayer_MESA_device_select.so
-usr/lib64/libgallium-24.2.8.so
+usr/lib64/libgallium-25.0.7.so
usr/lib64/libgbm.so.1
usr/lib64/libgbm.so.1.0.0
-usr/lib64/libglapi.so.0
-usr/lib64/libglapi.so.0.0.0
usr/lib64/libglut.so.3
usr/lib64/libglut.so.3.11.0
usr/lib64/libvulkan_intel.so
diff --git a/graphics/linux-rl9-gdk-pixbuf2/Makefile b/graphics/linux-rl9-gdk-pixbuf2/Makefile
index 360955a6473f..b9f1b47768b9 100644
--- a/graphics/linux-rl9-gdk-pixbuf2/Makefile
+++ b/graphics/linux-rl9-gdk-pixbuf2/Makefile
@@ -1,7 +1,7 @@
PORTNAME= gdk-pixbuf2
PORTVERSION= 2.42.6
-DISTVERSIONSUFFIX= -4.el9_4
-PORTREVISION= 7
+DISTVERSIONSUFFIX= -6.el9_6
+PORTREVISION= 8
CATEGORIES= graphics linux
MAINTAINER= emulation@FreeBSD.org
diff --git a/graphics/linux-rl9-gdk-pixbuf2/distinfo b/graphics/linux-rl9-gdk-pixbuf2/distinfo
index acb0deebff0d..9214bc00c9e6 100644
--- a/graphics/linux-rl9-gdk-pixbuf2/distinfo
+++ b/graphics/linux-rl9-gdk-pixbuf2/distinfo
@@ -1,15 +1,15 @@
-TIMESTAMP = 1731666780
-SHA256 (rocky/g/gdk-pixbuf2-2.42.6-4.el9_4.aarch64.rpm) = eb5898b0d08f98f5ee79adf959a35134eae2217db0d85a0318f9875d44ee2b44
-SIZE (rocky/g/gdk-pixbuf2-2.42.6-4.el9_4.aarch64.rpm) = 474872
-SHA256 (rocky/g/gdk-pixbuf2-2.42.6-4.el9_4.i686.rpm) = 85ac80964283b7e88f0e442f5c89e0009a5376f55d4b186f88a6409a059c16c8
-SIZE (rocky/g/gdk-pixbuf2-2.42.6-4.el9_4.i686.rpm) = 485091
-SHA256 (rocky/g/gdk-pixbuf2-2.42.6-4.el9_4.x86_64.rpm) = 9f23d0f41ae83f45da6048ce309783355091cac0b4c76851cefe805c445ac549
-SIZE (rocky/g/gdk-pixbuf2-2.42.6-4.el9_4.x86_64.rpm) = 477160
-SHA256 (rocky/g/gdk-pixbuf2-modules-2.42.6-4.el9_4.aarch64.rpm) = a783282f8d82b08c07d993605641f24061e58f499093deac1f9e9f1632ad0d5d
-SIZE (rocky/g/gdk-pixbuf2-modules-2.42.6-4.el9_4.aarch64.rpm) = 85139
-SHA256 (rocky/g/gdk-pixbuf2-modules-2.42.6-4.el9_4.i686.rpm) = 6b40e0101e2cec7ef3a6a69ad552332d430e44c42d4019589af272b749bd95c8
-SIZE (rocky/g/gdk-pixbuf2-modules-2.42.6-4.el9_4.i686.rpm) = 91668
-SHA256 (rocky/g/gdk-pixbuf2-modules-2.42.6-4.el9_4.x86_64.rpm) = d24bd8a516d13628e1d58b3cb6c79c8ee7e93afefa09c4a9a040209c5dfc0a3c
-SIZE (rocky/g/gdk-pixbuf2-modules-2.42.6-4.el9_4.x86_64.rpm) = 86593
-SHA256 (rocky/g/gdk-pixbuf2-2.42.6-4.el9_4.src.rpm) = 9e598722f5349cca08ac4dde4baa0d1b35b2227ab625e606185d965be63aad83
-SIZE (rocky/g/gdk-pixbuf2-2.42.6-4.el9_4.src.rpm) = 7735313
+TIMESTAMP = 1757069475
+SHA256 (rocky/g/gdk-pixbuf2-2.42.6-6.el9_6.aarch64.rpm) = f15502d4bcd1bcd696b5c2e044c3522d38fbe4812a310e09183d61d32ee7d012
+SIZE (rocky/g/gdk-pixbuf2-2.42.6-6.el9_6.aarch64.rpm) = 474741
+SHA256 (rocky/g/gdk-pixbuf2-2.42.6-6.el9_6.i686.rpm) = 69c13a62661f25cc6cd1abd9420f41a2acecf9fe1688669f8a939728e728d8ec
+SIZE (rocky/g/gdk-pixbuf2-2.42.6-6.el9_6.i686.rpm) = 484011
+SHA256 (rocky/g/gdk-pixbuf2-2.42.6-6.el9_6.x86_64.rpm) = 45a809fb972eab8cec05fa036649ce53d1f68b48b0107b7ac9595facf387e8ee
+SIZE (rocky/g/gdk-pixbuf2-2.42.6-6.el9_6.x86_64.rpm) = 476463
+SHA256 (rocky/g/gdk-pixbuf2-modules-2.42.6-6.el9_6.aarch64.rpm) = 37d7c57ad554f30fee3252da7ab7b4a6a63a490671a40c72cf6afab2285c57ab
+SIZE (rocky/g/gdk-pixbuf2-modules-2.42.6-6.el9_6.aarch64.rpm) = 83851
+SHA256 (rocky/g/gdk-pixbuf2-modules-2.42.6-6.el9_6.i686.rpm) = 2d354aff28a900919e92a33c941666073c4400af13d368ee74cfae619a95280a
+SIZE (rocky/g/gdk-pixbuf2-modules-2.42.6-6.el9_6.i686.rpm) = 90061
+SHA256 (rocky/g/gdk-pixbuf2-modules-2.42.6-6.el9_6.x86_64.rpm) = d2e4f4c553ac47fd16cd245eb764397086f0763db580b6f50b52ff75eb5b5940
+SIZE (rocky/g/gdk-pixbuf2-modules-2.42.6-6.el9_6.x86_64.rpm) = 85356
+SHA256 (rocky/g/gdk-pixbuf2-2.42.6-6.el9_6.src.rpm) = a723b560f7edd78efcb7fdfce62a9e95c5e09b504b159c725924341ef4bd7658
+SIZE (rocky/g/gdk-pixbuf2-2.42.6-6.el9_6.src.rpm) = 7736449
diff --git a/graphics/linux-rl9-imageformats-libs/Makefile b/graphics/linux-rl9-imageformats-libs/Makefile
index 697de32bb3c7..d8bfe75a71ba 100644
--- a/graphics/linux-rl9-imageformats-libs/Makefile
+++ b/graphics/linux-rl9-imageformats-libs/Makefile
@@ -1,5 +1,6 @@
PORTNAME= imageformats
PORTVERSION= 1
+PORTREVISION= 1
CATEGORIES= graphics linux
PKGNAMESUFFIX= -libs
DISTNAME=
@@ -23,21 +24,21 @@ USE_LINUX= libjxl
USE_LINUX_RPM= yes
WANT_LINUX32= yes
-LIB_DISTNAMES= jasper${PKGNAMESUFFIX}-2.0.28-3.el9 \
+LIB_DISTNAMES= jasper${PKGNAMESUFFIX}-2.0.28-4.el9 \
jbigkit${PKGNAMESUFFIX}-2.1-23.el9 \
libjpeg-turbo-2.0.90-7.el9 \
libmng-2.0.3-17.el9 \
libpng-1.6.37-12.el9 \
- libtiff-4.4.0-13.el9 \
+ libtiff-4.4.0-15.el9_7.2.0.1 \
libwebp-1.2.0-8.el9 \
openjpeg2-2.4.0-8.el9
-SRC_DISTFILES= jasper-2.0.28-3.el9${SRC_SUFX}:SOURCE \
+SRC_DISTFILES= jasper-2.0.28-4.el9${SRC_SUFX}:SOURCE \
jbigkit-2.1-23.el9${SRC_SUFX}:SOURCE \
libjpeg-turbo-2.0.90-7.el9${SRC_SUFX}:SOURCE \
libmng-2.0.3-17.el9${SRC_SUFX}:SOURCE \
libpng-1.6.37-12.el9${SRC_SUFX}:SOURCE \
- libtiff-4.4.0-13.el9${SRC_SUFX}:SOURCE \
+ libtiff-4.4.0-15.el9_7.2.0.1${SRC_SUFX}:SOURCE \
libwebp-1.2.0-8.el9${SRC_SUFX}:SOURCE \
openjpeg2-2.4.0-8.el9${SRC_SUFX}:SOURCE
diff --git a/graphics/linux-rl9-imageformats-libs/distinfo b/graphics/linux-rl9-imageformats-libs/distinfo
index 06da54669bc1..80d87a3c202c 100644
--- a/graphics/linux-rl9-imageformats-libs/distinfo
+++ b/graphics/linux-rl9-imageformats-libs/distinfo
@@ -1,10 +1,10 @@
-TIMESTAMP = 1750636550
-SHA256 (rocky/j/jasper-libs-2.0.28-3.el9.aarch64.rpm) = c933c5bd2aaa7094fd5da8c0021963ce147307c35da5e56b255b956e92170ea7
-SIZE (rocky/j/jasper-libs-2.0.28-3.el9.aarch64.rpm) = 151831
-SHA256 (rocky/j/jasper-libs-2.0.28-3.el9.i686.rpm) = 852130e71f05ec3fb892a4f35d59eeff105511a9f80c699c6a388d1e07b9ce7f
-SIZE (rocky/j/jasper-libs-2.0.28-3.el9.i686.rpm) = 162630
-SHA256 (rocky/j/jasper-libs-2.0.28-3.el9.x86_64.rpm) = 5eaa7bbe8f855eaa302766cd16d4222b8c54e2ae2937d8a5db506e1048bf58bb
-SIZE (rocky/j/jasper-libs-2.0.28-3.el9.x86_64.rpm) = 153786
+TIMESTAMP = 1765198640
+SHA256 (rocky/j/jasper-libs-2.0.28-4.el9.aarch64.rpm) = e9ef38cb8c2dd4373e3f57468236c4d64aad4d28c19bbdf09636cde05d94703b
+SIZE (rocky/j/jasper-libs-2.0.28-4.el9.aarch64.rpm) = 150174
+SHA256 (rocky/j/jasper-libs-2.0.28-4.el9.i686.rpm) = f588b764eeea478ce4abb121e4a4f68f9763a1fc1ff90cc1686b18dea84d521d
+SIZE (rocky/j/jasper-libs-2.0.28-4.el9.i686.rpm) = 160395
+SHA256 (rocky/j/jasper-libs-2.0.28-4.el9.x86_64.rpm) = 90539105c8357e2f36f296d442b6a10cdc25a7c05806fcf463bad206a41a4c63
+SIZE (rocky/j/jasper-libs-2.0.28-4.el9.x86_64.rpm) = 152028
SHA256 (rocky/j/jbigkit-libs-2.1-23.el9.aarch64.rpm) = e9e27802f4dfd19d2276d0c8078043db6c8c387a4c76e883bcfccc6aa25645fd
SIZE (rocky/j/jbigkit-libs-2.1-23.el9.aarch64.rpm) = 52946
SHA256 (rocky/j/jbigkit-libs-2.1-23.el9.i686.rpm) = 67184db9070f6c8cc1b563d7f1e085423daacef26f3d86d65c6dff6f9ae39935
@@ -29,12 +29,12 @@ SHA256 (rocky/l/libpng-1.6.37-12.el9.i686.rpm) = 5706539159e2225d74ad532c50ec1c3
SIZE (rocky/l/libpng-1.6.37-12.el9.i686.rpm) = 127630
SHA256 (rocky/l/libpng-1.6.37-12.el9.x86_64.rpm) = 2fb7ea5028fb07380ec2ece9716763cbe4b456a90574e14ddb93180c8c4bc14f
SIZE (rocky/l/libpng-1.6.37-12.el9.x86_64.rpm) = 118873
-SHA256 (rocky/l/libtiff-4.4.0-13.el9.aarch64.rpm) = 0cd3b6912b45449cef14568715ace770863c84fc7b017d8c63b900c005ea0f2a
-SIZE (rocky/l/libtiff-4.4.0-13.el9.aarch64.rpm) = 196249
-SHA256 (rocky/l/libtiff-4.4.0-13.el9.i686.rpm) = 6709af0f6adf0feae7d25223e901ac249a093ba01e4cc20b723fca19a066e63c
-SIZE (rocky/l/libtiff-4.4.0-13.el9.i686.rpm) = 219775
-SHA256 (rocky/l/libtiff-4.4.0-13.el9.x86_64.rpm) = 0e00ec2a40085ea5a5141f9164f6a85e5a9301881685767aff65ee07d3ebcb85
-SIZE (rocky/l/libtiff-4.4.0-13.el9.x86_64.rpm) = 201735
+SHA256 (rocky/l/libtiff-4.4.0-15.el9_7.2.0.1.aarch64.rpm) = e7e1c44765d2334d50fa1d975ae2979a29bb3a4726c1c324b6ecab1a57947b81
+SIZE (rocky/l/libtiff-4.4.0-15.el9_7.2.0.1.aarch64.rpm) = 195472
+SHA256 (rocky/l/libtiff-4.4.0-15.el9_7.2.0.1.i686.rpm) = b6d566ff6e191492403d25effdb54b09211ec418a14ce3a0b924e09f7566c647
+SIZE (rocky/l/libtiff-4.4.0-15.el9_7.2.0.1.i686.rpm) = 218942
+SHA256 (rocky/l/libtiff-4.4.0-15.el9_7.2.0.1.x86_64.rpm) = b46366265446fe9320da34faa7001767910b57311340b6fdaac7501a6ad39763
+SIZE (rocky/l/libtiff-4.4.0-15.el9_7.2.0.1.x86_64.rpm) = 200954
SHA256 (rocky/l/libwebp-1.2.0-8.el9.aarch64.rpm) = 32d165702f098820c836736634829360947747017e23413a1ac5e167df8070d2
SIZE (rocky/l/libwebp-1.2.0-8.el9.aarch64.rpm) = 265825
SHA256 (rocky/l/libwebp-1.2.0-8.el9.i686.rpm) = fb5f4bbab3ce289b4d6fa2342c41826d9da4c44f0b9f0e3da1b0ee499422bd63
@@ -47,8 +47,8 @@ SHA256 (rocky/o/openjpeg2-2.4.0-8.el9.i686.rpm) = 00985eadaeccc5212a6bd2ff3d7322
SIZE (rocky/o/openjpeg2-2.4.0-8.el9.i686.rpm) = 177679
SHA256 (rocky/o/openjpeg2-2.4.0-8.el9.x86_64.rpm) = a7ab9643943926f99d24dce2a3b523593c19a11c5afa130c4c71364e0e118008
SIZE (rocky/o/openjpeg2-2.4.0-8.el9.x86_64.rpm) = 164704
-SHA256 (rocky/j/jasper-2.0.28-3.el9.src.rpm) = 31f906728341738d58fc04c5ec4e0de9fcf6a62f3139e7a52d38e2f131c5b115
-SIZE (rocky/j/jasper-2.0.28-3.el9.src.rpm) = 1385289
+SHA256 (rocky/j/jasper-2.0.28-4.el9.src.rpm) = 02a3ebba7fa9448c8a91f592231f86780364a0dc4ba4f4ee32410043ad3ea33d
+SIZE (rocky/j/jasper-2.0.28-4.el9.src.rpm) = 1384023
SHA256 (rocky/j/jbigkit-2.1-23.el9.src.rpm) = 9358741148675bd63e6b8ed905a7d93551ccb7abeac9d1af6d02d4c56df4bed7
SIZE (rocky/j/jbigkit-2.1-23.el9.src.rpm) = 453810
SHA256 (rocky/l/libjpeg-turbo-2.0.90-7.el9.src.rpm) = e80e2e153e24736f33771ed4a913a308ae2f83131f38befdce6fda93dcd2cfa3
@@ -57,8 +57,8 @@ SHA256 (rocky/l/libmng-2.0.3-17.el9.src.rpm) = 674de62accc95cc7172a78c81a073d3fb
SIZE (rocky/l/libmng-2.0.3-17.el9.src.rpm) = 1548760
SHA256 (rocky/l/libpng-1.6.37-12.el9.src.rpm) = cd5bccf1fcb4b436a97956deca9547804c2bcd54c6dbef1d7e8dab873403d90e
SIZE (rocky/l/libpng-1.6.37-12.el9.src.rpm) = 1525727
-SHA256 (rocky/l/libtiff-4.4.0-13.el9.src.rpm) = d827e66b8b02e304bb1eb0dd12e64c8586d82b5da9edbf89e3ec5eac3e45264c
-SIZE (rocky/l/libtiff-4.4.0-13.el9.src.rpm) = 2890270
+SHA256 (rocky/l/libtiff-4.4.0-15.el9_7.2.0.1.src.rpm) = cc883109ec49373815f4d81d84c0e2f194e3ca144de14213b2acf3111f37f1fb
+SIZE (rocky/l/libtiff-4.4.0-15.el9_7.2.0.1.src.rpm) = 2904293
SHA256 (rocky/l/libwebp-1.2.0-8.el9.src.rpm) = a2452b44cd66053e3c713982b6695eb0a3f7e89d3319eb071d8e8340719821a2
SIZE (rocky/l/libwebp-1.2.0-8.el9.src.rpm) = 4110329
SHA256 (rocky/o/openjpeg2-2.4.0-8.el9.src.rpm) = 22734b3b0c0ddc86fffced2509fac3058a2296235c6770ebe9940d53888f108b
diff --git a/graphics/linux-rl9-libdrm/Makefile b/graphics/linux-rl9-libdrm/Makefile
index 62e523ac4aa8..7314d1859c19 100644
--- a/graphics/linux-rl9-libdrm/Makefile
+++ b/graphics/linux-rl9-libdrm/Makefile
@@ -4,7 +4,7 @@ DISTVERSIONSUFFIX= -2.el9
CATEGORIES= graphics linux
MAINTAINER= emulation@FreeBSD.org
-COMMENT= Interface to kernel Direct Rendering Module (Rocky Linux ${LINUX_DIST_VER})
+COMMENT= Rocky Linux Direct Rendering Manager runtime
WWW= https://dri.freedesktop.org/
USES= linux:rl9
diff --git a/graphics/linux-rl9-libjxl/Makefile b/graphics/linux-rl9-libjxl/Makefile
index b07cccc4d6e6..1d9f44a36db9 100644
--- a/graphics/linux-rl9-libjxl/Makefile
+++ b/graphics/linux-rl9-libjxl/Makefile
@@ -1,7 +1,6 @@
PORTNAME= libjxl
-PORTVERSION= 0.7.0
-DISTVERSIONSUFFIX= -1.el9
-PORTREVISION= 2
+PORTVERSION= 0.7.2
+DISTVERSIONSUFFIX= -2.el9
MASTER_SITES= EPEL9
CATEGORIES= graphics linux
diff --git a/graphics/linux-rl9-libjxl/distinfo b/graphics/linux-rl9-libjxl/distinfo
index dccda889d2c6..054bf02fbf82 100644
--- a/graphics/linux-rl9-libjxl/distinfo
+++ b/graphics/linux-rl9-libjxl/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1708415374
-SHA256 (rocky/l/libjxl-0.7.0-1.el9.aarch64.rpm) = 312b2570c0a272067e7da24fe15b203cd3797975435aeac81181d74067644402
-SIZE (rocky/l/libjxl-0.7.0-1.el9.aarch64.rpm) = 695267
-SHA256 (rocky/l/libjxl-0.7.0-1.el9.x86_64.rpm) = 22549884ba9f6f69c6e31955c77bf1d47b3b00cad86aeeed745933788b9bd0fd
-SIZE (rocky/l/libjxl-0.7.0-1.el9.x86_64.rpm) = 980251
-SHA256 (rocky/j/jpegxl-0.7.0-1.el9.src.rpm) = a07df3df5cc31d0af5e53b846ab5a27128368b9985bf587c9a08fb4b81d64fae
-SIZE (rocky/j/jpegxl-0.7.0-1.el9.src.rpm) = 4081635
+TIMESTAMP = 1757068323
+SHA256 (rocky/l/libjxl-0.7.2-2.el9.aarch64.rpm) = 64b84ac3293cd16c2f25e9f7e7addee1d69d09a4b6938c53e6ebca50dcd570ab
+SIZE (rocky/l/libjxl-0.7.2-2.el9.aarch64.rpm) = 739985
+SHA256 (rocky/l/libjxl-0.7.2-2.el9.x86_64.rpm) = feadf9606256e182301aef0c53fac0f7b240391766eb41a331d4d2e1cbe2e087
+SIZE (rocky/l/libjxl-0.7.2-2.el9.x86_64.rpm) = 1005187
+SHA256 (rocky/j/jpegxl-0.7.2-2.el9.src.rpm) = fdf7668acba37236cf0a2810a96af8a5f97962f53e3afa1b13b40fb1e60511c3
+SIZE (rocky/j/jpegxl-0.7.2-2.el9.src.rpm) = 4080459
diff --git a/graphics/linux-rl9-libjxl/pkg-plist.aarch64 b/graphics/linux-rl9-libjxl/pkg-plist.aarch64
index 3749f2a255bb..e4f14450a147 100644
--- a/graphics/linux-rl9-libjxl/pkg-plist.aarch64
+++ b/graphics/linux-rl9-libjxl/pkg-plist.aarch64
@@ -1,7 +1,7 @@
usr/lib64/libjxl.so.0.7
-usr/lib64/libjxl.so.0.7.0
+usr/lib64/libjxl.so.0.7.2
usr/lib64/libjxl_threads.so.0.7
-usr/lib64/libjxl_threads.so.0.7.0
+usr/lib64/libjxl_threads.so.0.7.2
usr/share/licenses/libjxl/LICENSE
usr/share/mime/packages/image-jxl.xml
usr/share/thumbnailers/jxl.thumbnailer
diff --git a/graphics/linux-rl9-libjxl/pkg-plist.amd64 b/graphics/linux-rl9-libjxl/pkg-plist.amd64
index 3749f2a255bb..e4f14450a147 100644
--- a/graphics/linux-rl9-libjxl/pkg-plist.amd64
+++ b/graphics/linux-rl9-libjxl/pkg-plist.amd64
@@ -1,7 +1,7 @@
usr/lib64/libjxl.so.0.7
-usr/lib64/libjxl.so.0.7.0
+usr/lib64/libjxl.so.0.7.2
usr/lib64/libjxl_threads.so.0.7
-usr/lib64/libjxl_threads.so.0.7.0
+usr/lib64/libjxl_threads.so.0.7.2
usr/share/licenses/libjxl/LICENSE
usr/share/mime/packages/image-jxl.xml
usr/share/thumbnailers/jxl.thumbnailer
diff --git a/graphics/linux-rl9-qt5-qt3d/Makefile b/graphics/linux-rl9-qt5-qt3d/Makefile
index d678decdd09b..75b1827ca74b 100644
--- a/graphics/linux-rl9-qt5-qt3d/Makefile
+++ b/graphics/linux-rl9-qt5-qt3d/Makefile
@@ -1,7 +1,7 @@
PORTNAME= qt5
PORTVERSION= 5.15.9
-DISTVERSIONSUFFIX= -1.el9
-PORTREVISION= 2
+DISTVERSIONSUFFIX= -2.el9_7.1
+PORTREVISION= 4
CATEGORIES= graphics linux
PKGNAMESUFFIX= -qt3d
@@ -13,7 +13,7 @@ LICENSE= GPLv2+
USES= linux:rl9
USE_LDCONFIG= yes
-USE_LINUX= cups-libs dbuslibs dri imageformats-libs libxml2 qtbase xorglibs
+USE_LINUX= cups-libs dbuslibs dri imageformats-libs libxml2 qtbase qtimageformats xorglibs
USE_LINUX_RPM= yes
WANT_LINUX32= yes
diff --git a/graphics/linux-rl9-qt5-qt3d/distinfo b/graphics/linux-rl9-qt5-qt3d/distinfo
index 07e3acaefb12..297b14c1ddd2 100644
--- a/graphics/linux-rl9-qt5-qt3d/distinfo
+++ b/graphics/linux-rl9-qt5-qt3d/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1731449910
-SHA256 (rocky/q/qt5-qt3d-5.15.9-1.el9.aarch64.rpm) = b2dd0a4ae5f639c08f024c39872b51fe4ad1ea01dd2a727b76deb8c21c829cb6
-SIZE (rocky/q/qt5-qt3d-5.15.9-1.el9.aarch64.rpm) = 3104842
-SHA256 (rocky/q/qt5-qt3d-5.15.9-1.el9.i686.rpm) = 0a56d2109e8049115481509e756477060cacff2e8a44abb13115d8d5013e53e1
-SIZE (rocky/q/qt5-qt3d-5.15.9-1.el9.i686.rpm) = 3496582
-SHA256 (rocky/q/qt5-qt3d-5.15.9-1.el9.x86_64.rpm) = 30e7d0dc9ce716c3de2fa05d50ca7258123dbbbccd4cba1bf4dc47541b257f5d
-SIZE (rocky/q/qt5-qt3d-5.15.9-1.el9.x86_64.rpm) = 3172050
-SHA256 (rocky/q/qt5-qt3d-5.15.9-1.el9.src.rpm) = 9775a725ba3a3f8595cf6bd4590bb9988957ddbb5a10d923a2833208713291e7
-SIZE (rocky/q/qt5-qt3d-5.15.9-1.el9.src.rpm) = 118354829
+TIMESTAMP = 1765198837
+SHA256 (rocky/q/qt5-qt3d-5.15.9-2.el9_7.1.aarch64.rpm) = 07e1a59a5ef4d16c4846b55a9de7eb9a1282d03d31574c9609ba27f36d494278
+SIZE (rocky/q/qt5-qt3d-5.15.9-2.el9_7.1.aarch64.rpm) = 3103761
+SHA256 (rocky/q/qt5-qt3d-5.15.9-2.el9_7.1.i686.rpm) = 240a5ab0de8252e90c888ed70eab240b8d49222dd725ad376e4fdd30960c9f48
+SIZE (rocky/q/qt5-qt3d-5.15.9-2.el9_7.1.i686.rpm) = 3485290
+SHA256 (rocky/q/qt5-qt3d-5.15.9-2.el9_7.1.x86_64.rpm) = a13ddf6f33d82129a0bb2c935db5295fc72b3f0c099f94f2fe3501e534fc14bf
+SIZE (rocky/q/qt5-qt3d-5.15.9-2.el9_7.1.x86_64.rpm) = 3170153
+SHA256 (rocky/q/qt5-qt3d-5.15.9-2.el9_7.1.src.rpm) = da2b660d45a4049d0135697f23e0a8b8977676916579894494ca77c887753c39
+SIZE (rocky/q/qt5-qt3d-5.15.9-2.el9_7.1.src.rpm) = 118357271
diff --git a/graphics/linux-rl9-shaderc/Makefile b/graphics/linux-rl9-shaderc/Makefile
index 926c47d1ebbc..d1a5e0e52b0c 100644
--- a/graphics/linux-rl9-shaderc/Makefile
+++ b/graphics/linux-rl9-shaderc/Makefile
@@ -1,5 +1,5 @@
PORTNAME= shaderc
-PORTVERSION= 2024.4
+PORTVERSION= 2025.2
DISTVERSIONSUFFIX= -1.el9
CATEGORIES= graphics linux
diff --git a/graphics/linux-rl9-shaderc/distinfo b/graphics/linux-rl9-shaderc/distinfo
index 961ee1b8c328..262006a5f896 100644
--- a/graphics/linux-rl9-shaderc/distinfo
+++ b/graphics/linux-rl9-shaderc/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1750640701
-SHA256 (rocky/l/libshaderc-2024.4-1.el9.aarch64.rpm) = 6ac84860ad8296b3b2918087807497d806a1eb03c9526d3687b5b683148ff311
-SIZE (rocky/l/libshaderc-2024.4-1.el9.aarch64.rpm) = 1045319
-SHA256 (rocky/l/libshaderc-2024.4-1.el9.i686.rpm) = 6e2777f593c2a9cf978919b13530375cdcfed2fd8c0f0a40ef2a207bc2b4ad81
-SIZE (rocky/l/libshaderc-2024.4-1.el9.i686.rpm) = 1146778
-SHA256 (rocky/l/libshaderc-2024.4-1.el9.x86_64.rpm) = 2e3aff0e754b7bd84f386af5e45b3f1be924a2ec9f4d1af2962f50777fdba6fd
-SIZE (rocky/l/libshaderc-2024.4-1.el9.x86_64.rpm) = 1052000
-SHA256 (rocky/s/shaderc-2024.4-1.el9.src.rpm) = 398f7d8df3a3e2171a55b28bac119d03f79f004f4b3fc8ab061da90b95b4bdaf
-SIZE (rocky/s/shaderc-2024.4-1.el9.src.rpm) = 239636
+TIMESTAMP = 1765199277
+SHA256 (rocky/l/libshaderc-2025.2-1.el9.aarch64.rpm) = f0916e1071395a67edaabcee518cf3e9d49d8808272debb5e6c1af136ffd7602
+SIZE (rocky/l/libshaderc-2025.2-1.el9.aarch64.rpm) = 1065875
+SHA256 (rocky/l/libshaderc-2025.2-1.el9.i686.rpm) = 8319691bc77d31270e0df7e3a83e431f66071a493856d6d7cdf9ddc694cf95b8
+SIZE (rocky/l/libshaderc-2025.2-1.el9.i686.rpm) = 1170013
+SHA256 (rocky/l/libshaderc-2025.2-1.el9.x86_64.rpm) = 979b023620fa31a36da1941a598f018c90774479cf6f19ffec4af36be1dc3747
+SIZE (rocky/l/libshaderc-2025.2-1.el9.x86_64.rpm) = 1075942
+SHA256 (rocky/s/shaderc-2025.2-1.el9.src.rpm) = 9236fef558b8f273ec930320ad22046e830e27c73574cb2f5d7635688e83c2ef
+SIZE (rocky/s/shaderc-2025.2-1.el9.src.rpm) = 240840
diff --git a/graphics/linux-rl9-spirv-tools/Makefile b/graphics/linux-rl9-spirv-tools/Makefile
index 891ea07522e2..22305e580bc4 100644
--- a/graphics/linux-rl9-spirv-tools/Makefile
+++ b/graphics/linux-rl9-spirv-tools/Makefile
@@ -1,5 +1,5 @@
PORTNAME= spirv-tools
-PORTVERSION= 2024.4
+PORTVERSION= 2025.2
DISTVERSIONSUFFIX= -1.el9
CATEGORIES= graphics linux
diff --git a/graphics/linux-rl9-spirv-tools/distinfo b/graphics/linux-rl9-spirv-tools/distinfo
index 6515ae86db9e..9e1f7efe1217 100644
--- a/graphics/linux-rl9-spirv-tools/distinfo
+++ b/graphics/linux-rl9-spirv-tools/distinfo
@@ -1,13 +1,13 @@
-TIMESTAMP = 1750640761
-SHA256 (rocky/s/spirv-tools-2024.4-1.el9.aarch64.rpm) = 6c8b89184b3d7bec22310a0a5e02831f44be953b08cc8f29472a019041a14f63
-SIZE (rocky/s/spirv-tools-2024.4-1.el9.aarch64.rpm) = 250982
-SHA256 (rocky/s/spirv-tools-2024.4-1.el9.x86_64.rpm) = 63ff7101f08c9f75adb5bda52a2031cde3514890088cf090180fbad870bef375
-SIZE (rocky/s/spirv-tools-2024.4-1.el9.x86_64.rpm) = 263225
-SHA256 (rocky/s/spirv-tools-libs-2024.4-1.el9.aarch64.rpm) = 98a932aadff5ede426aeb151055212f92ff210b72fd0f954fc299d920967f8bc
-SIZE (rocky/s/spirv-tools-libs-2024.4-1.el9.aarch64.rpm) = 1466491
-SHA256 (rocky/s/spirv-tools-libs-2024.4-1.el9.i686.rpm) = e8e2752b6e34765465047230182c7bcd35394c11e89a7fb7591e7ef73ced9a7c
-SIZE (rocky/s/spirv-tools-libs-2024.4-1.el9.i686.rpm) = 1668765
-SHA256 (rocky/s/spirv-tools-libs-2024.4-1.el9.x86_64.rpm) = f99098e9f2b7bbfdc24087810f8b1df1ad66eadd7a818a512bc676bc213c80d6
-SIZE (rocky/s/spirv-tools-libs-2024.4-1.el9.x86_64.rpm) = 1497815
-SHA256 (rocky/s/spirv-tools-2024.4-1.el9.src.rpm) = 4962b4a95fe67c9a8121db897dda1980f9ce8a936235cfb16d6b81267a548e91
-SIZE (rocky/s/spirv-tools-2024.4-1.el9.src.rpm) = 3205568
+TIMESTAMP = 1765199327
+SHA256 (rocky/s/spirv-tools-2025.2-1.el9.aarch64.rpm) = 35dfc0503db2dea37df9536a28382c357f6a8b376a1a7dfaee9c48678a66667b
+SIZE (rocky/s/spirv-tools-2025.2-1.el9.aarch64.rpm) = 252875
+SHA256 (rocky/s/spirv-tools-2025.2-1.el9.x86_64.rpm) = 1aafc557523da20a3b30d3ed4e352f7a1f5bf5c7256b8e036b2199ded822ff4e
+SIZE (rocky/s/spirv-tools-2025.2-1.el9.x86_64.rpm) = 265122
+SHA256 (rocky/s/spirv-tools-libs-2025.2-1.el9.aarch64.rpm) = fafcf8b5be18ae4676df37cb640f9ba58bdb9324dc58f8d4cc86482dc0f674c6
+SIZE (rocky/s/spirv-tools-libs-2025.2-1.el9.aarch64.rpm) = 1515967
+SHA256 (rocky/s/spirv-tools-libs-2025.2-1.el9.i686.rpm) = 60db3ea4da12e84d3b053adc6b30d0f4c0be270853e16a6c2f2ba9f8620baa58
+SIZE (rocky/s/spirv-tools-libs-2025.2-1.el9.i686.rpm) = 1726593
+SHA256 (rocky/s/spirv-tools-libs-2025.2-1.el9.x86_64.rpm) = f80f22ada0715d3d2db2b0f6f2f4748bcda673cc7c0c9a0227cf659c34474c2a
+SIZE (rocky/s/spirv-tools-libs-2025.2-1.el9.x86_64.rpm) = 1547435
+SHA256 (rocky/s/spirv-tools-2025.2-1.el9.src.rpm) = 697c76e1b8b47b1573bd0e11115b94ce5256325918ade7f7affaead1fdc684e7
+SIZE (rocky/s/spirv-tools-2025.2-1.el9.src.rpm) = 3289457
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/linux-rl9-vulkan/Makefile b/graphics/linux-rl9-vulkan/Makefile
index d130efa01231..ea6e32de7596 100644
--- a/graphics/linux-rl9-vulkan/Makefile
+++ b/graphics/linux-rl9-vulkan/Makefile
@@ -1,5 +1,5 @@
PORTNAME= vulkan
-PORTVERSION= 1.4.304.0
+PORTVERSION= 1.4.313.0
DISTVERSIONSUFFIX= -1.el9
CATEGORIES= graphics linux
PKGNAMESUFFIX= -loader
diff --git a/graphics/linux-rl9-vulkan/distinfo b/graphics/linux-rl9-vulkan/distinfo
index 1606e9a167cd..50bb61ce8e79 100644
--- a/graphics/linux-rl9-vulkan/distinfo
+++ b/graphics/linux-rl9-vulkan/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1750646358
-SHA256 (rocky/v/vulkan-loader-1.4.304.0-1.el9.aarch64.rpm) = 7d475287f0b254ea26ac6f20acb60da340175af9688ba18e7f650644aa21b1ed
-SIZE (rocky/v/vulkan-loader-1.4.304.0-1.el9.aarch64.rpm) = 165248
-SHA256 (rocky/v/vulkan-loader-1.4.304.0-1.el9.i686.rpm) = 4586b639d0ef3b4a3281e55a20158acb096f1b1094f893669cfc6041d59f0edc
-SIZE (rocky/v/vulkan-loader-1.4.304.0-1.el9.i686.rpm) = 162596
-SHA256 (rocky/v/vulkan-loader-1.4.304.0-1.el9.x86_64.rpm) = f631f22718342e95445227510085d2b36aa3c81f6742fc39fd63a7949232adb3
-SIZE (rocky/v/vulkan-loader-1.4.304.0-1.el9.x86_64.rpm) = 152194
-SHA256 (rocky/v/vulkan-loader-1.4.304.0-1.el9.src.rpm) = 8e9d3b07dafa584a9f40c90f9700eba9001ab301ac5b4fbdd4bfa10e9f4369c3
-SIZE (rocky/v/vulkan-loader-1.4.304.0-1.el9.src.rpm) = 1753877
+TIMESTAMP = 1765199380
+SHA256 (rocky/v/vulkan-loader-1.4.313.0-1.el9.aarch64.rpm) = b91566a0a23cf5e4f869c79ceadc61c81411ce0b6dbd7f5890fb5a28c1f52ea1
+SIZE (rocky/v/vulkan-loader-1.4.313.0-1.el9.aarch64.rpm) = 167818
+SHA256 (rocky/v/vulkan-loader-1.4.313.0-1.el9.i686.rpm) = 4a80c054c32ada56dc716914f93b896515eae705a2cbb5ac1b4ab81c71b101c6
+SIZE (rocky/v/vulkan-loader-1.4.313.0-1.el9.i686.rpm) = 165715
+SHA256 (rocky/v/vulkan-loader-1.4.313.0-1.el9.x86_64.rpm) = 2be57e911731ba1b29333a01aa9f757bb62f932316288fe6e61d1343e3016f9e
+SIZE (rocky/v/vulkan-loader-1.4.313.0-1.el9.x86_64.rpm) = 155188
+SHA256 (rocky/v/vulkan-loader-1.4.313.0-1.el9.src.rpm) = 78a319112c6d9d6ae9b33cfffb03426014163efbe174a2327ca5bd37ac89d7e8
+SIZE (rocky/v/vulkan-loader-1.4.313.0-1.el9.src.rpm) = 1755911
diff --git a/graphics/luminance-qt5/Makefile b/graphics/luminance-qt5/Makefile
index 532c8fcee36d..079759907c22 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= 33
CATEGORIES= graphics
MASTER_SITES= SF/qtpfsgui/luminance/${DISTVERSION}
diff --git a/graphics/lunasvg/Makefile b/graphics/lunasvg/Makefile
index cc1870a689b5..60879c24ba72 100644
--- a/graphics/lunasvg/Makefile
+++ b/graphics/lunasvg/Makefile
@@ -1,10 +1,9 @@
PORTNAME= lunasvg
DISTVERSIONPREFIX= v
-DISTVERSION= 3.2.1
-PORTREVISION= 1
+DISTVERSION= 3.5.0
CATEGORIES= graphics
-MAINTAINER= alster@vinterdalen.se
+MAINTAINER= alven@FreeBSD.org
COMMENT= SVG rendering and manipulation library in C++
WWW= https://github.com/sammycage/lunasvg/
@@ -19,9 +18,11 @@ USE_GITHUB= yes
GH_ACCOUNT= sammycage
USE_LDCONFIG= yes
+EXTRACT_AFTER_ARGS= --exclude plutovg --no-same-owner --no-same-permissions
+
PLIST_SUB= SOVERSION=${DISTVERSION}
-OPTIONS_DEFINE= STATIC
+OPTIONS_DEFINE= STATIC
OPTIONS_SUB= yes
STATIC_MESON_ON= -Ddefault_library=both
diff --git a/graphics/lunasvg/distinfo b/graphics/lunasvg/distinfo
index 4a35416a49cb..b0c12a82cd2d 100644
--- a/graphics/lunasvg/distinfo
+++ b/graphics/lunasvg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741514905
-SHA256 (sammycage-lunasvg-v3.2.1_GH0.tar.gz) = 3420175c9632007edfcd0198001abc116c5c646af8e928d393cd029985cc4ee8
-SIZE (sammycage-lunasvg-v3.2.1_GH0.tar.gz) = 54705
+TIMESTAMP = 1757842121
+SHA256 (sammycage-lunasvg-v3.5.0_GH0.tar.gz) = 1abf1472ee6c4d19797916e8cc3c2e4b628e0d81178ffac60bdb0d457e32c690
+SIZE (sammycage-lunasvg-v3.5.0_GH0.tar.gz) = 294493
diff --git a/graphics/lximage-qt/Makefile b/graphics/lximage-qt/Makefile
index 094109891463..0d75543032d1 100644
--- a/graphics/lximage-qt/Makefile
+++ b/graphics/lximage-qt/Makefile
@@ -1,6 +1,5 @@
PORTNAME= lximage-qt
-PORTVERSION= 2.2.0
-PORTREVISION= 1
+PORTVERSION= 2.3.0
CATEGORIES= graphics
MASTER_SITES= LXQT
diff --git a/graphics/lximage-qt/distinfo b/graphics/lximage-qt/distinfo
index f39e8f1da7e3..0a20ba51fd23 100644
--- a/graphics/lximage-qt/distinfo
+++ b/graphics/lximage-qt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744927155
-SHA256 (lxqt/lximage-qt-2.2.0.tar.xz) = cc2ebfef3a7e2901114e71c2e15a9d1a382fe2d8a2b1468bade67fe0b68f99ea
-SIZE (lxqt/lximage-qt-2.2.0.tar.xz) = 858248
+TIMESTAMP = 1762979143
+SHA256 (lxqt/lximage-qt-2.3.0.tar.xz) = 9376d492945917a5ee2ec6a69bb8f6aeadf89d0f14c38d73a2eac5407b34b641
+SIZE (lxqt/lximage-qt-2.3.0.tar.xz) = 862192
diff --git a/graphics/magnum-examples/Makefile b/graphics/magnum-examples/Makefile
index 861d03e36afb..72152b05b812 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= 7
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/magnum-integration/Makefile b/graphics/magnum-integration/Makefile
index 05f290c77afd..4d4fcc4e53e1 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
DISTVERSIONSUFFIX= -g50ac4db
+PORTREVISION= 5
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/mandelbulber/Makefile b/graphics/mandelbulber/Makefile
index 505e5539c41b..419521ba5fbb 100644
--- a/graphics/mandelbulber/Makefile
+++ b/graphics/mandelbulber/Makefile
@@ -1,5 +1,6 @@
PORTNAME= mandelbulber
DISTVERSION= 2.33
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= amdmi3@FreeBSD.org
diff --git a/graphics/mapnik/Makefile b/graphics/mapnik/Makefile
index 1d31f4d9ec53..0893b8fb0820 100644
--- a/graphics/mapnik/Makefile
+++ b/graphics/mapnik/Makefile
@@ -1,7 +1,7 @@
PORTNAME= mapnik
DISTVERSIONPREFIX= v
-DISTVERSION= 4.1.0
-PORTREVISION= 1
+DISTVERSION= 4.1.3
+PORTREVISION= 2
CATEGORIES= graphics geography
MAINTAINER= hummeltech@sherpaguru.com
@@ -15,21 +15,18 @@ BUILD_DEPENDS= ${LOCALBASE}/share/fonts/dejavu/DejaVuSans.ttf:x11-fonts/dejavu \
protozero>0:devel/protozero
LIB_DEPENDS= libboost_program_options.so:devel/boost-libs \
libboost_regex.so:devel/boost-libs \
- libboost_system.so:devel/boost-libs \
libfreetype.so:print/freetype2 \
libharfbuzz.so:print/harfbuzz \
libicuuc.so:devel/icu
RUN_DEPENDS= dejavu>0:x11-fonts/dejavu
USE_GITHUB= yes
-GH_ACCOUNT= mapnik
-GH_PROJECT= mapnik
-GH_TUPLE= mapbox:geometry.hpp:c83a2ab:geometry_hpp/deps/mapbox/geometry \
- mapbox:polylabel:51f09d0:polylabel/deps/mapbox/polylabel \
+GH_TUPLE= catchorg:Catch2:v2.13.10:catch2/test/catch2 \
+ mapbox:geometry.hpp:c83a2ab:geometry_hpp/deps/mapbox/geometry \
+ mapbox:polylabel:0121820:polylabel/deps/mapbox/polylabel \
mapbox:variant:a2a4858:variant/deps/mapbox/variant \
mapnik:mapnik-vector-tile:5a0cfbb:mapnik_vector_tile/deps/mapbox/mapnik-vector-tile \
- catchorg:Catch2:v2.13.10:catch2/test/catch2 \
- mapnik:test-data:41c4cee:test_data/test/data
+ mapnik:test-data:5716a27:test_data/test/data
USES= compiler:c++20-lang cmake:testing gnome pkgconfig
USE_GNOME= libxml2
@@ -38,8 +35,8 @@ USE_LDCONFIG= yes
CMAKE_ARGS= -DFONTS_INSTALL_DIR:PATH=share/fonts/dejavu
CMAKE_ON= USE_EXTERNAL_MAPBOX_PROTOZERO
-OPTIONS_DEFINE= CAIRO DOCS JPEG PNG PROJ TIFF WEBP
-OPTIONS_DEFAULT= CAIRO JPEG PNG PROJ TIFF WEBP \
+OPTIONS_DEFINE= CAIRO DOCS JPEG PNG PROJ TIFF WEBP AVIF
+OPTIONS_DEFAULT= CAIRO JPEG PNG PROJ TIFF WEBP AVIF \
GDAL OGR PGRASTER POSTGIS SQLITE3 \
TESTING \
GEOMETRY_TO_WKB MAPNIK_INDEX MAPNIK_RENDER PGSQL2SQLITE SHAPEINDEX SVG2PNG
@@ -49,6 +46,8 @@ OPTIONS_GROUP_TESTS= BENCHMARK DEMO_CPP DEMO_VIEWER TESTING
OPTIONS_GROUP_UTILS= GEOMETRY_TO_WKB MAPNIK_INDEX MAPNIK_RENDER OGRINDEX PGSQL2SQLITE SHAPEINDEX SVG2PNG
OPTIONS_SUB= yes
+AVIF_CMAKE_BOOL= USE_AVIF
+AVIF_LIB_DEPENDS= libavif.so:graphics/libavif
JPEG_CMAKE_BOOL= USE_JPEG
JPEG_USES= jpeg
PNG_CMAKE_BOOL= USE_PNG
@@ -99,28 +98,18 @@ POSTGIS_USES= pgsql
SQLITE3_CMAKE_BOOL= USE_PLUGIN_INPUT_SQLITE
SQLITE3_USES= sqlite:3
-BENCHMARK_CMAKE_BOOL= BUILD_BENCHMARK
-DEMO_CPP_CMAKE_BOOL= BUILD_DEMO_CPP
+BENCHMARK_CMAKE_BOOL= BUILD_BENCHMARK
+DEMO_CPP_CMAKE_BOOL= BUILD_DEMO_CPP
DEMO_VIEWER_CMAKE_BOOL= BUILD_DEMO_VIEWER
TESTING_CMAKE_BOOL= BUILD_TESTING
-GEOMETRY_TO_WKB_CMAKE_BOOL= BUILD_UTILITY_GEOMETRY_TO_WKB
-MAPNIK_INDEX_CMAKE_BOOL= BUILD_UTILITY_MAPNIK_INDEX
-MAPNIK_RENDER_CMAKE_BOOL= BUILD_UTILITY_MAPNIK_RENDER
-OGRINDEX_CMAKE_BOOL= BUILD_UTILITY_OGRINDEX
-PGSQL2SQLITE_CMAKE_BOOL= BUILD_UTILITY_PGSQL2SQLITE
-SHAPEINDEX_CMAKE_BOOL= BUILD_UTILITY_SHAPEINDEX
-SVG2PNG_CMAKE_BOOL= BUILD_UTILITY_SVG2PNG
-
-# MB/PMTiles input plugin (added in 4.1.0) will not compile on i386 without a patch
-.include <bsd.port.options.mk>
-
-.if ${ARCH} == i386
-CMAKE_OFF= USE_PLUGIN_INPUT_TILES
-PLIST_SUB+= NOTI386="@comment "
-.else
-PLIST_SUB+= NOTI386=""
-.endif
+GEOMETRY_TO_WKB_CMAKE_BOOL= BUILD_UTILITY_GEOMETRY_TO_WKB
+MAPNIK_INDEX_CMAKE_BOOL= BUILD_UTILITY_MAPNIK_INDEX
+MAPNIK_RENDER_CMAKE_BOOL= BUILD_UTILITY_MAPNIK_RENDER
+OGRINDEX_CMAKE_BOOL= BUILD_UTILITY_OGRINDEX
+PGSQL2SQLITE_CMAKE_BOOL= BUILD_UTILITY_PGSQL2SQLITE
+SHAPEINDEX_CMAKE_BOOL= BUILD_UTILITY_SHAPEINDEX
+SVG2PNG_CMAKE_BOOL= BUILD_UTILITY_SVG2PNG
pre-configure-SQLITE3-on:
@if ! ${LOCALBASE}/bin/sqlite3 :memory: 'create virtual table foo using rtree(pkid, xmin, xmax, ymin, ymax)' > /dev/null 2>&1; then \
diff --git a/graphics/mapnik/distinfo b/graphics/mapnik/distinfo
index 8b01693b4123..a6c57bffda1f 100644
--- a/graphics/mapnik/distinfo
+++ b/graphics/mapnik/distinfo
@@ -1,15 +1,15 @@
-TIMESTAMP = 1748882156
-SHA256 (mapnik-mapnik-v4.1.0_GH0.tar.gz) = 8c5cab13a2f9c9ac32bd4a574d920d5c0571611d48a2dd8c710540767559fc96
-SIZE (mapnik-mapnik-v4.1.0_GH0.tar.gz) = 13253474
+TIMESTAMP = 1759637867
+SHA256 (mapnik-mapnik-v4.1.3_GH0.tar.gz) = 04a39a878fb60204853adf79a9e5be803609c6eab180d6403d67fc8b4691fa9f
+SIZE (mapnik-mapnik-v4.1.3_GH0.tar.gz) = 13264597
+SHA256 (catchorg-Catch2-v2.13.10_GH0.tar.gz) = d54a712b7b1d7708bc7a819a8e6e47b2fde9536f487b89ccbca295072a7d9943
+SIZE (catchorg-Catch2-v2.13.10_GH0.tar.gz) = 662225
SHA256 (mapbox-geometry.hpp-c83a2ab_GH0.tar.gz) = 676c7490fa7cdba26f45fc6b3932dc04bec110f75d660493a7c31d5b0d86e923
SIZE (mapbox-geometry.hpp-c83a2ab_GH0.tar.gz) = 17450
-SHA256 (mapbox-polylabel-51f09d0_GH0.tar.gz) = f060f7bce356379137cc9f9a7f3f94a00c3b456f8da4e230933bcfcd2f8210a3
-SIZE (mapbox-polylabel-51f09d0_GH0.tar.gz) = 43435
+SHA256 (mapbox-polylabel-0121820_GH0.tar.gz) = d4c6272980cf2fb1ad544aaab02b94fef61323ab8f7ad5899f1da82d8dbe4a63
+SIZE (mapbox-polylabel-0121820_GH0.tar.gz) = 56333
SHA256 (mapbox-variant-a2a4858_GH0.tar.gz) = e999758dd6f01bf15d176e5781aef17beb729e732559d67d0dac198858b657ed
SIZE (mapbox-variant-a2a4858_GH0.tar.gz) = 128909
SHA256 (mapnik-mapnik-vector-tile-5a0cfbb_GH0.tar.gz) = 459428045397b5b46b06fa1a3e2604c503b9cba607c9cd5e2c6392502fb3a8f7
SIZE (mapnik-mapnik-vector-tile-5a0cfbb_GH0.tar.gz) = 3976592
-SHA256 (catchorg-Catch2-v2.13.10_GH0.tar.gz) = d54a712b7b1d7708bc7a819a8e6e47b2fde9536f487b89ccbca295072a7d9943
-SIZE (catchorg-Catch2-v2.13.10_GH0.tar.gz) = 662225
-SHA256 (mapnik-test-data-41c4cee_GH0.tar.gz) = 17f5645fad13b8d3296cae50caca9907effefccb1d5d335c446a5d2a55f99c04
-SIZE (mapnik-test-data-41c4cee_GH0.tar.gz) = 14062987
+SHA256 (mapnik-test-data-5716a27_GH0.tar.gz) = 2c4d2d513fffd9394869b325058ef30052fad40587647d1ac11f6bc30ba54308
+SIZE (mapnik-test-data-5716a27_GH0.tar.gz) = 14237135
diff --git a/graphics/mapnik/files/patch-plugins_input_tiles_pmtiles__source.hpp b/graphics/mapnik/files/patch-plugins_input_tiles_pmtiles__source.hpp
new file mode 100644
index 000000000000..5f266a6c709d
--- /dev/null
+++ b/graphics/mapnik/files/patch-plugins_input_tiles_pmtiles__source.hpp
@@ -0,0 +1,20 @@
+--- plugins/input/tiles/pmtiles_source.hpp.orig 2025-10-05 04:06:02 UTC
++++ plugins/input/tiles/pmtiles_source.hpp
+@@ -470,7 +470,7 @@ class pmtiles_source : public tiles_source,
+ {
+ std::string decompressed_dir;
+ #if defined(MAPNIK_MEMORY_MAPPED_FILE)
+- std::string_view buffer{file_.buffer().first + dir_offset, dir_length};
++ std::string_view buffer{file_.buffer().first + dir_offset, static_cast<std::size_t>(dir_length)};
+ #else
+ std::string buffer;
+ buffer.resize(dir_length);
+@@ -559,7 +559,7 @@ class pmtiles_source : public tiles_source,
+ {
+ std::string metadata;
+ #if defined(MAPNIK_MEMORY_MAPPED_FILE)
+- std::string_view buffer{file_.buffer().first + metadata_offset_, metadata_length_};
++ std::string_view buffer{file_.buffer().first + metadata_offset_, static_cast<std::size_t>(metadata_length_)};
+ #else
+ std::string buffer;
+ buffer.resize(metadata_length_);
diff --git a/graphics/mapnik/pkg-plist b/graphics/mapnik/pkg-plist
index 7824e88970c5..2a61941bfd8a 100644
--- a/graphics/mapnik/pkg-plist
+++ b/graphics/mapnik/pkg-plist
@@ -546,7 +546,7 @@ lib/cmake/mapnik/mapnikUtilityTargets_svg2png-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/mapnik/mapnikUtilityTargets_svg2png.cmake
lib/libmapnik.so
lib/libmapnik.so.4.1
-lib/libmapnik.so.4.1.0
+lib/libmapnik.so.4.1.3
lib/libmapnikjson.a
lib/libmapnikwkt.a
lib/mapnik/input/csv.input
@@ -559,7 +559,7 @@ lib/mapnik/input/postgis.input
lib/mapnik/input/raster.input
lib/mapnik/input/shape.input
lib/mapnik/input/sqlite.input
-%%NOTI386%%lib/mapnik/input/tiles.input
+lib/mapnik/input/tiles.input
lib/mapnik/input/topojson.input
libdata/pkgconfig/libmapnik.pc
libdata/pkgconfig/libmapnikjson.pc
diff --git a/graphics/mapserver/Makefile b/graphics/mapserver/Makefile
index b2a9f1abd37a..f571a5394d69 100644
--- a/graphics/mapserver/Makefile
+++ b/graphics/mapserver/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mapserver
-DISTVERSION= 8.4.0
-PORTREVISION= 3
+DISTVERSION= 8.6.0
+PORTREVISION= 1
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/mapserver/distinfo b/graphics/mapserver/distinfo
index a0d706d00de0..17fb97a9198a 100644
--- a/graphics/mapserver/distinfo
+++ b/graphics/mapserver/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1737341744
-SHA256 (mapserver-8.4.0.tar.gz) = b0cb3612cd58458cca0808b117c16b9415b3231af39aefb90d668e8b8b188e2c
-SIZE (mapserver-8.4.0.tar.gz) = 2986653
+TIMESTAMP = 1764918598
+SHA256 (mapserver-8.6.0.tar.gz) = af1f6d7b6b4361d7b0305b4ea1869e33fa49a721bbc0e28e13dd015952dfd902
+SIZE (mapserver-8.6.0.tar.gz) = 3003764
diff --git a/graphics/mapserver/pkg-plist b/graphics/mapserver/pkg-plist
index 1d14a3a8fa53..68dd9b6bdde7 100644
--- a/graphics/mapserver/pkg-plist
+++ b/graphics/mapserver/pkg-plist
@@ -9,6 +9,6 @@ bin/mapserver_sortshp
bin/mapserver_tile4ms
lib/libmapserver.so
lib/libmapserver.so.2
-lib/libmapserver.so.8.4.0
+lib/libmapserver.so.8.6.0
%%PYTHON%%%%PYTHON_SITELIBDIR%%/mapscript.py
%%PYTHON%%%%PYTHON_SITELIBDIR%%/_mapscript.so
diff --git a/graphics/materialx/Makefile b/graphics/materialx/Makefile
new file mode 100644
index 000000000000..823c389afc4a
--- /dev/null
+++ b/graphics/materialx/Makefile
@@ -0,0 +1,53 @@
+PORTNAME= materialx
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.39.4
+CATEGORIES= graphics
+
+MAINTAINER= freebsd@sysctl.cz
+COMMENT= MaterialX is an open standard for the exchange of rich material
+WWW= http://www.materialx.org/
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= libglvnd>0:graphics/libglvnd \
+ openimageio>0:graphics/openimageio \
+ openshadinglanguage>0:graphics/openshadinglanguage
+LIB_DEPENDS= libImath.so:math/Imath \
+ libOpenImageIO.so:graphics/openimageio \
+ libOpenImageIO_Util.so:graphics/openimageio
+
+USES= cmake gl localbase python:3.9+ xorg
+USE_GITHUB= yes
+GH_ACCOUNT= AcademySoftwareFoundation
+GH_PROJECT= MaterialX
+GH_TUPLE= mitsuba-renderer:nanogui:6452dd6:nanogui/source/MaterialXView/NanoGUI \
+ ocornut:imgui:9aae45e:imgui/source/MaterialXGraphEditor/External/ImGui \
+ thedmd:imgui-node-editor:2f99b2d:nodeeditor/source/MaterialXGraphEditor/External/ImGuiNodeEditor \
+ wjakob:glfw:e130e55:glfw/source/MaterialXView/NanoGUI/ext/glfw \
+ wjakob:nanobind:e504eeb:nanobind/source/MaterialXView/NanoGUI/ext/nanobind \
+ wjakob:nanovg:bf2320d:nanovg/source/MaterialXView/NanoGUI/ext/nanovg \
+ wjakob:nanovg_metal:075b04f:nanovgmetal/source/MaterialXView/NanoGUI/ext/nanovg_metal
+
+USE_GL= opengl
+USE_LDCONFIG= yes
+USE_XORG= ice sm x11 xt
+
+CMAKE_ARGS= -DCMAKE_INSTALL_PREFIX=${STAGEDIR}${PREFIX}
+CMAKE_ON= MATERIALX_BUILD_GRAPH_EDITOR MATERIALX_BUILD_OIIO \
+ MATERIALX_BUILD_PYTHON MATERIALX_BUILD_SHARED_LIBS \
+ MATERIALX_BUILD_TESTS MATERIALX_BUILD_VIEWER \
+ MATERIALX_INSTALL_PYTHON=${STAGEDIR}${PREFIX}
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/MaterialXGraphEditor ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/MaterialXView ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_LIB} ${BUILD_WRKSRC}/lib/*.so* ${STAGEDIR}${PREFIX}/lib/
+ ${MKDIR} ${STAGEDIR}${DATADIR}/${PORTNAME}
+ (cd ${WRKSRC}/resources && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/${PORTNAME})
+ (cd ${WRKSRC}/source && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/${PORTNAME} "-name *.h")
+
+do-test:
+ cd ${TEST_WRKSRC} && ctest -C ${CMAKE_BUILD_TYPE} ${_MAKE_JOBS}
+
+.include <bsd.port.mk>
diff --git a/graphics/materialx/distinfo b/graphics/materialx/distinfo
new file mode 100644
index 000000000000..9188752ce1e5
--- /dev/null
+++ b/graphics/materialx/distinfo
@@ -0,0 +1,17 @@
+TIMESTAMP = 1761654601
+SHA256 (AcademySoftwareFoundation-MaterialX-v1.39.4_GH0.tar.gz) = ce9c1a3b84a060d6280d355a72bf42b53837ee7bcc5a566cab1e927c64078fd9
+SIZE (AcademySoftwareFoundation-MaterialX-v1.39.4_GH0.tar.gz) = 114786830
+SHA256 (mitsuba-renderer-nanogui-6452dd6_GH0.tar.gz) = 3f3cc3c88b1aac6a3d1a2338ad3e12951bc12c98e461b1b5bc1a4aec2fb8f2ee
+SIZE (mitsuba-renderer-nanogui-6452dd6_GH0.tar.gz) = 2900817
+SHA256 (ocornut-imgui-9aae45e_GH0.tar.gz) = cb2cfc2545ff665a4ca8c48b38171271acd4f3887fcb11b7bea18ca0cabc5744
+SIZE (ocornut-imgui-9aae45e_GH0.tar.gz) = 1488056
+SHA256 (thedmd-imgui-node-editor-2f99b2d_GH0.tar.gz) = add46eb447f6c3e883f5bffcc69de20df1dfbb2fc8f55fae3f20eeebb8729a05
+SIZE (thedmd-imgui-node-editor-2f99b2d_GH0.tar.gz) = 1329470
+SHA256 (wjakob-glfw-e130e55_GH0.tar.gz) = ee38c08c5568fa110ef38790ac8c4054001ba47da07109d0428174018b771fcb
+SIZE (wjakob-glfw-e130e55_GH0.tar.gz) = 783212
+SHA256 (wjakob-nanobind-e504eeb_GH0.tar.gz) = 27857a9f5d6de02859f82fde2633bd217ce45b6ebb3f85211835e75950aac85c
+SIZE (wjakob-nanobind-e504eeb_GH0.tar.gz) = 912516
+SHA256 (wjakob-nanovg-bf2320d_GH0.tar.gz) = d59db3e256ed22cdf1aae797136a1d45998eb5b8b757258cc07d0e7d5c951515
+SIZE (wjakob-nanovg-bf2320d_GH0.tar.gz) = 2023633
+SHA256 (wjakob-nanovg_metal-075b04f_GH0.tar.gz) = 07b627adcae703cf9481d90e502974985a3e248eb1068bf172594eff75648def
+SIZE (wjakob-nanovg_metal-075b04f_GH0.tar.gz) = 159169
diff --git a/graphics/materialx/files/patch-python_CMakeLists.txt b/graphics/materialx/files/patch-python_CMakeLists.txt
new file mode 100644
index 000000000000..e25311573aa1
--- /dev/null
+++ b/graphics/materialx/files/patch-python_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- python/CMakeLists.txt.orig 2025-11-25 20:08:57 UTC
++++ python/CMakeLists.txt
+@@ -12,7 +12,7 @@ if(MATERIALX_INSTALL_PYTHON AND PYTHON_EXECUTABLE AND
+ endif()
+
+ if(MATERIALX_INSTALL_PYTHON AND PYTHON_EXECUTABLE AND NOT SKBUILD)
+- set(SETUP_PY "${CMAKE_INSTALL_PREFIX}/python/setup.py")
++ set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/python/setup.py")
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in" "${SETUP_PY}")
+ install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip install . WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/python)")
+ endif()
diff --git a/graphics/materialx/files/patch-source_MaterialXFormat_File.cpp b/graphics/materialx/files/patch-source_MaterialXFormat_File.cpp
new file mode 100644
index 000000000000..179d7b952ee5
--- /dev/null
+++ b/graphics/materialx/files/patch-source_MaterialXFormat_File.cpp
@@ -0,0 +1,49 @@
+--- source/MaterialXFormat/File.cpp.orig 2025-09-15 18:12:11 UTC
++++ source/MaterialXFormat/File.cpp
+@@ -23,6 +23,7 @@
+ #include <linux/limits.h>
+ #elif defined(__FreeBSD__)
+ #include <sys/syslimits.h>
++ #include <sys/sysctl.h>
+ #elif defined(__APPLE__)
+ #include <mach-o/dyld.h>
+ #endif
+@@ -350,7 +351,7 @@ FilePath FilePath::getModulePath()
+ }
+ }
+ #else
+- vector<char> buf(PATH_MAX);
++/* vector<char> buf(PATH_MAX);
+ while (true)
+ {
+ ssize_t reqSize = readlink("/proc/self/exe", buf.data(), buf.size());
+@@ -367,8 +368,29 @@ FilePath FilePath::getModulePath()
+ buf.data()[reqSize] = '\0';
+ return FilePath(buf.data()).getParentPath();
+ }
++ }*/
++
++ std::vector<char> buf(PATH_MAX);
++ size_t bufSize = buf.size();
++
++ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
++ if (sysctl(mib, 4, buf.data(), &bufSize, nullptr, 0) == -1)
++ {
++ throw Exception("Error in getModulePath (FreeBSD): " + string(strerror(errno)));
+ }
++
++ return FilePath(buf.data()).getParentPath();
+ #endif
++}
++
++std::string getParentPath(const std::string &path)
++{
++ size_t lastSlash = path.find_last_of('/');
++ if (lastSlash == string::npos)
++ {
++ return ".";
++ }
++ return path.substr(0, lastSlash);
+ }
+
+ FileSearchPath getEnvironmentPath(const string& sep)
diff --git a/graphics/materialx/files/patch-source_MaterialXView_NanoGUI_CMakeLists.txt b/graphics/materialx/files/patch-source_MaterialXView_NanoGUI_CMakeLists.txt
new file mode 100644
index 000000000000..0e378e4b5718
--- /dev/null
+++ b/graphics/materialx/files/patch-source_MaterialXView_NanoGUI_CMakeLists.txt
@@ -0,0 +1,14 @@
+--- source/MaterialXView/NanoGUI/CMakeLists.txt.orig 2024-12-05 21:12:44 UTC
++++ source/MaterialXView/NanoGUI/CMakeLists.txt
+@@ -303,9 +303,9 @@ elseif (CMAKE_SYSTEM MATCHES "Linux" OR CMAKE_SYSTEM_N
+ list(APPEND NANOGUI_EXTRA src/darwin.mm src/autorelease.mm)
+ set_property(SOURCE src/autorelease.mm PROPERTY COMPILE_FLAGS -fno-objc-arc)
+ elseif (CMAKE_SYSTEM MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "BSD")
+- list(APPEND NANOGUI_LIBS X11 pthread)
++ list(APPEND NANOGUI_LIBS pthread)
+ if (NANOGUI_BACKEND STREQUAL "OpenGL")
+- list(APPEND NANOGUI_LIBS GL)
++ list(APPEND NANOGUI_LIBS)
+ elseif (NANOGUI_BACKEND STREQUAL "GLES 2")
+ list(APPEND NANOGUI_LIBS GLESv2)
+ elseif (NANOGUI_BACKEND STREQUAL "GLES 3")
diff --git a/graphics/materialx/pkg-descr b/graphics/materialx/pkg-descr
new file mode 100644
index 000000000000..d9dc5c1805f3
--- /dev/null
+++ b/graphics/materialx/pkg-descr
@@ -0,0 +1,2 @@
+MaterialX is an open standard for the exchange of rich material and
+look-development content across applications and renderers.
diff --git a/graphics/materialx/pkg-plist b/graphics/materialx/pkg-plist
new file mode 100644
index 000000000000..3ece8b0b3c08
--- /dev/null
+++ b/graphics/materialx/pkg-plist
@@ -0,0 +1,786 @@
+bin/MaterialXGraphEditor
+bin/MaterialXView
+include/materialx/JsMaterialX/Helpers.h
+include/materialx/JsMaterialX/JsMaterialXFormat/StrContainerTypeRegistration.h
+include/materialx/JsMaterialX/MapHelper.h
+include/materialx/JsMaterialX/VectorHelper.h
+include/materialx/MaterialXCore/Definition.h
+include/materialx/MaterialXCore/Document.h
+include/materialx/MaterialXCore/Element.h
+include/materialx/MaterialXCore/Exception.h
+include/materialx/MaterialXCore/Export.h
+include/materialx/MaterialXCore/Geom.h
+include/materialx/MaterialXCore/Interface.h
+include/materialx/MaterialXCore/Library.h
+include/materialx/MaterialXCore/Look.h
+include/materialx/MaterialXCore/Material.h
+include/materialx/MaterialXCore/Node.h
+include/materialx/MaterialXCore/Property.h
+include/materialx/MaterialXCore/Traversal.h
+include/materialx/MaterialXCore/Types.h
+include/materialx/MaterialXCore/Unit.h
+include/materialx/MaterialXCore/Util.h
+include/materialx/MaterialXCore/Value.h
+include/materialx/MaterialXCore/Variant.h
+include/materialx/MaterialXFormat/Environ.h
+include/materialx/MaterialXFormat/Export.h
+include/materialx/MaterialXFormat/File.h
+include/materialx/MaterialXFormat/Util.h
+include/materialx/MaterialXFormat/XmlIo.h
+include/materialx/MaterialXGenGlsl/EsslShaderGenerator.h
+include/materialx/MaterialXGenGlsl/EsslSyntax.h
+include/materialx/MaterialXGenGlsl/Export.h
+include/materialx/MaterialXGenGlsl/GlslResourceBindingContext.h
+include/materialx/MaterialXGenGlsl/GlslShaderGenerator.h
+include/materialx/MaterialXGenGlsl/GlslSyntax.h
+include/materialx/MaterialXGenGlsl/Nodes/LightCompoundNodeGlsl.h
+include/materialx/MaterialXGenGlsl/Nodes/LightNodeGlsl.h
+include/materialx/MaterialXGenGlsl/Nodes/LightSamplerNodeGlsl.h
+include/materialx/MaterialXGenGlsl/Nodes/LightShaderNodeGlsl.h
+include/materialx/MaterialXGenGlsl/Nodes/NumLightsNodeGlsl.h
+include/materialx/MaterialXGenGlsl/Nodes/SurfaceNodeGlsl.h
+include/materialx/MaterialXGenGlsl/VkResourceBindingContext.h
+include/materialx/MaterialXGenGlsl/VkShaderGenerator.h
+include/materialx/MaterialXGenGlsl/VkSyntax.h
+include/materialx/MaterialXGenGlsl/WgslResourceBindingContext.h
+include/materialx/MaterialXGenGlsl/WgslShaderGenerator.h
+include/materialx/MaterialXGenGlsl/WgslSyntax.h
+include/materialx/MaterialXGenMdl/Export.h
+include/materialx/MaterialXGenMdl/MdlShaderGenerator.h
+include/materialx/MaterialXGenMdl/MdlSyntax.h
+include/materialx/MaterialXGenMdl/Nodes/ClosureCompoundNodeMdl.h
+include/materialx/MaterialXGenMdl/Nodes/ClosureLayerNodeMdl.h
+include/materialx/MaterialXGenMdl/Nodes/CompoundNodeMdl.h
+include/materialx/MaterialXGenMdl/Nodes/ConvolutionNode.h
+include/materialx/MaterialXGenMdl/Nodes/CustomNodeMdl.h
+include/materialx/MaterialXGenMdl/Nodes/HeightToNormalNodeMdl.h
+include/materialx/MaterialXGenMdl/Nodes/ImageNodeMdl.h
+include/materialx/MaterialXGenMdl/Nodes/MaterialNodeMdl.h
+include/materialx/MaterialXGenMdl/Nodes/SourceCodeNodeMdl.h
+include/materialx/MaterialXGenMdl/Nodes/SurfaceNodeMdl.h
+include/materialx/MaterialXGenMsl/Export.h
+include/materialx/MaterialXGenMsl/MslResourceBindingContext.h
+include/materialx/MaterialXGenMsl/MslShaderGenerator.h
+include/materialx/MaterialXGenMsl/MslSyntax.h
+include/materialx/MaterialXGenMsl/Nodes/LightCompoundNodeMsl.h
+include/materialx/MaterialXGenMsl/Nodes/LightNodeMsl.h
+include/materialx/MaterialXGenMsl/Nodes/LightSamplerNodeMsl.h
+include/materialx/MaterialXGenMsl/Nodes/LightShaderNodeMsl.h
+include/materialx/MaterialXGenMsl/Nodes/NumLightsNodeMsl.h
+include/materialx/MaterialXGenMsl/Nodes/SurfaceNodeMsl.h
+include/materialx/MaterialXGenOsl/Export.h
+include/materialx/MaterialXGenOsl/OslShaderGenerator.h
+include/materialx/MaterialXGenOsl/OslSyntax.h
+include/materialx/MaterialXGenShader/ColorManagementSystem.h
+include/materialx/MaterialXGenShader/DefaultColorManagementSystem.h
+include/materialx/MaterialXGenShader/Export.h
+include/materialx/MaterialXGenShader/Factory.h
+include/materialx/MaterialXGenShader/GenContext.h
+include/materialx/MaterialXGenShader/GenOptions.h
+include/materialx/MaterialXGenShader/GenUserData.h
+include/materialx/MaterialXGenShader/HwShaderGenerator.h
+include/materialx/MaterialXGenShader/Library.h
+include/materialx/MaterialXGenShader/Nodes/CompoundNode.h
+include/materialx/MaterialXGenShader/Nodes/HwBitangentNode.h
+include/materialx/MaterialXGenShader/Nodes/HwFrameNode.h
+include/materialx/MaterialXGenShader/Nodes/HwGeomColorNode.h
+include/materialx/MaterialXGenShader/Nodes/HwGeomPropValueNode.h
+include/materialx/MaterialXGenShader/Nodes/HwImageNode.h
+include/materialx/MaterialXGenShader/Nodes/HwNormalNode.h
+include/materialx/MaterialXGenShader/Nodes/HwPositionNode.h
+include/materialx/MaterialXGenShader/Nodes/HwTangentNode.h
+include/materialx/MaterialXGenShader/Nodes/HwTexCoordNode.h
+include/materialx/MaterialXGenShader/Nodes/HwTimeNode.h
+include/materialx/MaterialXGenShader/Nodes/HwTransformNode.h
+include/materialx/MaterialXGenShader/Nodes/HwViewDirectionNode.h
+include/materialx/MaterialXGenShader/Nodes/MaterialNode.h
+include/materialx/MaterialXGenShader/Nodes/OcioNode.h
+include/materialx/MaterialXGenShader/Nodes/SourceCodeNode.h
+include/materialx/MaterialXGenShader/OcioColorManagementSystem.h
+include/materialx/MaterialXGenShader/Shader.h
+include/materialx/MaterialXGenShader/ShaderGenerator.h
+include/materialx/MaterialXGenShader/ShaderGraph.h
+include/materialx/MaterialXGenShader/ShaderNode.h
+include/materialx/MaterialXGenShader/ShaderNodeImpl.h
+include/materialx/MaterialXGenShader/ShaderStage.h
+include/materialx/MaterialXGenShader/ShaderTranslator.h
+include/materialx/MaterialXGenShader/Syntax.h
+include/materialx/MaterialXGenShader/TypeDesc.h
+include/materialx/MaterialXGenShader/UnitSystem.h
+include/materialx/MaterialXGenShader/Util.h
+include/materialx/MaterialXGraphEditor/External/Glfw/include/GLFW/glfw3.h
+include/materialx/MaterialXGraphEditor/External/Glfw/include/GLFW/glfw3native.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/cocoa_joystick.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/cocoa_platform.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/egl_context.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/glx_context.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/internal.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/linux_joystick.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/mappings.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/nsgl_context.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/null_joystick.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/null_platform.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/osmesa_context.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/posix_thread.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/posix_time.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/wgl_context.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/win32_joystick.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/win32_platform.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/wl_platform.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/x11_platform.h
+include/materialx/MaterialXGraphEditor/External/Glfw/src/xkb_unicode.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_allegro5.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_android.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_dx10.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_dx11.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_dx12.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_dx9.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_glfw.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_glut.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_metal.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_opengl2.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_opengl3.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_opengl3_loader.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_osx.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_sdl.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_sdlrenderer.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_vulkan.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_wgpu.h
+include/materialx/MaterialXGraphEditor/External/ImGui/backends/imgui_impl_win32.h
+include/materialx/MaterialXGraphEditor/External/ImGui/examples/example_allegro5/imconfig_allegro5.h
+include/materialx/MaterialXGraphEditor/External/ImGui/examples/libs/glfw/include/GLFW/glfw3.h
+include/materialx/MaterialXGraphEditor/External/ImGui/examples/libs/glfw/include/GLFW/glfw3native.h
+include/materialx/MaterialXGraphEditor/External/ImGui/examples/libs/usynergy/uSynergy.h
+include/materialx/MaterialXGraphEditor/External/ImGui/imconfig.h
+include/materialx/MaterialXGraphEditor/External/ImGui/imgui.h
+include/materialx/MaterialXGraphEditor/External/ImGui/imgui_internal.h
+include/materialx/MaterialXGraphEditor/External/ImGui/imstb_rectpack.h
+include/materialx/MaterialXGraphEditor/External/ImGui/imstb_textedit.h
+include/materialx/MaterialXGraphEditor/External/ImGui/imstb_truetype.h
+include/materialx/MaterialXGraphEditor/External/ImGui/misc/cpp/imgui_stdlib.h
+include/materialx/MaterialXGraphEditor/External/ImGui/misc/freetype/imgui_freetype.h
+include/materialx/MaterialXGraphEditor/External/ImGui/misc/single_file/imgui_single_file.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/crude_json.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/application/include/application.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/application/source/imgui_extra_keys.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/application/source/imgui_impl_dx11.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/application/source/imgui_impl_glfw.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/application/source/imgui_impl_opengl3.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/application/source/imgui_impl_win32.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/application/source/platform.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/application/source/renderer.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/application/source/setup.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/blueprints-example/utilities/builders.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/blueprints-example/utilities/drawing.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/examples/blueprints-example/utilities/widgets.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/DXSDK/include/D3DX11.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/DXSDK/include/D3DX11async.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/DXSDK/include/D3DX11core.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/DXSDK/include/D3DX11tex.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/DXSDK/include/dxerr.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/ScopeGuard/ScopeGuard.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/gl3w/Include/GL/gl3w.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/gl3w/Include/GL/glcorearb.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/imgui/imconfig.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/imgui/imgui.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/imgui/imgui_internal.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/imgui/imstb_rectpack.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/imgui/imstb_textedit.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/imgui/imstb_truetype.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/external/stb_image/stb_image.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/imgui_bezier_math.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/imgui_canvas.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/imgui_extra_math.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/imgui_node_editor.h
+include/materialx/MaterialXGraphEditor/External/ImGuiNodeEditor/imgui_node_editor_internal.h
+include/materialx/MaterialXGraphEditor/FileDialog.h
+include/materialx/MaterialXGraphEditor/Graph.h
+include/materialx/MaterialXGraphEditor/RenderView.h
+include/materialx/MaterialXGraphEditor/UiNode.h
+include/materialx/MaterialXRender/Camera.h
+include/materialx/MaterialXRender/CgltfLoader.h
+include/materialx/MaterialXRender/Export.h
+include/materialx/MaterialXRender/External/Cgltf/cgltf.h
+include/materialx/MaterialXRender/External/StbImage/stb_image.h
+include/materialx/MaterialXRender/External/StbImage/stb_image_write.h
+include/materialx/MaterialXRender/External/TinyObjLoader/tiny_obj_loader.h
+include/materialx/MaterialXRender/GeometryHandler.h
+include/materialx/MaterialXRender/Harmonics.h
+include/materialx/MaterialXRender/Image.h
+include/materialx/MaterialXRender/ImageHandler.h
+include/materialx/MaterialXRender/LightHandler.h
+include/materialx/MaterialXRender/Mesh.h
+include/materialx/MaterialXRender/OiioImageLoader.h
+include/materialx/MaterialXRender/ShaderMaterial.h
+include/materialx/MaterialXRender/ShaderRenderer.h
+include/materialx/MaterialXRender/StbImageLoader.h
+include/materialx/MaterialXRender/TextureBaker.h
+include/materialx/MaterialXRender/Timer.h
+include/materialx/MaterialXRender/TinyObjLoader.h
+include/materialx/MaterialXRender/Types.h
+include/materialx/MaterialXRender/Util.h
+include/materialx/MaterialXRenderGlsl/Export.h
+include/materialx/MaterialXRenderGlsl/External/Glad/glad.h
+include/materialx/MaterialXRenderGlsl/External/Glad/khrplatform.h
+include/materialx/MaterialXRenderGlsl/GLCocoaWrappers.h
+include/materialx/MaterialXRenderGlsl/GLContext.h
+include/materialx/MaterialXRenderGlsl/GLFramebuffer.h
+include/materialx/MaterialXRenderGlsl/GLTextureHandler.h
+include/materialx/MaterialXRenderGlsl/GLUtil.h
+include/materialx/MaterialXRenderGlsl/GlslMaterial.h
+include/materialx/MaterialXRenderGlsl/GlslProgram.h
+include/materialx/MaterialXRenderGlsl/GlslRenderer.h
+include/materialx/MaterialXRenderGlsl/TextureBaker.h
+include/materialx/MaterialXRenderHw/Export.h
+include/materialx/MaterialXRenderHw/SimpleWindow.h
+include/materialx/MaterialXRenderHw/WindowCocoaWrappers.h
+include/materialx/MaterialXRenderHw/WindowWrapper.h
+include/materialx/MaterialXRenderMsl/Export.h
+include/materialx/MaterialXRenderMsl/MetalFramebuffer.h
+include/materialx/MaterialXRenderMsl/MetalState.h
+include/materialx/MaterialXRenderMsl/MetalTextureHandler.h
+include/materialx/MaterialXRenderMsl/MslMaterial.h
+include/materialx/MaterialXRenderMsl/MslPipelineStateObject.h
+include/materialx/MaterialXRenderMsl/MslRenderer.h
+include/materialx/MaterialXRenderMsl/TextureBaker.h
+include/materialx/MaterialXRenderOsl/Export.h
+include/materialx/MaterialXRenderOsl/OslRenderer.h
+include/materialx/MaterialXTest/MaterialXGenGlsl/GenGlsl.h
+include/materialx/MaterialXTest/MaterialXGenMdl/GenMdl.h
+include/materialx/MaterialXTest/MaterialXGenMsl/CompileMsl.h
+include/materialx/MaterialXTest/MaterialXGenMsl/GenMsl.h
+include/materialx/MaterialXTest/MaterialXGenOsl/GenOsl.h
+include/materialx/MaterialXTest/MaterialXGenShader/GenShaderUtil.h
+include/materialx/MaterialXTest/MaterialXRender/RenderUtil.h
+include/materialx/MaterialXView/Editor.h
+include/materialx/MaterialXView/NanoGUI/ext/glad/include/KHR/khrplatform.h
+include/materialx/MaterialXView/NanoGUI/ext/glad/include/glad/glad.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/getopt.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/glad/gl.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/glad/khrplatform.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/glad/vk_platform.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/glad/vulkan.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/linmath.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/mingw/_mingw_dxhelper.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/mingw/dinput.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/mingw/xinput.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/nuklear.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/nuklear_glfw_gl2.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/stb_image_write.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/tinycthread.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/deps/vs2008/stdint.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/include/GLFW/glfw3.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/include/GLFW/glfw3native.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/cocoa_joystick.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/cocoa_platform.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/egl_context.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/glx_context.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/internal.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/linux_joystick.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/mappings.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/nsgl_context.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/null_joystick.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/null_platform.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/osmesa_context.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/posix_thread.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/posix_time.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/wgl_context.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/win32_joystick.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/win32_platform.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/wl_platform.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/x11_platform.h
+include/materialx/MaterialXView/NanoGUI/ext/glfw/src/xkb_unicode.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/docs/cppyy.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/eigen/dense.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/eigen/sparse.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/eval.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/intrusive/counter.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/intrusive/ref.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/make_iterator.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nanobind.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_accessor.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_attr.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_call.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_cast.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_class.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_defs.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_descr.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_enums.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_error.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_func.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_lib.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_misc.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_python.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_traits.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_tuple.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/nb_types.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/ndarray.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/operators.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/array.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/bind_map.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/bind_vector.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/chrono.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/complex.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/detail/chrono.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/detail/nb_array.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/detail/nb_dict.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/detail/nb_list.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/detail/nb_optional.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/detail/nb_set.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/detail/traits.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/filesystem.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/function.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/list.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/map.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/optional.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/pair.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/set.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/shared_ptr.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/string.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/string_view.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/tuple.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/unique_ptr.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/unordered_map.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/unordered_set.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/variant.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/vector.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/stl/wstring.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/trampoline.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/include/nanobind/typing.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/src/buffer.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/src/hash.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/src/nb_abi.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/src/nb_ft.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/src/nb_internals.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/tests/inter_module.h
+include/materialx/MaterialXView/NanoGUI/ext/nanobind/tests/object_py.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/example/demo.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/example/perf.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/example/stb_image_write.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/obsolete/nanovg_gl2.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/obsolete/nanovg_gl3.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/src/fontstash.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/src/nanovg.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/src/nanovg_gl.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/src/nanovg_gl_utils.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/src/stb_image.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg/src/stb_truetype.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/mnvg_bitcode/ios_1_0.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/mnvg_bitcode/ios_1_1.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/mnvg_bitcode/ios_1_2.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/mnvg_bitcode/ios_2_0.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/mnvg_bitcode/ios_2_1.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/mnvg_bitcode/macos_1_1.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/mnvg_bitcode/macos_1_2.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/mnvg_bitcode/macos_2_0.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/mnvg_bitcode/macos_2_1.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/mnvg_bitcode/tvos.h
+include/materialx/MaterialXView/NanoGUI/ext/nanovg_metal/src/nanovg_mtl.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/button.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/canvas.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/checkbox.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/colorpicker.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/colorwheel.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/combobox.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/common.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/formhelper.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/graph.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/icons.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/imagepanel.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/imageview.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/label.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/layout.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/messagedialog.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/metal.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/nanogui.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/object.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/opengl.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/popup.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/popupbutton.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/progressbar.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/python.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/renderpass.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/screen.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/shader.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/slider.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/tabwidget.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/textarea.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/textbox.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/texture.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/theme.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/toolbutton.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/traits.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/vector.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/vscrollpanel.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/widget.h
+include/materialx/MaterialXView/NanoGUI/include/nanogui/window.h
+include/materialx/MaterialXView/NanoGUI/src/opengl_check.h
+include/materialx/MaterialXView/NanoGUI/src/python/py_doc.h
+include/materialx/MaterialXView/NanoGUI/src/python/python.h
+include/materialx/MaterialXView/RenderPipeline.h
+include/materialx/MaterialXView/RenderPipelineGL.h
+include/materialx/MaterialXView/RenderPipelineMetal.h
+include/materialx/MaterialXView/Viewer.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/attr.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/buffer_info.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/cast.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/detail/class.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/detail/common.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/detail/cpp_conduit.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/detail/descr.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/detail/exception_translation.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/detail/init.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/detail/internals.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/detail/type_caster_base.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/detail/typeid.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/detail/value_and_holder.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/embed.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/eval.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/functional.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/gil.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/gil_safe_call_once.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/operators.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/options.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/pybind11.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/pytypes.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/stl.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/stl_bind.h
+include/materialx/PyMaterialX/External/PyBind11/include/pybind11/typing.h
+include/materialx/PyMaterialX/PyMaterialX.h
+lib/PyMaterialXCore%%PYTHON_TAG%%.so
+lib/PyMaterialXFormat%%PYTHON_TAG%%.so
+lib/PyMaterialXGenGlsl%%PYTHON_TAG%%.so
+lib/PyMaterialXGenMdl%%PYTHON_TAG%%.so
+lib/PyMaterialXGenMsl%%PYTHON_TAG%%.so
+lib/PyMaterialXGenOsl%%PYTHON_TAG%%.so
+lib/PyMaterialXGenShader%%PYTHON_TAG%%.so
+lib/PyMaterialXRender%%PYTHON_TAG%%.so
+lib/PyMaterialXRenderGlsl%%PYTHON_TAG%%.so
+lib/PyMaterialXRenderOsl%%PYTHON_TAG%%.so
+lib/libMaterialXCore.so
+lib/libMaterialXCore.so.1
+lib/libMaterialXCore.so.1.39.4
+lib/libMaterialXFormat.so
+lib/libMaterialXFormat.so.1
+lib/libMaterialXFormat.so.1.39.4
+lib/libMaterialXGenGlsl.so
+lib/libMaterialXGenGlsl.so.1
+lib/libMaterialXGenGlsl.so.1.39.4
+lib/libMaterialXGenMdl.so
+lib/libMaterialXGenMdl.so.1
+lib/libMaterialXGenMdl.so.1.39.4
+lib/libMaterialXGenMsl.so
+lib/libMaterialXGenMsl.so.1
+lib/libMaterialXGenMsl.so.1.39.4
+lib/libMaterialXGenOsl.so
+lib/libMaterialXGenOsl.so.1
+lib/libMaterialXGenOsl.so.1.39.4
+lib/libMaterialXGenShader.so
+lib/libMaterialXGenShader.so.1
+lib/libMaterialXGenShader.so.1.39.4
+lib/libMaterialXRender.so
+lib/libMaterialXRender.so.1
+lib/libMaterialXRender.so.1.39.4
+lib/libMaterialXRenderGlsl.so
+lib/libMaterialXRenderGlsl.so.1
+lib/libMaterialXRenderGlsl.so.1.39.4
+lib/libMaterialXRenderHw.so
+lib/libMaterialXRenderHw.so.1
+lib/libMaterialXRenderHw.so.1.39.4
+lib/libMaterialXRenderOsl.so
+lib/libMaterialXRenderOsl.so.1
+lib/libMaterialXRenderOsl.so.1.39.4
+%%DATADIR%%/materialx/CMakeLists.txt
+%%DATADIR%%/materialx/Geometry/boombox.glb
+%%DATADIR%%/materialx/Geometry/chess_set.glb
+%%DATADIR%%/materialx/Geometry/cloth.obj
+%%DATADIR%%/materialx/Geometry/cube.obj
+%%DATADIR%%/materialx/Geometry/plane.obj
+%%DATADIR%%/materialx/Geometry/shaderball.glb
+%%DATADIR%%/materialx/Geometry/shaderball_ao.png
+%%DATADIR%%/materialx/Geometry/sphere.obj
+%%DATADIR%%/materialx/Geometry/teapot.obj
+%%DATADIR%%/materialx/Images/brass_color.jpg
+%%DATADIR%%/materialx/Images/brass_roughness.jpg
+%%DATADIR%%/materialx/Images/brick_base_gray.jpg
+%%DATADIR%%/materialx/Images/brick_dirt_mask.jpg
+%%DATADIR%%/materialx/Images/brick_mask.jpg
+%%DATADIR%%/materialx/Images/brick_normal.jpg
+%%DATADIR%%/materialx/Images/brick_roughness.jpg
+%%DATADIR%%/materialx/Images/brick_variation_mask.jpg
+%%DATADIR%%/materialx/Images/cloth.bmp
+%%DATADIR%%/materialx/Images/cloth.gif
+%%DATADIR%%/materialx/Images/cloth.jpg
+%%DATADIR%%/materialx/Images/cloth.png
+%%DATADIR%%/materialx/Images/cloth.tga
+%%DATADIR%%/materialx/Images/greysphere_calibration.png
+%%DATADIR%%/materialx/Images/grid.png
+%%DATADIR%%/materialx/Images/grid_udim/grid.1001.png
+%%DATADIR%%/materialx/Images/grid_udim/grid.1002.png
+%%DATADIR%%/materialx/Images/grid_udim/grid.1003.png
+%%DATADIR%%/materialx/Images/grid_udim/grid.1011.png
+%%DATADIR%%/materialx/Images/grid_udim/grid.1012.png
+%%DATADIR%%/materialx/Images/grid_udim/grid.1013.png
+%%DATADIR%%/materialx/Images/mesh_wire_norm.png
+%%DATADIR%%/materialx/Images/onyx_color.jpg
+%%DATADIR%%/materialx/Images/onyx_roughness.jpg
+%%DATADIR%%/materialx/Images/plain_heightmap.png
+%%DATADIR%%/materialx/Images/wood_color.jpg
+%%DATADIR%%/materialx/Images/wood_roughness.jpg
+%%DATADIR%%/materialx/Lights/environment_map.mtlx
+%%DATADIR%%/materialx/Lights/goegap.hdr
+%%DATADIR%%/materialx/Lights/goegap_split.hdr
+%%DATADIR%%/materialx/Lights/goegap_split.mtlx
+%%DATADIR%%/materialx/Lights/irradiance/goegap.hdr
+%%DATADIR%%/materialx/Lights/irradiance/goegap_split.hdr
+%%DATADIR%%/materialx/Lights/irradiance/san_giuseppe_bridge.hdr
+%%DATADIR%%/materialx/Lights/irradiance/san_giuseppe_bridge_split.hdr
+%%DATADIR%%/materialx/Lights/irradiance/table_mountain.hdr
+%%DATADIR%%/materialx/Lights/irradiance/table_mountain_split.hdr
+%%DATADIR%%/materialx/Lights/san_giuseppe_bridge.hdr
+%%DATADIR%%/materialx/Lights/san_giuseppe_bridge_split.hdr
+%%DATADIR%%/materialx/Lights/san_giuseppe_bridge_split.mtlx
+%%DATADIR%%/materialx/Lights/table_mountain.hdr
+%%DATADIR%%/materialx/Lights/table_mountain_split.hdr
+%%DATADIR%%/materialx/Lights/table_mountain_split.mtlx
+%%DATADIR%%/materialx/Materials/Examples/DisneyPrincipled/disney_principled_carpaint.mtlx
+%%DATADIR%%/materialx/Materials/Examples/DisneyPrincipled/disney_principled_default.mtlx
+%%DATADIR%%/materialx/Materials/Examples/DisneyPrincipled/disney_principled_glass.mtlx
+%%DATADIR%%/materialx/Materials/Examples/DisneyPrincipled/disney_principled_gold.mtlx
+%%DATADIR%%/materialx/Materials/Examples/DisneyPrincipled/disney_principled_plastic.mtlx
+%%DATADIR%%/materialx/Materials/Examples/GltfPbr/boombox/BoomBox_baseColor.png
+%%DATADIR%%/materialx/Materials/Examples/GltfPbr/boombox/BoomBox_emissive.png
+%%DATADIR%%/materialx/Materials/Examples/GltfPbr/boombox/BoomBox_normal.png
+%%DATADIR%%/materialx/Materials/Examples/GltfPbr/boombox/BoomBox_occlusionRoughnessMetallic.png
+%%DATADIR%%/materialx/Materials/Examples/GltfPbr/gltf_pbr_boombox.mtlx
+%%DATADIR%%/materialx/Materials/Examples/GltfPbr/gltf_pbr_carpaint.mtlx
+%%DATADIR%%/materialx/Materials/Examples/GltfPbr/gltf_pbr_default.mtlx
+%%DATADIR%%/materialx/Materials/Examples/GltfPbr/gltf_pbr_glass.mtlx
+%%DATADIR%%/materialx/Materials/Examples/GltfPbr/gltf_pbr_gold.mtlx
+%%DATADIR%%/materialx/Materials/Examples/GltfPbr/gltf_pbr_plastic.mtlx
+%%DATADIR%%/materialx/Materials/Examples/OpenPbr/open_pbr_aluminum_brushed.mtlx
+%%DATADIR%%/materialx/Materials/Examples/OpenPbr/open_pbr_carpaint.mtlx
+%%DATADIR%%/materialx/Materials/Examples/OpenPbr/open_pbr_default.mtlx
+%%DATADIR%%/materialx/Materials/Examples/OpenPbr/open_pbr_glass.mtlx
+%%DATADIR%%/materialx/Materials/Examples/OpenPbr/open_pbr_honey.mtlx
+%%DATADIR%%/materialx/Materials/Examples/OpenPbr/open_pbr_ketchup.mtlx
+%%DATADIR%%/materialx/Materials/Examples/OpenPbr/open_pbr_lightbulb.mtlx
+%%DATADIR%%/materialx/Materials/Examples/OpenPbr/open_pbr_pearl.mtlx
+%%DATADIR%%/materialx/Materials/Examples/OpenPbr/open_pbr_soapbubble.mtlx
+%%DATADIR%%/materialx/Materials/Examples/OpenPbr/open_pbr_velvet.mtlx
+%%DATADIR%%/materialx/Materials/Examples/SimpleHair/simple_hair_default.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/bishop_black_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/bishop_black_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/bishop_black_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/bishop_shared_metallic.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/bishop_white_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/bishop_white_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/bishop_white_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/castle_black_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/castle_shared_metallic.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/castle_shared_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/castle_shared_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/castle_white_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/chessboard_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/chessboard_metallic.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/chessboard_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/chessboard_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/king_black_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/king_black_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/king_black_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/king_shared_metallic.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/king_shared_scattering.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/king_white_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/king_white_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/king_white_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/knight_black_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/knight_black_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/knight_black_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/knight_white_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/knight_white_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/knight_white_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/pawn_black_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/pawn_shared_metallic.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/pawn_shared_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/pawn_shared_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/pawn_white_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/queen_black_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/queen_black_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/queen_black_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/queen_shared_metallic.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/queen_shared_scattering.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/queen_white_base_color.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/queen_white_normal.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/chess_set/queen_white_roughness.jpg
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_brass_tiled.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_brick_procedural.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_carpaint.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_chess_set.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_chrome.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_copper.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_default.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_glass.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_glass_tinted.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_gold.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_greysphere.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_greysphere_calibration.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_jade.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_look_brass_tiled.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_look_wood_tiled.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_marble_solid.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_metal_brushed.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_plastic.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_thin_film.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_velvet.mtlx
+%%DATADIR%%/materialx/Materials/Examples/StandardSurface/standard_surface_wood_tiled.mtlx
+%%DATADIR%%/materialx/Materials/Examples/UsdPreviewSurface/usd_preview_surface_brass_tiled.mtlx
+%%DATADIR%%/materialx/Materials/Examples/UsdPreviewSurface/usd_preview_surface_carpaint.mtlx
+%%DATADIR%%/materialx/Materials/Examples/UsdPreviewSurface/usd_preview_surface_default.mtlx
+%%DATADIR%%/materialx/Materials/Examples/UsdPreviewSurface/usd_preview_surface_glass.mtlx
+%%DATADIR%%/materialx/Materials/Examples/UsdPreviewSurface/usd_preview_surface_gold.mtlx
+%%DATADIR%%/materialx/Materials/Examples/UsdPreviewSurface/usd_preview_surface_plastic.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/README.md
+%%DATADIR%%/materialx/Materials/TestSuite/_options.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/libraries/metal/brass_wire_mesh.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/libraries/metal/libraries/metal_definition.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/libraries/metal/textures/mesh_wire_cutout.png
+%%DATADIR%%/materialx/Materials/TestSuite/libraries/metal/textures/mesh_wire_norm.png
+%%DATADIR%%/materialx/Materials/TestSuite/libraries/metal/textures/mesh_wire_spec.png
+%%DATADIR%%/materialx/Materials/TestSuite/lights/light_compound_test.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/lights/light_rig_test_1.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/lights/light_rig_test_2.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/locale/numericformat.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/locale/utf8.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/nprlib/edge_brighten.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/nprlib/gooch_shade.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/nprlib/starfield.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/nprlib/toon_shade.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/add_bsdf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/blackbody.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/bsdf_graph.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/burley_diffuse.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/chiang_hair_bsdf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/conductor.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/dielectric.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/generalized_schlick.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/layer_bsdf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/mix_bsdf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/multiply_bsdf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/oren_nayar_diffuse.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/sheen_bsdf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/subsurface_bsdf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/thin_film_bsdf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/translucent_bsdf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/varying_ior.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/bsdf/vertical_layering.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/displacement/displaced_material.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/displacement/displacement.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/edf/add_edf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/edf/edf_graph.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/edf/generalized_schlick_edf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/edf/mix_edf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/edf/multiply_edf.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/multioutput/multioutput.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/multioutput/multishaderoutput.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/chiang_hair_surfaceshader.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_add.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_conductor.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_dielectric.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_diffuse.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_emission.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_generalized_schlick.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_iridescence.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_layer.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_mix.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_sheen.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_sss.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_surface.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/lama/lama_translucent.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/mapped_surfaceshader.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/network_surfaceshader.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/nodegraph_surfaceshader.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/normalmapped_surfaceshader.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/shader_ops.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/sheen.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/standard_surface_onyx_hextiled.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/subsurface.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/surface_ops.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/surfacematerial_with_graph.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/transparency_hints.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/usd_normal_map.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/pbrlib/surfaceshader/usd_uv_texture.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/adjustment/hsvtorgb.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/adjustment/luminance.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/adjustment/remap.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/adjustment/smoothstep.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/animated/clock.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/application/time_frame.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/channel/combine.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/channel/extract.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/color_management/color3_vec3_cm_test.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/color_management/color_management.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/color_management/filename_cm_test.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/color_management/native_color_management.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/color_management/ocio_color_management.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/compositing/compositing.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/conditional/conditional_if_float.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/conditional/conditional_if_int.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/conditional/conditional_logic.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/convolution/blur.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/convolution/heighttonormal.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/defaultgeomprop/defaultgeomprop.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/definition/definition_from_nodegraph.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/definition/definition_reduced_interface.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/definition/definition_using_definitions.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/definition/definition_with_enum_interface.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/definition/surfacematerial_definition.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/geometric/geompropvalue.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/geometric/look_assignment_order.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/geometric/streams.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/materials/material_node_discovery.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/math/math.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/math/math_operators.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/math/matrix.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/math/transform.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/math/trig.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/math/vector_math.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/nodegraphs/cascade_nodegraphs.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/nodegraphs/nodegraph_multioutput.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/nodegraphs/nodegraph_nodegraph.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/nodegraphs/surfacematerial_nodegraph_to_surfaceshader.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/nodegraphs/top_level_input.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/noise/noise.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/noise/procedural.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/noise/shared_function.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/organization/organization.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/procedural/linepattern.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/procedural/tiledshape.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/shader/surface.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/structs/struct_texcoord.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/structs/struct_texcoordGroup.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/hextiled.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/image.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/image_addressing.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/image_codecs.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/image_default.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/image_transform.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/ramp.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/split.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/tiledimage.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/token_graph.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/token_graph_material.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/triplanarprojection.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/texture/udim.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/units/constant_unit.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/units/distance_units.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/units/image_unit.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/units/standard_surface_unit.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/units/texture_units.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/units/tiledimage_unit.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/upgrade/syntax_1_22.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/upgrade/syntax_1_25.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/upgrade/syntax_1_36.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/upgrade/syntax_1_37.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/upgrade/syntax_1_38.mtlx
+%%DATADIR%%/materialx/Materials/TestSuite/stdlib/version/multiple_version_test.mtlx
+%%DATADIR%%/materialx/README.md
diff --git a/graphics/matplotlib-cpp/Makefile b/graphics/matplotlib-cpp/Makefile
index 7e2e2f301e07..85ef8a8c81f8 100644
--- a/graphics/matplotlib-cpp/Makefile
+++ b/graphics/matplotlib-cpp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= matplotlib-cpp
PORTVERSION= g20210422
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics devel
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/matplotplusplus/Makefile b/graphics/matplotplusplus/Makefile
index dabc4371caa3..fd99d1e3a841 100644
--- a/graphics/matplotplusplus/Makefile
+++ b/graphics/matplotplusplus/Makefile
@@ -1,12 +1,12 @@
PORTNAME= matplotplusplus
DISTVERSIONPREFIX= v
-DISTVERSION= 1.2.1
-PORTREVISION= 5
+DISTVERSION= 1.2.2
CATEGORIES= graphics devel
MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ graphics library for data visualization
-WWW= https://alandefreitas.github.io/matplotplusplus/
+WWW= https://alandefreitas.github.io/matplotplusplus/ \
+ https://github.com/alandefreitas/matplotplusplus
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -18,13 +18,16 @@ LIB_DEPENDS= libfftw3.so:math/fftw3 \
libtiff.so:graphics/tiff
RUN_DEPENDS= gnuplot:math/gnuplot
-USES= cmake compiler:c++17-lang jpeg
+USES= cmake:testing compiler:c++17-lang jpeg
USE_WX= 3.2+
USE_GITHUB= yes
GH_ACCOUNT= alandefreitas
CMAKE_ON= BUILD_SHARED_LIBS
-CMAKE_OFF= BUILD_TESTING BUILD_EXAMPLES
+CMAKE_OFF= BUILD_TESTING MATPLOTPP_BUILD_EXAMPLES
+CMAKE_TESTING_ON= BUILD_TESTING MATPLOTPP_BUILD_TESTS MATPLOTPP_BUILD_EXAMPLES
+
+# tests as of 1.2.2: 100% tests passed, 0 tests failed out of 545 (tests need ENTER to be pressed for them to proceed, see https://github.com/alandefreitas/matplotplusplus/issues/478)
.include <bsd.port.mk>
diff --git a/graphics/matplotplusplus/distinfo b/graphics/matplotplusplus/distinfo
index 2501a45af2bb..5fa97e4af366 100644
--- a/graphics/matplotplusplus/distinfo
+++ b/graphics/matplotplusplus/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1714116673
-SHA256 (alandefreitas-matplotplusplus-v1.2.1_GH0.tar.gz) = 9dd7cc92b2425148f50329f5a3bf95f9774ac807657838972d35334b5ff7cb87
-SIZE (alandefreitas-matplotplusplus-v1.2.1_GH0.tar.gz) = 38999774
+TIMESTAMP = 1764082873
+SHA256 (alandefreitas-matplotplusplus-v1.2.2_GH0.tar.gz) = c7434b4fea0d0cc3508fd7104fafbb2fa7c824b1d2ccc51c52eaee26fc55a9a0
+SIZE (alandefreitas-matplotplusplus-v1.2.2_GH0.tar.gz) = 39002649
diff --git a/graphics/matplotplusplus/files/patch-source_matplot_util_popen.cpp b/graphics/matplotplusplus/files/patch-source_matplot_util_popen.cpp
new file mode 100644
index 000000000000..b5377630c1e6
--- /dev/null
+++ b/graphics/matplotplusplus/files/patch-source_matplot_util_popen.cpp
@@ -0,0 +1,11 @@
+--- source/matplot/util/popen.cpp.orig 2025-11-25 15:11:25 UTC
++++ source/matplot/util/popen.cpp
+@@ -121,7 +121,7 @@ int common_pipe::close(int *exit_code)
+ }
+ #endif // _WIN32 implementtion
+
+-#if defined(__linux) || defined(__APPLE__)
++#if defined(__linux) || defined(__APPLE__) || defined(__FreeBSD__)
+
+ #include <cerrno>
+ #include <sys/wait.h> // waitpid
diff --git a/graphics/matplotplusplus/files/patch-source_matplot_util_popen.h b/graphics/matplotplusplus/files/patch-source_matplot_util_popen.h
new file mode 100644
index 000000000000..64cc9233d281
--- /dev/null
+++ b/graphics/matplotplusplus/files/patch-source_matplot_util_popen.h
@@ -0,0 +1,11 @@
+--- source/matplot/util/popen.h.orig 2025-11-25 15:02:56 UTC
++++ source/matplot/util/popen.h
+@@ -23,7 +23,7 @@ class proc_pipe (protected)
+ FILE *file_ = nullptr; ///< C file handle for I/O (not both)
+ };
+
+-#elif defined(__linux) || defined(__APPLE__)
++#elif defined(__linux) || defined(__APPLE__) || defined(__FreeBSD__)
+
+ #include <unistd.h> // pid_t
+
diff --git a/graphics/matplotplusplus/pkg-plist b/graphics/matplotplusplus/pkg-plist
index df66f3ce6a0b..488818087c76 100644
--- a/graphics/matplotplusplus/pkg-plist
+++ b/graphics/matplotplusplus/pkg-plist
@@ -49,4 +49,5 @@ lib/cmake/Matplot++/Matplot++ConfigVersion.cmake
lib/cmake/Matplot++/Matplot++Targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Matplot++/Matplot++Targets.cmake
lib/libmatplot.so
+lib/libmatplot.so.1
lib/libmatplot.so.1.2.0
diff --git a/graphics/menyoki/Makefile b/graphics/menyoki/Makefile
index f4fbd570362b..34a46a2152d0 100644
--- a/graphics/menyoki/Makefile
+++ b/graphics/menyoki/Makefile
@@ -1,7 +1,7 @@
PORTNAME= menyoki
DISTVERSIONPREFIX= v
DISTVERSION= 1.7.0
-PORTREVISION= 13
+PORTREVISION= 16
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/mesa-devel/Makefile b/graphics/mesa-devel/Makefile
index 0324cbd7b567..807f69644ce8 100644
--- a/graphics/mesa-devel/Makefile
+++ b/graphics/mesa-devel/Makefile
@@ -1,13 +1,13 @@
PORTNAME= mesa
-DISTVERSION= 25.1-branchpoint-4146
-DISTVERSIONSUFFIX= -ga3a53b7cee4
+DISTVERSION= 25.3-branchpoint-2458
+DISTVERSIONSUFFIX= -gca96f8517cc
CATEGORIES= graphics
PKGNAMESUFFIX= -devel
PATCH_SITES= https://github.com/mesa3d/${GL_PROJECT}/commit/:github
PATCHFILES+= 700efacda59c.patch:-p1:github
PATCH_SITES+= ${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/
-PATCHFILES+= 2930dcbb3329.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22246
+PATCHFILES+= de5cf0a44b50.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22246
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Bleeding edge Mesa drivers (OpenCL, OpenGL, Vulkan)
@@ -33,24 +33,19 @@ USE_LDCONFIG= yes
GL_SITE= https://gitlab.freedesktop.org
BINARY_ALIAS= python=${PYTHON_CMD}
SHEBANG_FILES= src/vulkan/*/*control.py
-MESON_ARGS= -Dgallium-mediafoundation=disabled \
- -Dandroid-libbacktrace=disabled \
- -Dlibunwind=disabled \
- -Dlmsensors=disabled \
- -Dmicrosoft-clc=disabled \
- -Dvalgrind=disabled \
- -Dplatforms=${PLATFORMS:O:[-1..1]:ts,} \
- -Dvideo-codecs=all \
- -Dunversion-libgallium=true \
- ${NULL}
+MESON_DISABLED= android-libbacktrace gallium-mediafoundation \
+ libunwind lmsensors microsoft-clc valgrind
+MESON_TRUE= unversion-libgallium
+MESON_ARGS= -Dplatforms=${PLATFORMS:O:[-1..1]:ts,} -Dvideo-codecs=all
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 VKLAYERS WAYLAND X11 ZSTD
+OPTIONS_DEFAULT= DRM LLVM LTO OPENCL VAAPI VKLAYERS WAYLAND X11 ZSTD
OPTIONS_GROUP= GALLIUM VULKAN
OPTIONS_GROUP_GALLIUM= crocus iris panfrost r600 radeonsi
OPTIONS_GROUP_VULKAN= anv hasvk radv
+OPTIONS_EXCLUDE_aarch64=LTO # OPENCL fails to build
OPTIONS_EXCLUDE_i386= LTO # anv: vkcube fails on vkCreateSwapchainKHR
OPTIONS_EXCLUDE+= ${ARCH:Naarch64:C/.+/panfrost/}
OPTIONS_EXCLUDE+= ${ARCH:Namd64:Ni386:Nx86_64:C/.+/crocus hasvk/}
@@ -81,7 +76,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 +90,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}
@@ -120,15 +120,10 @@ VAAPI_DESC= Hardware encoding/decoding (only r600, radeonsi)
VAAPI_BUILD_DEPENDS= libva>0:multimedia/libva
VAAPI_MESON_ENABLED= gallium-va
-VDPAU_DESC= Hardware decoding (only r600, radeonsi) (implies X11)
-VDPAU_BUILD_DEPENDS= libvdpau>0:multimedia/libvdpau
-VDPAU_MESON_ENABLED= gallium-vdpau
-VDPAU_IMPLIES= X11
-
VKLAYERS_DESC= Vulkan layers: ${VKLAYERS_MESON_ON:C/.*=//} (implies ${VKLAYERS_IMPLIES})
VKLAYERS_BUILD_DEPENDS= glslangValidator:graphics/glslang
VKLAYERS_LIB_DEPENDS= libpng.so:graphics/png
-VKLAYERS_MESON_ON= -Dvulkan-layers=device-select,overlay,screenshot,vram-report-limit
+VKLAYERS_MESON_ON= -Dvulkan-layers=anti-lag,device-select,overlay,screenshot,vram-report-limit
VKLAYERS_IMPLIES= ${"${PORT_OPTIONS:Manv}":?anv:radv} # any from OPTIONS_GROUP_VULKAN
WAYLAND_BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols
diff --git a/graphics/mesa-devel/distinfo b/graphics/mesa-devel/distinfo
index 29370da9910e..e377e6eec132 100644
--- a/graphics/mesa-devel/distinfo
+++ b/graphics/mesa-devel/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1752271520
-SHA256 (mesa-25.1-branchpoint-4146-ga3a53b7cee4.tar.bz2) = 3f198c05a6f7578d74419138723d7f07434ad041ffeee431a5006580e344bed3
-SIZE (mesa-25.1-branchpoint-4146-ga3a53b7cee4.tar.bz2) = 58297488
+TIMESTAMP = 1765838320
+SHA256 (mesa-25.3-branchpoint-2458-gca96f8517cc.tar.bz2) = 5505062fec4d7c6e0739760d1be78add9ba628cf9c081302b8425dcfbf417e3a
+SIZE (mesa-25.3-branchpoint-2458-gca96f8517cc.tar.bz2) = 55775816
SHA256 (700efacda59c.patch) = 0d567fe737ad1404e1f12d7cd018826d9095c23835f1ed5aaa1c81cb58d3d008
SIZE (700efacda59c.patch) = 983
-SHA256 (2930dcbb3329.patch) = f90ab77950ba1a56d165f0bc8a3cbd9c5f624bb5c67d1c7f337316027e8295e8
-SIZE (2930dcbb3329.patch) = 1638
+SHA256 (de5cf0a44b50.patch) = c9e02e5eb1fb4e3aa2bc7a7e0a70f28f3ee609835ff0b59e827893a821983851
+SIZE (de5cf0a44b50.patch) = 1108
diff --git a/graphics/mesa-devel/files/libmap.conf.in b/graphics/mesa-devel/files/libmap.conf.in
index 319d4562dc1a..ff4183bda0ad 100644
--- a/graphics/mesa-devel/files/libmap.conf.in
+++ b/graphics/mesa-devel/files/libmap.conf.in
@@ -15,5 +15,3 @@ libgbm.so.1 libgbm%%SUFFIX%%.so.1
%%VAAPI%%%%r600%%%%PREFIX%%/lib/dri/r600_drv_video.so %%PREFIX%%/lib/dri%%SUFFIX%%/r600_drv_video.so
%%VAAPI%%%%radeonsi%%%%PREFIX%%/lib/dri/radeonsi_drv_video.so %%PREFIX%%/lib/dri%%SUFFIX%%/radeonsi_drv_video.so
-%%VDPAU%%%%r600%%%%PREFIX%%/lib/vdpau/libvdpau_r600.so.1 %%PREFIX%%/lib/vdpau%%SUFFIX%%/libvdpau_r600.so.1
-%%VDPAU%%%%radeonsi%%%%PREFIX%%/lib/vdpau/libvdpau_radeonsi.so.1 %%PREFIX%%/lib/vdpau%%SUFFIX%%/libvdpau_radeonsi.so.1
diff --git a/graphics/mesa-devel/files/patch-suffix b/graphics/mesa-devel/files/patch-suffix
index eacfcc31f2fc..040b62dc5a09 100644
--- a/graphics/mesa-devel/files/patch-suffix
+++ b/graphics/mesa-devel/files/patch-suffix
@@ -22,15 +22,6 @@ Library selection is handled by libglvnd and/or libmap.conf.
dep_glvnd = dependency('libglvnd', version : '>= 1.3.2', required : _glvnd)
with_glvnd = dep_glvnd.found()
if with_glvnd
-@@ -622,7 +621,7 @@ if vdpau_drivers_path == ''
-
- vdpau_drivers_path = get_option('vdpau-libs-path')
- if vdpau_drivers_path == ''
-- vdpau_drivers_path = join_paths(get_option('libdir'), 'vdpau')
-+ vdpau_drivers_path = join_paths(get_option('libdir'), 'vdpau' + get_option('egl-lib-suffix'))
- endif
-
- prog_glslang = find_program('glslangValidator', native : true, required : with_vulkan_overlay_layer or with_aco_tests or with_amd_vk or with_intel_vk)
@@ -739,7 +738,7 @@ if va_drivers_path == ''
va_drivers_path = get_option('va-libs-path')
@@ -132,8 +123,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 +134,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 +145,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..673ba22aef62 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
@@ -37,14 +38,6 @@ lib/libgbm%%SUFFIX%%.so.1.0.0
%%anv%%lib/libvulkan_intel%%SUFFIX%%.so
%%hasvk%%lib/libvulkan_intel_hasvk%%SUFFIX%%.so
%%radv%%lib/libvulkan_radeon%%SUFFIX%%.so
-%%VDPAU%%%%r600%%lib/vdpau%%SUFFIX%%/libvdpau_r600.so
-%%VDPAU%%%%r600%%lib/vdpau%%SUFFIX%%/libvdpau_r600.so.1
-%%VDPAU%%%%r600%%lib/vdpau%%SUFFIX%%/libvdpau_r600.so.1.0
-%%VDPAU%%%%r600%%lib/vdpau%%SUFFIX%%/libvdpau_r600.so.1.0.0
-%%VDPAU%%%%radeonsi%%lib/vdpau%%SUFFIX%%/libvdpau_radeonsi.so
-%%VDPAU%%%%radeonsi%%lib/vdpau%%SUFFIX%%/libvdpau_radeonsi.so.1
-%%VDPAU%%%%radeonsi%%lib/vdpau%%SUFFIX%%/libvdpau_radeonsi.so.1.0
-%%VDPAU%%%%radeonsi%%lib/vdpau%%SUFFIX%%/libvdpau_radeonsi.so.1.0.0
%%NO_COINST%%libdata/pkgconfig/dri.pc
%%NO_COINST%%libdata/pkgconfig/gbm.pc
share/drirc.d/00-mesa%%SUFFIX%%-defaults.conf
@@ -56,4 +49,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 8f19ef46964e..b262c644028a 100644
--- a/graphics/mesa-dri/Makefile
+++ b/graphics/mesa-dri/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mesa-dri
PORTVERSION= ${MESAVERSION}
-PORTREVISION= 8
+PORTREVISION= 9
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/milton/Makefile b/graphics/milton/Makefile
index 69ea12d94dde..b7046ea73029 100644
--- a/graphics/milton/Makefile
+++ b/graphics/milton/Makefile
@@ -1,7 +1,7 @@
PORTNAME= milton
PORTVERSION= 1.9.1
DISTVERSIONPREFIX= v
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= danfe@FreeBSD.org
diff --git a/graphics/minder/Makefile b/graphics/minder/Makefile
index aaa5242e945c..d24ba7662def 100644
--- a/graphics/minder/Makefile
+++ b/graphics/minder/Makefile
@@ -1,6 +1,6 @@
PORTNAME= minder
PORTVERSION= 1.17.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
# avoid PKGBASE collision with net-p2p/minder
PKGNAMESUFFIX= -app
diff --git a/graphics/movit/Makefile b/graphics/movit/Makefile
index 7862bd5441cb..e5b1c654b347 100644
--- a/graphics/movit/Makefile
+++ b/graphics/movit/Makefile
@@ -1,5 +1,5 @@
PORTNAME= movit
-PORTVERSION= 1.7.1
+PORTVERSION= 1.7.2
CATEGORIES= graphics
MASTER_SITES= http://${PORTNAME}.sesse.net/
diff --git a/graphics/movit/distinfo b/graphics/movit/distinfo
index 414e26d6ec14..eb32c8137467 100644
--- a/graphics/movit/distinfo
+++ b/graphics/movit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1730350248
-SHA256 (movit-1.7.1.tar.gz) = b33073b705f0ccb6ac4942cf51151515407b40bb4e9a2dd0228c1c2cb1fbc11a
-SIZE (movit-1.7.1.tar.gz) = 606885
+TIMESTAMP = 1757652481
+SHA256 (movit-1.7.2.tar.gz) = 00ac1f8e46c2d3e38c75cbb7a1af0a615751c158c611cb70053094b65ecfe8d5
+SIZE (movit-1.7.2.tar.gz) = 618458
diff --git a/graphics/movit/pkg-plist b/graphics/movit/pkg-plist
index 86027ed75d5e..c31cd53b304e 100644
--- a/graphics/movit/pkg-plist
+++ b/graphics/movit/pkg-plist
@@ -47,5 +47,5 @@ include/movit/ycbcr_input.h
lib/libmovit.a
lib/libmovit.so
lib/libmovit.so.8
-lib/libmovit.so.8.0.5
+lib/libmovit.so.8.0.6
libdata/pkgconfig/movit.pc
diff --git a/graphics/msl/Makefile b/graphics/msl/Makefile
index c7544a015dc0..378057b1689d 100644
--- a/graphics/msl/Makefile
+++ b/graphics/msl/Makefile
@@ -1,7 +1,7 @@
PORTNAME= msl
DISTVERSIONPREFIX= v
DISTVERSION= 1.8.1
-PORTREVISION= 1
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -12,7 +12,7 @@ LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= flatc:devel/flatbuffers
-LIB_DEPENDS= libboost_system.so:devel/boost-libs
+LIB_DEPENDS= libboost_thread.so:devel/boost-libs
USES= cmake:testing compiler:c++14-lang python:build
diff --git a/graphics/mupdf/Makefile b/graphics/mupdf/Makefile
index e1be24f4825c..f73f83672fdd 100644
--- a/graphics/mupdf/Makefile
+++ b/graphics/mupdf/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mupdf
-DISTVERSION= 1.26.3
+DISTVERSION= 1.27.0
DISTVERSIONSUFFIX= -source
PORTEPOCH= 1
CATEGORIES= graphics
diff --git a/graphics/mupdf/distinfo b/graphics/mupdf/distinfo
index afd38195b1a6..bcf7131fc91a 100644
--- a/graphics/mupdf/distinfo
+++ b/graphics/mupdf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752431401
-SHA256 (mupdf-1.26.3-source.tar.gz) = ab467fc2d888cd8424cdce4bc6dd7ec61f34820582ddf3769a336e6909d9a48e
-SIZE (mupdf-1.26.3-source.tar.gz) = 64525703
+TIMESTAMP = 1765608390
+SHA256 (mupdf-1.27.0-source.tar.gz) = ae2442416de499182d37a526c6fa2bacc7a3bed5a888d113ca04844484dfe7c6
+SIZE (mupdf-1.27.0-source.tar.gz) = 66955970
diff --git a/graphics/mupdf/pkg-plist b/graphics/mupdf/pkg-plist
index 5418efd0aad6..26234fb1d2ca 100644
--- a/graphics/mupdf/pkg-plist
+++ b/graphics/mupdf/pkg-plist
@@ -30,6 +30,7 @@ include/mupdf/fitz/glyph.h
include/mupdf/fitz/hash.h
include/mupdf/fitz/heap-imp.h
include/mupdf/fitz/heap.h
+include/mupdf/fitz/hyphen.h
include/mupdf/fitz/image.h
include/mupdf/fitz/json.h
include/mupdf/fitz/link.h
@@ -111,6 +112,7 @@ share/man/man1/mutool.1.gz
%%PORTDOCS%%%%DOCSDIR%%/examples/pdf-portfolio.js
%%PORTDOCS%%%%DOCSDIR%%/examples/pdf-trace.js
%%PORTDOCS%%%%DOCSDIR%%/examples/reconvert-cmyk.js
+%%PORTDOCS%%%%DOCSDIR%%/examples/searchtest.c
%%PORTDOCS%%%%DOCSDIR%%/examples/storytest.c
%%PORTDOCS%%%%DOCSDIR%%/examples/storytest.js
%%PORTDOCS%%%%DOCSDIR%%/examples/trace-device.js
diff --git a/graphics/natron/Makefile b/graphics/natron/Makefile
index 4e98300b1461..85c672741602 100644
--- a/graphics/natron/Makefile
+++ b/graphics/natron/Makefile
@@ -1,7 +1,7 @@
PORTNAME= natron
DISTVERSIONPREFIX= v
DISTVERSION= 2.5.1-pre2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -15,7 +15,7 @@ BUILD_DEPENDS= bash:shells/bash \
gsed:textproc/gsed
LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \
- libboost_system.so:devel/boost-libs \
+ libboost_thread.so:devel/boost-libs \
libcairo.so:graphics/cairo \
libexpat.so:textproc/expat2 \
libfontconfig.so:x11-fonts/fontconfig \
diff --git a/graphics/nip2/Makefile b/graphics/nip2/Makefile
index 05cc0ee67ddf..0b4f571c9032 100644
--- a/graphics/nip2/Makefile
+++ b/graphics/nip2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= nip2
PORTVERSION= 8.7.1
-PORTREVISION= 15
+PORTREVISION= 16
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 c688f52664cd..81bac434cf8b 100644
--- a/graphics/noaa-apt/Makefile
+++ b/graphics/noaa-apt/Makefile
@@ -1,7 +1,7 @@
PORTNAME= noaa-apt
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.1
-PORTREVISION= 13
+PORTREVISION= 16
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/nsxiv/Makefile b/graphics/nsxiv/Makefile
index 2b0b16703795..974b40d8407c 100644
--- a/graphics/nsxiv/Makefile
+++ b/graphics/nsxiv/Makefile
@@ -1,7 +1,6 @@
PORTNAME= nsxiv
DISTVERSIONPREFIX= v
-DISTVERSION= 28
-PORTREVISION= 3
+DISTVERSION= 33
CATEGORIES= graphics
MAINTAINER= 0mp@FreeBSD.org
@@ -33,4 +32,8 @@ OPTIONS_DEFINE= EXAMPLES
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+post-install-EXAMPLES-on:
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${WRKSRC}/etc/examples/* ${STAGEDIR}${EXAMPLESDIR}
+
.include <bsd.port.mk>
diff --git a/graphics/nsxiv/distinfo b/graphics/nsxiv/distinfo
index 19ebcbbd3b64..25e54b6df3be 100644
--- a/graphics/nsxiv/distinfo
+++ b/graphics/nsxiv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1642675907
-SHA256 (nsxiv-nsxiv-v28_GH0.tar.gz) = 38047f60e51854363dd98fb7b3bc9f1cfa9b7d6f9e8788508b6f1e317328dd75
-SIZE (nsxiv-nsxiv-v28_GH0.tar.gz) = 60699
+TIMESTAMP = 1761462796
+SHA256 (nsxiv-nsxiv-v33_GH0.tar.gz) = 961af5d43cb6abf8e76230100fe63d75b834b1fa8dcf6534780661e4be68b41a
+SIZE (nsxiv-nsxiv-v33_GH0.tar.gz) = 77639
diff --git a/graphics/nsxiv/pkg-plist b/graphics/nsxiv/pkg-plist
index bfef92dbaf3b..c9959879df75 100644
--- a/graphics/nsxiv/pkg-plist
+++ b/graphics/nsxiv/pkg-plist
@@ -2,6 +2,8 @@ bin/nsxiv
share/applications/nsxiv.desktop
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/image-info
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/key-handler
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/thumb-info
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/win-title
share/icons/hicolor/128x128/apps/nsxiv.png
share/icons/hicolor/16x16/apps/nsxiv.png
share/icons/hicolor/32x32/apps/nsxiv.png
diff --git a/graphics/nvidia-drm-510-kmod-devel/Makefile b/graphics/nvidia-drm-510-kmod-devel/Makefile
index d4ce531391ae..7d399780f388 100644
--- a/graphics/nvidia-drm-510-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-510-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64.03
+NVIDIA_DISTVERSION?= 580.105.08
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-510-kmod
diff --git a/graphics/nvidia-drm-510-kmod-devel/distinfo b/graphics/nvidia-drm-510-kmod-devel/distinfo
index 9e09837b4dca..7af463938bce 100644
--- a/graphics/nvidia-drm-510-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-510-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1751449876
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
-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
+TIMESTAMP = 1762277559
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v5.10.163_9_GH0.tar.gz) = e4e77f5907418bd5e4be12c26d77fd176f51b82fe8a074b1237cde58be5ce385
+SIZE (freebsd-drm-kmod-drm_v5.10.163_9_GH0.tar.gz) = 20095205
diff --git a/graphics/nvidia-drm-510-kmod/Makefile b/graphics/nvidia-drm-510-kmod/Makefile
index 8ac628c6b799..b3d8e76df8e6 100644
--- a/graphics/nvidia-drm-510-kmod/Makefile
+++ b/graphics/nvidia-drm-510-kmod/Makefile
@@ -1,8 +1,7 @@
PORTNAME= nvidia-drm-510-kmod
-PORTREVISION= 1
+PORTREVISION= 0
CATEGORIES= graphics
-BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-510-kmod
RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-510-kmod
CONFLICTS_INSTALL= nvidia-drm-515-kmod* nvidia-drm-61-kmod* nvidia-drm-66-kmod*
diff --git a/graphics/nvidia-drm-510-kmod/distinfo b/graphics/nvidia-drm-510-kmod/distinfo
index 5a0a0be07601..b3b573404da3 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
-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
+TIMESTAMP = 1762277397
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v5.10.163_9_GH0.tar.gz) = e4e77f5907418bd5e4be12c26d77fd176f51b82fe8a074b1237cde58be5ce385
+SIZE (freebsd-drm-kmod-drm_v5.10.163_9_GH0.tar.gz) = 20095205
diff --git a/graphics/nvidia-drm-515-kmod-devel/Makefile b/graphics/nvidia-drm-515-kmod-devel/Makefile
index a7b333ad8441..ec1287efa018 100644
--- a/graphics/nvidia-drm-515-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-515-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64.03
+NVIDIA_DISTVERSION?= 580.105.08
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-515-kmod
diff --git a/graphics/nvidia-drm-515-kmod-devel/distinfo b/graphics/nvidia-drm-515-kmod-devel/distinfo
index 3f48f97f6c2f..06e72fcbdca2 100644
--- a/graphics/nvidia-drm-515-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-515-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1751449949
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
-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
+TIMESTAMP = 1762277582
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v5.15.160_6_GH0.tar.gz) = e21962b06c5c4740a165fbb36a1c15107a4c6ccba50ca08df4fb1c9368645ce6
+SIZE (freebsd-drm-kmod-drm_v5.15.160_6_GH0.tar.gz) = 26099109
diff --git a/graphics/nvidia-drm-515-kmod/Makefile b/graphics/nvidia-drm-515-kmod/Makefile
index 2c0ad686c426..e46a67e19e53 100644
--- a/graphics/nvidia-drm-515-kmod/Makefile
+++ b/graphics/nvidia-drm-515-kmod/Makefile
@@ -1,8 +1,7 @@
PORTNAME= nvidia-drm-515-kmod
-PORTREVISION= 3
+PORTREVISION= 0
CATEGORIES= graphics
-BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-515-kmod
RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-515-kmod
CONFLICTS_INSTALL= nvidia-drm-510-kmod* nvidia-drm-61-kmod* nvidia-drm-66-kmod*
diff --git a/graphics/nvidia-drm-515-kmod/distinfo b/graphics/nvidia-drm-515-kmod/distinfo
index 502c10c13483..45278c0209df 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
-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
+TIMESTAMP = 1762277463
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v5.15.160_6_GH0.tar.gz) = e21962b06c5c4740a165fbb36a1c15107a4c6ccba50ca08df4fb1c9368645ce6
+SIZE (freebsd-drm-kmod-drm_v5.15.160_6_GH0.tar.gz) = 26099109
diff --git a/graphics/nvidia-drm-61-kmod-devel/Makefile b/graphics/nvidia-drm-61-kmod-devel/Makefile
index c36ca3f0be6e..854f1085f97c 100644
--- a/graphics/nvidia-drm-61-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-61-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64.03
+NVIDIA_DISTVERSION?= 580.105.08
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-61-kmod
diff --git a/graphics/nvidia-drm-61-kmod-devel/distinfo b/graphics/nvidia-drm-61-kmod-devel/distinfo
index 03da35fa84ce..37cb2837ee50 100644
--- a/graphics/nvidia-drm-61-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-61-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1751450006
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
-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
+TIMESTAMP = 1765611030
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v6.1.128_7_GH0.tar.gz) = d4eb440e982ceef08888dafa1aeb2bd046b3b53026ee526eb7d8f7f52bc988f1
+SIZE (freebsd-drm-kmod-drm_v6.1.128_7_GH0.tar.gz) = 37104632
diff --git a/graphics/nvidia-drm-61-kmod/Makefile b/graphics/nvidia-drm-61-kmod/Makefile
index 789793c223e7..1ba633128152 100644
--- a/graphics/nvidia-drm-61-kmod/Makefile
+++ b/graphics/nvidia-drm-61-kmod/Makefile
@@ -1,8 +1,7 @@
PORTNAME= nvidia-drm-61-kmod
-PORTREVISION= 2
+PORTREVISION= 1
CATEGORIES= graphics
-BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-61-kmod
RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-61-kmod
CONFLICTS_INSTALL= nvidia-drm-510-kmod* nvidia-drm-515-kmod* nvidia-drm-66-kmod*
diff --git a/graphics/nvidia-drm-61-kmod/distinfo b/graphics/nvidia-drm-61-kmod/distinfo
index d16f4303ff76..103dac7f254f 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
-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
+TIMESTAMP = 1765462736
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v6.1.128_7_GH0.tar.gz) = d4eb440e982ceef08888dafa1aeb2bd046b3b53026ee526eb7d8f7f52bc988f1
+SIZE (freebsd-drm-kmod-drm_v6.1.128_7_GH0.tar.gz) = 37104632
diff --git a/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 b/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01
new file mode 100644
index 000000000000..c703950a0c88
--- /dev/null
+++ b/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01
@@ -0,0 +1,47 @@
+--- nvidia-drm-freebsd-lkpi.c.orig 2025-08-27 17:59:14 UTC
++++ nvidia-drm-freebsd-lkpi.c
+@@ -104,6 +104,35 @@ lkpinew_pci_dev(device_t dev)
+ * FreeBSD linuxkpi based loading support code.
+ *************************************************************************/
+
++static int
++dummy_nv_pci_probe(struct pci_dev *pci_dev __unused,
++ const struct pci_device_id *id_table __unused)
++{
++ return (0);
++}
++
++static void
++dummy_nv_pci_remove(struct pci_dev *pci_dev __unused)
++{
++}
++
++static void
++dummy_nv_pci_shutdown(struct pci_dev *pci_dev __unused)
++{
++}
++
++struct pci_driver nv_pci_driver = {
++ .name = "drmn",
++ .id_table = nv_pci_table,
++ .probe = dummy_nv_pci_probe,
++ .remove = dummy_nv_pci_remove,
++ .shutdown = dummy_nv_pci_shutdown,
++#if defined(__FreeBSD__)
++ /* FreeBSD internal/specifc. */
++ .isdrm = true,
++#endif
++};
++
+ static struct pci_dev *nv_lkpi_pci_devs[NV_MAX_DEVICES];
+
+ int nv_drm_probe_devices(void)
+@@ -153,7 +182,7 @@ int nv_drm_probe_devices(void)
+ return -ENOMEM;
+ }
+
+- if (linux_pci_attach_device(sc->dev, NULL, NULL, pdev)) {
++ if (linux_pci_attach_device(sc->dev, &nv_pci_driver, NULL, pdev)) {
+ NV_DRM_LOG_ERR("Failed to attach linuxkpi PCI device");
+ free(pdev, M_DEVBUF);
+ return -ENOMEM;
diff --git a/graphics/nvidia-drm-66-kmod-devel/Makefile b/graphics/nvidia-drm-66-kmod-devel/Makefile
index b7153ab3390f..fa372adeeb83 100644
--- a/graphics/nvidia-drm-66-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-66-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64.03
+NVIDIA_DISTVERSION?= 580.105.08
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-66-kmod
diff --git a/graphics/nvidia-drm-66-kmod-devel/distinfo b/graphics/nvidia-drm-66-kmod-devel/distinfo
index a419269fc0d5..3c39f96b23dd 100644
--- a/graphics/nvidia-drm-66-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-66-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1751450069
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
-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
+TIMESTAMP = 1765611050
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v6.6.25_9_GH0.tar.gz) = 14e90e4cc9ed5e72f6036f01987a20e2918026502d3116e97ffa4156514a13bb
+SIZE (freebsd-drm-kmod-drm_v6.6.25_9_GH0.tar.gz) = 38488554
diff --git a/graphics/nvidia-drm-66-kmod/Makefile b/graphics/nvidia-drm-66-kmod/Makefile
index 4a9c868cb21f..033ba19d274f 100644
--- a/graphics/nvidia-drm-66-kmod/Makefile
+++ b/graphics/nvidia-drm-66-kmod/Makefile
@@ -2,7 +2,6 @@ PORTNAME= nvidia-drm-66-kmod
PORTREVISION= 2
CATEGORIES= graphics
-BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-66-kmod
RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-66-kmod
CONFLICTS_INSTALL= nvidia-drm-510-kmod* nvidia-drm-515-kmod* nvidia-drm-61-kmod*
diff --git a/graphics/nvidia-drm-66-kmod/distinfo b/graphics/nvidia-drm-66-kmod/distinfo
index a232ff36b2cf..abde46e03363 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
-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
+TIMESTAMP = 1765465189
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v6.6.25_9_GH0.tar.gz) = 14e90e4cc9ed5e72f6036f01987a20e2918026502d3116e97ffa4156514a13bb
+SIZE (freebsd-drm-kmod-drm_v6.6.25_9_GH0.tar.gz) = 38488554
diff --git a/graphics/nvidia-drm-66-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 b/graphics/nvidia-drm-66-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01
new file mode 100644
index 000000000000..c703950a0c88
--- /dev/null
+++ b/graphics/nvidia-drm-66-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01
@@ -0,0 +1,47 @@
+--- nvidia-drm-freebsd-lkpi.c.orig 2025-08-27 17:59:14 UTC
++++ nvidia-drm-freebsd-lkpi.c
+@@ -104,6 +104,35 @@ lkpinew_pci_dev(device_t dev)
+ * FreeBSD linuxkpi based loading support code.
+ *************************************************************************/
+
++static int
++dummy_nv_pci_probe(struct pci_dev *pci_dev __unused,
++ const struct pci_device_id *id_table __unused)
++{
++ return (0);
++}
++
++static void
++dummy_nv_pci_remove(struct pci_dev *pci_dev __unused)
++{
++}
++
++static void
++dummy_nv_pci_shutdown(struct pci_dev *pci_dev __unused)
++{
++}
++
++struct pci_driver nv_pci_driver = {
++ .name = "drmn",
++ .id_table = nv_pci_table,
++ .probe = dummy_nv_pci_probe,
++ .remove = dummy_nv_pci_remove,
++ .shutdown = dummy_nv_pci_shutdown,
++#if defined(__FreeBSD__)
++ /* FreeBSD internal/specifc. */
++ .isdrm = true,
++#endif
++};
++
+ static struct pci_dev *nv_lkpi_pci_devs[NV_MAX_DEVICES];
+
+ int nv_drm_probe_devices(void)
+@@ -153,7 +182,7 @@ int nv_drm_probe_devices(void)
+ return -ENOMEM;
+ }
+
+- if (linux_pci_attach_device(sc->dev, NULL, NULL, pdev)) {
++ if (linux_pci_attach_device(sc->dev, &nv_pci_driver, NULL, pdev)) {
+ NV_DRM_LOG_ERR("Failed to attach linuxkpi PCI device");
+ free(pdev, M_DEVBUF);
+ return -ENOMEM;
diff --git a/graphics/nvidia-drm-kmod-devel/Makefile b/graphics/nvidia-drm-kmod-devel/Makefile
index 25785ec2b87e..908df68fc854 100644
--- a/graphics/nvidia-drm-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-DISTVERSION= 575.64.03
+DISTVERSION?= 580.105.08
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
diff --git a/graphics/nvidia-drm-kmod/Makefile b/graphics/nvidia-drm-kmod/Makefile
index 128dad89c6be..5c4fd91d0950 100644
--- a/graphics/nvidia-drm-kmod/Makefile
+++ b/graphics/nvidia-drm-kmod/Makefile
@@ -1,5 +1,6 @@
PORTNAME= nvidia-drm-kmod
DISTVERSION?= ${NVIDIA_DISTVERSION}
+PORTREVISION?= 0
CATEGORIES= graphics kld
MAINTAINER= x11@FreeBSD.org
@@ -18,11 +19,15 @@ IGNORE= not supported on anything but FreeBSD (missing linuxkpi function
RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod${PKGNAMESUFFIX}
. elif ${OSVERSION} >= 1400097 && (${ARCH} == i386 || ${ARCH} == aarch64)
RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod${PKGNAMESUFFIX}
+. elif ${OSVERSION} >= 1500031 && ${ARCH} == amd64
+RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-66-kmod${PKGNAMESUFFIX}
. elif ${OSVERSION} >= 1400508
RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-61-kmod${PKGNAMESUFFIX}
. endif
.endif
+RUN_DEPENDS+= nvidia-driver${PKGNAMESUFFIX}>0:x11/nvidia-driver${PKGNAMESUFFIX}
+
CONFLICTS_INSTALL= nvidia-drm-kmod*
.include <bsd.port.post.mk>
diff --git a/graphics/nvidia-drm-kmod/Makefile.common b/graphics/nvidia-drm-kmod/Makefile.common
index 9ef819ba40da..016558cb30ac 100644
--- a/graphics/nvidia-drm-kmod/Makefile.common
+++ b/graphics/nvidia-drm-kmod/Makefile.common
@@ -20,7 +20,7 @@ USES= kmod uidfix tar:xz
SUB_FILES= 20-nvidia-drm-outputclass.conf
-RUN_DEPENDS+= ${KMODDIR}/nvidia.ko:x11/nvidia-driver${PKGNAMESUFFIX}
+RUN_DEPENDS+= ${KMODDIR}/nvidia.ko:x11/nvidia-kmod${PKGNAMESUFFIX}
.include "${.CURDIR}/../../x11/nvidia-driver/Makefile.version"
.include "${.CURDIR}/../../x11/nvidia-driver/Makefile.common"
diff --git a/graphics/nvidia-drm-latest-kmod-devel/Makefile b/graphics/nvidia-drm-latest-kmod-devel/Makefile
new file mode 100644
index 000000000000..3e0f2cf67de4
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod-devel/Makefile
@@ -0,0 +1,7 @@
+NVIDIA_DISTVERSION?= 580.105.08
+# Explicitly set PORTREVISION as it can be overridden by the master port
+PORTREVISION= 0
+MASTERDIR= ${.CURDIR}/../nvidia-drm-latest-kmod
+PKGNAMESUFFIX= -devel
+
+.include "${MASTERDIR}/Makefile"
diff --git a/graphics/nvidia-drm-latest-kmod-devel/distinfo b/graphics/nvidia-drm-latest-kmod-devel/distinfo
new file mode 100644
index 000000000000..c96aee107a92
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod-devel/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1762277665
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v6.9_GH0.tar.gz) = a7599c2124e1fb65a270d5195d8592b0f69d0702a23938b73d097c079501129e
+SIZE (freebsd-drm-kmod-drm_v6.9_GH0.tar.gz) = 41511351
diff --git a/graphics/nvidia-drm-latest-kmod/Makefile b/graphics/nvidia-drm-latest-kmod/Makefile
new file mode 100644
index 000000000000..c1ea7c1c73a5
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod/Makefile
@@ -0,0 +1,11 @@
+PORTNAME= nvidia-drm-latest-kmod
+PORTREVISION= 1
+CATEGORIES= graphics
+
+RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-latest-kmod
+CONFLICTS_INSTALL= nvidia-drm-510-kmod* nvidia-drm-515-kmod* nvidia-drm-61-kmod* nvidia-drm-66-kmod*
+
+.include "${.CURDIR}/../drm-latest-kmod/Makefile.version"
+.include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common"
+
+.include <bsd.port.mk>
diff --git a/graphics/nvidia-drm-latest-kmod/distinfo b/graphics/nvidia-drm-latest-kmod/distinfo
new file mode 100644
index 000000000000..83790507dbf8
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1765781877
+SHA256 (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 6375fe2b164d5f833bebbfac22b493d901abaa6be2aacb65844777e601fb86a6
+SIZE (NVIDIA-FreeBSD-x86_64-580.105.08.tar.xz) = 288738840
+SHA256 (freebsd-drm-kmod-drm_v6.9_1_GH0.tar.gz) = df7933202e61ebf8c9decb6835e4908817923fe4e76213e532873b0b611e8c63
+SIZE (freebsd-drm-kmod-drm_v6.9_1_GH0.tar.gz) = 41512758
diff --git a/graphics/nvidia-drm-latest-kmod/files/20-nvidia-drm-outputclass.conf.in b/graphics/nvidia-drm-latest-kmod/files/20-nvidia-drm-outputclass.conf.in
new file mode 100644
index 000000000000..15496138f63a
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod/files/20-nvidia-drm-outputclass.conf.in
@@ -0,0 +1,8 @@
+Section "OutputClass"
+ Identifier "nvidia"
+ MatchDriver "nvidia-drm"
+ Driver "nvidia"
+ Option "PrimaryGPU" "yes"
+ ModulePath "%%LOCALBASE%%/lib/nvidia/xorg"
+ ModulePath "%%LOCALBASE%%/lib/xorg/modules"
+EndSection
diff --git a/graphics/nvidia-drm-latest-kmod/files/extra-patch-nvidia-drm-conftest.h b/graphics/nvidia-drm-latest-kmod/files/extra-patch-nvidia-drm-conftest.h
new file mode 100644
index 000000000000..2c0524341c4d
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod/files/extra-patch-nvidia-drm-conftest.h
@@ -0,0 +1,14 @@
+--- nvidia-drm-conftest.h.orig 2024-02-22 01:03:15 UTC
++++ nvidia-drm-conftest.h
+@@ -85,7 +85,11 @@
+
+ /* For nv_drm_gem_prime_force_fence_signal */
+ #ifndef spin_is_locked
++#if ((__FreeBSD_version >= 1500000) && (__FreeBSD_version < 1500018)) || (__FreeBSD_version < 1401501)
+ #define spin_is_locked(lock) mtx_owned(lock.m)
++#else
++#define spin_is_locked(lock) mtx_owned(lock)
++#endif
+ #endif
+
+ #ifndef rwsem_is_locked
diff --git a/graphics/nvidia-drm-latest-kmod/files/extra-patch-nvidia-drm-freebsd-lkpi.c b/graphics/nvidia-drm-latest-kmod/files/extra-patch-nvidia-drm-freebsd-lkpi.c
new file mode 100644
index 000000000000..807e95effe74
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod/files/extra-patch-nvidia-drm-freebsd-lkpi.c
@@ -0,0 +1,54 @@
+--- nvidia-drm-freebsd-lkpi.c.orig 2024-02-22 01:03:15 UTC
++++ nvidia-drm-freebsd-lkpi.c
+@@ -115,6 +115,7 @@ int nv_drm_probe_devices(void)
+ * by the native nvidia.ko by using our devclass.
+ */
+ for (int i = 0; i < NV_MAX_DEVICES; i++) {
++ struct pci_dev *pdev;
+ nv_gpu_info_t gpu_info;
+ struct nvidia_softc *sc = devclass_get_softc(nvidia_devclass, i);
+ if (!sc) {
+@@ -124,11 +125,33 @@ int nv_drm_probe_devices(void)
+ nv_state_t *nv = sc->nv_state;
+
+ /*
++ * Set the ivars for this device if they are not already populated. This
++ * is the bus specific data, and linuxkpi will try to use it.
++ */
++ if (!device_get_ivars(sc->dev)) {
++ device_t parent = device_get_parent(sc->dev);
++ struct pci_devinfo *dinfo = device_get_ivars(parent);
++ device_set_ivars(sc->dev, dinfo);
++ }
++
++ /*
+ * Now we have the state (which gives us the device_t), but what nvidia-drm
+ * wants is a pci_dev suitable for use with linuxkpi code. We can use
+- * lkpinew_pci_dev to fill in a pci_dev struct,
++ * lkpinew_pci_dev to fill in a pci_dev struct, or linux_pci_attach on more
++ * recent kernels (introduced by 253dbe7487705).
+ */
+- struct pci_dev *pdev = lkpinew_pci_dev(sc->dev);
++#if __FreeBSD_version < 1300093
++ pdev = lkpinew_pci_dev(sc->dev);
++#else
++ pdev = malloc(sizeof(*pdev), M_DEVBUF, M_WAITOK|M_ZERO);
++ if (!pdev) {
++ return -ENOMEM;
++ }
++
++ if (linux_pci_attach_device(sc->dev, NULL, NULL, pdev)) {
++ return -ENOMEM;
++ }
++#endif
+ nv_lkpi_pci_devs[i] = pdev;
+
+ gpu_info.gpu_id = nv->gpu_id;
+@@ -148,7 +171,6 @@ MODULE_DEPEND(nvidia_drm, linuxkpi, 1, 1, 1);
+ LKPI_DRIVER_MODULE(nvidia_drm, nv_drm_init, nv_drm_exit);
+ LKPI_PNP_INFO(pci, nvidia_drm, nv_module_device_table);
+ MODULE_DEPEND(nvidia_drm, linuxkpi, 1, 1, 1);
+-MODULE_DEPEND(nvidia_drm, linuxkpi_gplv2, 1, 1, 1);
+ MODULE_DEPEND(nvidia_drm, drmn, 2, 2, 2);
+ MODULE_DEPEND(nvidia_drm, dmabuf, 1, 1, 1);
+ MODULE_DEPEND(nvidia_drm, nvidia, 1, 1, 1);
diff --git a/graphics/nvidia-drm-latest-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 b/graphics/nvidia-drm-latest-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01
new file mode 100644
index 000000000000..c703950a0c88
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01
@@ -0,0 +1,47 @@
+--- nvidia-drm-freebsd-lkpi.c.orig 2025-08-27 17:59:14 UTC
++++ nvidia-drm-freebsd-lkpi.c
+@@ -104,6 +104,35 @@ lkpinew_pci_dev(device_t dev)
+ * FreeBSD linuxkpi based loading support code.
+ *************************************************************************/
+
++static int
++dummy_nv_pci_probe(struct pci_dev *pci_dev __unused,
++ const struct pci_device_id *id_table __unused)
++{
++ return (0);
++}
++
++static void
++dummy_nv_pci_remove(struct pci_dev *pci_dev __unused)
++{
++}
++
++static void
++dummy_nv_pci_shutdown(struct pci_dev *pci_dev __unused)
++{
++}
++
++struct pci_driver nv_pci_driver = {
++ .name = "drmn",
++ .id_table = nv_pci_table,
++ .probe = dummy_nv_pci_probe,
++ .remove = dummy_nv_pci_remove,
++ .shutdown = dummy_nv_pci_shutdown,
++#if defined(__FreeBSD__)
++ /* FreeBSD internal/specifc. */
++ .isdrm = true,
++#endif
++};
++
+ static struct pci_dev *nv_lkpi_pci_devs[NV_MAX_DEVICES];
+
+ int nv_drm_probe_devices(void)
+@@ -153,7 +182,7 @@ int nv_drm_probe_devices(void)
+ return -ENOMEM;
+ }
+
+- if (linux_pci_attach_device(sc->dev, NULL, NULL, pdev)) {
++ if (linux_pci_attach_device(sc->dev, &nv_pci_driver, NULL, pdev)) {
+ NV_DRM_LOG_ERR("Failed to attach linuxkpi PCI device");
+ free(pdev, M_DEVBUF);
+ return -ENOMEM;
diff --git a/graphics/nvidia-drm-latest-kmod/pkg-descr b/graphics/nvidia-drm-latest-kmod/pkg-descr
new file mode 100644
index 000000000000..7a6433279b02
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod/pkg-descr
@@ -0,0 +1,3 @@
+FreeBSD port of Linux's nvidia-drm.ko Kernel module.
+
+This version is compatible with drm.ko 6.9.
diff --git a/graphics/nvidia-drm-latest-kmod/pkg-message b/graphics/nvidia-drm-latest-kmod/pkg-message
new file mode 100644
index 000000000000..c2440d5580aa
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod/pkg-message
@@ -0,0 +1,8 @@
+Modesetting must be enabled to use nvidia-drm.ko for graphics. This can be done
+by setting the modeset sysctl, the equivalent of the modeset kernel parameter
+on Linux.
+
+hw.nvidiadrm.modeset=1
+
+This must be set before loading nvidia-drm.ko, most easily done by placing the
+above in /boot/loader.conf.
diff --git a/graphics/ocrs/Makefile b/graphics/ocrs/Makefile
index ed7cbd319a70..16084517b935 100644
--- a/graphics/ocrs/Makefile
+++ b/graphics/ocrs/Makefile
@@ -1,7 +1,7 @@
PORTNAME= ocrs
DISTVERSIONPREFIX= ocrs-cli-v
-DISTVERSION= 0.10.3
-PORTREVISION= 2
+DISTVERSION= 0.10.4
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -50,7 +50,7 @@ CARGO_CRATES= adler2-2.0.0 \
image-0.25.5 \
image-webp-0.2.0 \
itoa-1.0.10 \
- lexopt-0.3.0 \
+ lexopt-0.3.1 \
libc-0.2.151 \
log-0.4.25 \
memchr-2.7.4 \
@@ -66,11 +66,13 @@ CARGO_CRATES= adler2-2.0.0 \
rayon-1.10.0 \
rayon-core-1.12.1 \
ring-0.17.7 \
- rten-0.18.0 \
- rten-imageproc-0.18.0 \
- rten-simd-0.18.0 \
- rten-tensor-0.18.0 \
- rten-vecmath-0.18.0 \
+ rten-0.21.0 \
+ rten-base-0.21.0 \
+ rten-gemm-0.21.0 \
+ rten-imageproc-0.21.0 \
+ rten-simd-0.21.0 \
+ rten-tensor-0.21.0 \
+ rten-vecmath-0.21.0 \
rustc-hash-2.0.0 \
rustc_version-0.4.0 \
rustls-0.23.22 \
@@ -90,6 +92,7 @@ CARGO_CRATES= adler2-2.0.0 \
syn-2.0.87 \
thiserror-2.0.12 \
thiserror-impl-2.0.12 \
+ typeid-1.0.3 \
unicode-ident-1.0.12 \
untrusted-0.9.0 \
ureq-3.0.5 \
diff --git a/graphics/ocrs/distinfo b/graphics/ocrs/distinfo
index 5595491639f3..d2f6bbf6832b 100644
--- a/graphics/ocrs/distinfo
+++ b/graphics/ocrs/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1746805158
+TIMESTAMP = 1754470303
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
SIZE (rust/crates/adler2-2.0.0.crate) = 13529
SHA256 (rust/crates/anyhow-1.0.98.crate) = e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487
@@ -63,8 +63,8 @@ SHA256 (rust/crates/image-webp-0.2.0.crate) = e031e8e3d94711a9ccb5d6ea357439ef3d
SIZE (rust/crates/image-webp-0.2.0.crate) = 52958
SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
SIZE (rust/crates/itoa-1.0.10.crate) = 10534
-SHA256 (rust/crates/lexopt-0.3.0.crate) = baff4b617f7df3d896f97fe922b64817f6cd9a756bb81d40f8883f2f66dcb401
-SIZE (rust/crates/lexopt-0.3.0.crate) = 24767
+SHA256 (rust/crates/lexopt-0.3.1.crate) = 9fa0e2a1fcbe2f6be6c42e342259976206b383122fc152e872795338b5a3f3a7
+SIZE (rust/crates/lexopt-0.3.1.crate) = 26158
SHA256 (rust/crates/libc-0.2.151.crate) = 302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4
SIZE (rust/crates/libc-0.2.151.crate) = 736640
SHA256 (rust/crates/log-0.4.25.crate) = 04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f
@@ -95,16 +95,20 @@ SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caa
SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
SHA256 (rust/crates/ring-0.17.7.crate) = 688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74
SIZE (rust/crates/ring-0.17.7.crate) = 4146482
-SHA256 (rust/crates/rten-0.18.0.crate) = f6c402363efacb25de9132576ab35515c814a0aa35eb5887ce2ae0e8fc39e3c6
-SIZE (rust/crates/rten-0.18.0.crate) = 332956
-SHA256 (rust/crates/rten-imageproc-0.18.0.crate) = 2a6e50914c0817f8250aa74496dda1d1b63c2c32f61ef8ad9493501d8f361f55
-SIZE (rust/crates/rten-imageproc-0.18.0.crate) = 29170
-SHA256 (rust/crates/rten-simd-0.18.0.crate) = 54435da0587bd026f1440f219c27688a5902aa9024a42d5a0857505038c85704
-SIZE (rust/crates/rten-simd-0.18.0.crate) = 37150
-SHA256 (rust/crates/rten-tensor-0.18.0.crate) = 8be4ee5d8e63ebb8db62e09d34e3d51ac024abcbdaec872b9f7695d438a1fe28
-SIZE (rust/crates/rten-tensor-0.18.0.crate) = 72947
-SHA256 (rust/crates/rten-vecmath-0.18.0.crate) = 8fdde8bb76eb0d8f160a8491d55365140a9ffe3f90ae26e8f26409262c447fcd
-SIZE (rust/crates/rten-vecmath-0.18.0.crate) = 17933
+SHA256 (rust/crates/rten-0.21.0.crate) = 799b4e781c9fe47504154fcdcee3c5924544b3cc7821cb87506d95167d2b149d
+SIZE (rust/crates/rten-0.21.0.crate) = 305664
+SHA256 (rust/crates/rten-base-0.21.0.crate) = eccdf3e12af564c111bcf435a07d197ad42cb75315f96896b3b3d4572f099f22
+SIZE (rust/crates/rten-base-0.21.0.crate) = 8777
+SHA256 (rust/crates/rten-gemm-0.21.0.crate) = 99b07a25cfa3935b3d432fb26d15a1a80bbd5cb3e542d8427f8f2321e89b6aa6
+SIZE (rust/crates/rten-gemm-0.21.0.crate) = 60089
+SHA256 (rust/crates/rten-imageproc-0.21.0.crate) = 3f8e6427425d55b0b0dc2d30144bc09251ecfcbfd75542b9dae4f5ce5894a867
+SIZE (rust/crates/rten-imageproc-0.21.0.crate) = 29854
+SHA256 (rust/crates/rten-simd-0.21.0.crate) = 4c267d235b86221b41d14a02dc3b66434ed88690034906d7c78ac626a721b960
+SIZE (rust/crates/rten-simd-0.21.0.crate) = 38086
+SHA256 (rust/crates/rten-tensor-0.21.0.crate) = 949a2c0815334c6bc335ac3ed609dca4419f12bf058aa13e8c7cd2cbe2fa6e0a
+SIZE (rust/crates/rten-tensor-0.21.0.crate) = 80240
+SHA256 (rust/crates/rten-vecmath-0.21.0.crate) = 7ced1b25ab0ea935f24d6b8582324bfeadc403729badf3589cc59582a5a967a0
+SIZE (rust/crates/rten-vecmath-0.21.0.crate) = 18224
SHA256 (rust/crates/rustc-hash-2.0.0.crate) = 583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152
SIZE (rust/crates/rustc-hash-2.0.0.crate) = 12691
SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
@@ -143,6 +147,8 @@ SHA256 (rust/crates/thiserror-2.0.12.crate) = 567b8a2dae586314f7be2a752ec7474332
SIZE (rust/crates/thiserror-2.0.12.crate) = 28693
SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d
SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141
+SHA256 (rust/crates/typeid-1.0.3.crate) = bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c
+SIZE (rust/crates/typeid-1.0.3.crate) = 9006
SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
@@ -215,5 +221,5 @@ SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7
SIZE (rust/crates/zune-core-0.4.12.crate) = 17355
SHA256 (rust/crates/zune-jpeg-0.4.13.crate) = 16099418600b4d8f028622f73ff6e3deaabdff330fb9a2a131dea781ee8b0768
SIZE (rust/crates/zune-jpeg-0.4.13.crate) = 62999
-SHA256 (robertknight-ocrs-ocrs-cli-v0.10.3_GH0.tar.gz) = 0a7bb8f2c7bf5ec07e91566d779e841dae28705f29d7c007a20025d86b5df52d
-SIZE (robertknight-ocrs-ocrs-cli-v0.10.3_GH0.tar.gz) = 602967
+SHA256 (robertknight-ocrs-ocrs-cli-v0.10.4_GH0.tar.gz) = ae965f18a4fec1a65ef6f583e88670e7927d14a46b915dc7c95c4a38d24fb48a
+SIZE (robertknight-ocrs-ocrs-cli-v0.10.4_GH0.tar.gz) = 603220
diff --git a/graphics/oculante/Makefile b/graphics/oculante/Makefile
index bd4426eaf6bc..843015bb8d8f 100644
--- a/graphics/oculante/Makefile
+++ b/graphics/oculante/Makefile
@@ -1,6 +1,6 @@
PORTNAME= oculante
DISTVERSION= 0.9.2
-PORTREVISION= 5
+PORTREVISION= 8
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/ogre3d/Makefile b/graphics/ogre3d/Makefile
index 1a1b807c6a5e..1d982d363f2e 100644
--- a/graphics/ogre3d/Makefile
+++ b/graphics/ogre3d/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ogre3d
DISTVERSIONPREFIX= v
-DISTVERSION= 14.3.4
+DISTVERSION= 14.4.1
CATEGORIES= graphics devel
MAINTAINER= fluffy@FreeBSD.org
@@ -14,8 +14,6 @@ LIB_DEPENDS= libzzip.so:devel/zziplib \
libfreetype.so:print/freetype2
# libimgui.so:x11-toolkits/imgui
-CONFLICTS= ogre3d19
-
USES= cmake compiler:c++14-lang pkgconfig sdl xorg
USE_LDCONFIG= yes
USE_SDL= sdl2
@@ -25,6 +23,8 @@ USE_GITHUB= yes
GH_ACCOUNT= OGRECave
GH_PROJECT= ogre
+CONFLICTS= ogre3d19
+
PORTDOCS= *
CMAKE_ARGS+= OGRE_MEDIA_PATH="share/OGRE/Media"
@@ -65,19 +65,20 @@ PROFILE_CMAKE_BOOL= OGRE_PROFILING
CSHARP_DESC= Build Csharp bindings
CSHARP_CMAKE_BOOL= OGRE_BUILD_COMPONENT_CSHARP
CSHARP_BUILD_DEPENDS= swig:devel/swig
+CSHARP_USES= mono
JAVA_CMAKE_BOOL= OGRE_BUILD_COMPONENT_JAVA
JAVA_BUILD_DEPENDS= swig:devel/swig
JAVA_VARS= CMAKE_ARGS+=-DJAVA_HOME=${JAVA_HOME}
JAVA_USES= java
-JAVA_BROKEN= error: incompatible types: SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_t__iterator cannot be converted to Iterator
+JAVA_CATEGORIES= java
PYTHON_CMAKE_BOOL= OGRE_BUILD_COMPONENT_PYTHON
PYTHON_BUILD_DEPENDS= swig:devel/swig
PYTHON_USES= python
CXXFLAGS+= -DNDEBUG -I${LOCALBASE}/include -I${LOCALBASE}/include/Imath
-PLIST_SUB+= LIBVERSION=${PORTVERSION:R}
+PLIST_SUB+= LIBVERSION=${PORTVERSION:R} PORTVERSION=${PORTVERSION}
.include <bsd.port.options.mk>
diff --git a/graphics/ogre3d/distinfo b/graphics/ogre3d/distinfo
index bcf8fc423cc4..7a1d6f8b7ca0 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 = 1757413152
+SHA256 (OGRECave-ogre-v14.4.1_GH0.tar.gz) = 1c1d5d48b26acf8dd3f32fcb4cafd1216f9fe3a2ceec260ec086926651ad74de
+SIZE (OGRECave-ogre-v14.4.1_GH0.tar.gz) = 94149361
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..43c4cf81ae9b 100644
--- a/graphics/ogre3d/pkg-plist
+++ b/graphics/ogre3d/pkg-plist
@@ -582,9 +582,13 @@ lib/OGRE/cmake/OGREConfig.cmake
lib/OGRE/cmake/OGREConfigVersion.cmake
lib/OGRE/cmake/OgreTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/OGRE/cmake/OgreTargets.cmake
+%%JAVA%%lib/OGRE/libOgreJNI.so
+%%CSHARP%%lib/cli/ogre-sharp-%%PORTVERSION%%/Ogre.dll
+%%CSHARP%%lib/cli/ogre-sharp-%%PORTVERSION%%/libOgre.so
lib/libOgreBites.so
lib/libOgreBites.so.%%LIBVERSION%%
%%BULLET%%lib/libOgreBullet.so
+%%JAVA%%lib/libOgreJNI.so
lib/libOgreMain.so
lib/libOgreMain.so.%%LIBVERSION%%
lib/libOgreMeshLodGenerator.so
@@ -986,6 +990,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
@@ -1319,9 +1324,10 @@ share/OGRE-%%LIBVERSION%%/Media/thumbnails/thumb_water.png
share/OGRE-%%LIBVERSION%%/Media/volumeTerrain/triplanarReference.material
share/OGRE-%%LIBVERSION%%/Media/volumeTerrain/volumeTerrain.cfg
share/OGRE-%%LIBVERSION%%/Media/volumeTerrain/volumeTerrainBig.zip
-%%JAVA%%share/OGRE/java/Ogre-14.3.jar
-%%JAVA%%lib/OGRE/libOgreJNI.so
+%%JAVA%%share/OGRE/java/Ogre-%%PORTVERSION%%.jar
+%%JAVA%%%%JAVASHAREDIR%%/Ogre-%%PORTVERSION%%.jar
share/OGRE-%%LIBVERSION%%/plugins.cfg
share/OGRE-%%LIBVERSION%%/resources.cfg
share/OGRE-%%LIBVERSION%%/samples.cfg
%%JAVA%%@dir share/OGRE/java
+%%CSHARP%%@dir lib/cli
diff --git a/graphics/okular/Makefile b/graphics/okular/Makefile
index 776500c05729..a97d56014ff9 100644
--- a/graphics/okular/Makefile
+++ b/graphics/okular/Makefile
@@ -14,7 +14,7 @@ LIB_DEPENDS= libchm.so:misc/chmlib \
libdjvulibre.so:graphics/djvulibre \
libepub.so:textproc/ebook-tools \
libfreetype.so:print/freetype2 \
- libQMobipocket6.so:graphics/kdegraphics-mobipocket@qt6 \
+ libQMobipocket6.so:graphics/kdegraphics-mobipocket \
libpoppler.so:graphics/poppler \
libpoppler-qt6.so:graphics/poppler-qt6 \
libqca-qt6.so:devel/qca@qt6 \
diff --git a/graphics/okular/distinfo b/graphics/okular/distinfo
index 0d6feb22be2f..4ad83b69b911 100644
--- a/graphics/okular/distinfo
+++ b/graphics/okular/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381487
-SHA256 (KDE/release-service/25.04.3/okular-25.04.3.tar.xz) = d0b5bb0b0eeab46aa2367c8d81096185bd2261710701c84f1c6e2398e5058bfb
-SIZE (KDE/release-service/25.04.3/okular-25.04.3.tar.xz) = 8190916
+TIMESTAMP = 1765478599
+SHA256 (KDE/release-service/25.12.0/okular-25.12.0.tar.xz) = cf05a515bba78ee5e7fb5aa09e67ac42fe796f3f645a4353c6b6e555e61c8490
+SIZE (KDE/release-service/25.12.0/okular-25.12.0.tar.xz) = 8216056
diff --git a/graphics/okular/pkg-plist b/graphics/okular/pkg-plist
index 0bfd7a68a79e..5c6b3ccced37 100644
--- a/graphics/okular/pkg-plist
+++ b/graphics/okular/pkg-plist
@@ -34,8 +34,8 @@ lib/cmake/Okular6/Okular6ConfigVersion.cmake
lib/cmake/Okular6/Okular6Targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Okular6/Okular6Targets.cmake
lib/libOkular6Core.so
-lib/libOkular6Core.so.3
-lib/libOkular6Core.so.3.0.0
+lib/libOkular6Core.so.4
+lib/libOkular6Core.so.4.0.0
%%QT_PLUGINDIR%%/kf6/parts/okularpart.so
%%QT_PLUGINDIR%%/okular_generators/okularGenerator_comicbook.so
%%QT_PLUGINDIR%%/okular_generators/okularGenerator_djvu.so
diff --git a/graphics/opencolorio-tools/Makefile b/graphics/opencolorio-tools/Makefile
index f5c64be693dd..2bfd9bee31bf 100644
--- a/graphics/opencolorio-tools/Makefile
+++ b/graphics/opencolorio-tools/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 0
+PORTREVISION= 1
PKGNAMESUFFIX= -tools
COMMENT= Tools to work with OpenColorIO profiles
diff --git a/graphics/opencolorio/Makefile b/graphics/opencolorio/Makefile
index 360d88a89993..00d9085ae674 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?= 2
CATEGORIES= graphics multimedia
MAINTAINER?= FreeBSD@Shaneware.biz
diff --git a/graphics/opencv/Makefile b/graphics/opencv/Makefile
index 06523cbb8145..a8abb88748ea 100644
--- a/graphics/opencv/Makefile
+++ b/graphics/opencv/Makefile
@@ -1,8 +1,11 @@
PORTNAME= opencv
DISTVERSION= 4.11.0
-PORTREVISION= 2
+PORTREVISION= 4
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..30fb0e33e45e 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.4.4
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..65c4857d8fe6 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 = 1763594706
+SHA256 (openexr/openexr-3.4.4.tar.gz) = 91fc5670f13fe7d9d3b7ae0fe695e3cc813200839084eae6497459e7f650d876
+SIZE (openexr/openexr-3.4.4.tar.gz) = 25475873
SHA256 (openexr/TestImages/README.rst) = 3cbb0a9ab20868940de1b9bf582bdc5ff4244cc585c682d6e40b9befb8fd593c
SIZE (openexr/TestImages/README.rst) = 2588
SHA256 (openexr/TestImages/AllHalfValues.exr) = eede573a0b59b79f21de15ee9d3b7649d58d8f2a8e7787ea34f192db3b3c84a4
diff --git a/graphics/openexr-website-docs/files/patch-CMakeLists.txt b/graphics/openexr-website-docs/files/patch-CMakeLists.txt
index 5d3abd811f92..cd24cbc3f1c9 100644
--- a/graphics/openexr-website-docs/files/patch-CMakeLists.txt
+++ b/graphics/openexr-website-docs/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig 2024-09-26 23:34:32 UTC
+--- CMakeLists.txt.orig 2025-10-07 15:22:39 UTC
+++ CMakeLists.txt
-@@ -63,8 +63,6 @@ include(cmake/OpenEXRSetup.cmake)
+@@ -60,8 +60,6 @@ include(cmake/OpenEXRSetup.cmake)
include(cmake/LibraryDefine.cmake)
include(cmake/OpenEXRSetup.cmake)
@@ -9,7 +9,7 @@
# Hint: This can be set to enable custom find_package
# search paths, probably best to set it when configuring
-@@ -81,15 +79,6 @@ endif()
+@@ -78,15 +76,6 @@ endif()
enable_testing()
endif()
@@ -22,10 +22,10 @@
- add_subdirectory(src/bin)
-endif()
-
- # Tell CMake where to find the OpenEXRConfig.cmake file. Makes it possible to call
+ # Tell CMake where to find the OpenEXRConfig.cmake file. Makes it possible to call
# find_package(OpenEXR) in downstream projects
set(OpenEXR_DIR "${CMAKE_CURRENT_BINARY_DIR}/cmake" CACHE PATH "" FORCE)
-@@ -97,10 +86,6 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/cmake/OpenEXRT
+@@ -94,10 +83,6 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/cmake/OpenEXRT
# Can be empty since we already defined the targets in add_subdirectory
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/cmake/OpenEXRTargets.cmake" "# Dummy file")
@@ -36,7 +36,7 @@
# If you want to use ctest to configure, build and
# upload the results, cmake has builtin support for
# submitting to CDash, or any server who speaks the
-@@ -123,33 +108,10 @@ endif()
+@@ -120,33 +105,10 @@ endif()
#set(CTEST_DROP_SITE "open.cdash.org")
#set(CTEST_DROP_LOCATION "/submit.php?project=MyProject")
#set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/graphics/openexr/Makefile b/graphics/openexr/Makefile
index 40ce6dea9c33..4e023bd61ac0 100644
--- a/graphics/openexr/Makefile
+++ b/graphics/openexr/Makefile
@@ -1,5 +1,5 @@
PORTNAME?= openexr
-PORTVERSION?= 3.3.4 # ALSO update openexr-website-docs! -- verify sigstore: make makesum verify-sigstore
+PORTVERSION?= 3.4.4 # ALSO update openexr-website-docs! -- verify sigstore: make makesum verify-sigstore
PORTREVISION?= 0
CATEGORIES= graphics devel
.if !defined(MASTERDIR)
@@ -34,10 +34,15 @@ WWW= https://www.openexr.com/
LICENSE= BSD3CLAUSE
-BUILD_DEPENDS?= help2man:misc/help2man
+BUILD_DEPENDS?= help2man:misc/help2man \
+ openjph>=0.23.0:graphics/openjph
# exact libImath version required to avoid hard-to-debug issues
-LIB_DEPENDS?= libImath-3_1.so.29:math/Imath \
- libdeflate.so:archivers/libdeflate
+# 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 \
+ libopenjph.so:graphics/openjph
USES?= cmake:testing compiler:c++14-lang cpe pathfix pkgconfig
@@ -62,8 +67,8 @@ CPPFLAGS+= -I.
# must be linked with -l{thr|pthread} explicitly
LDFLAGS+= -lpthread
-_MAJORVER= 3_3
-_VER= 32
+_MAJORVER= 3_4
+_VER= 33
_REL= ${PORTVERSION}
PLIST_SUB+= MAJORVER=${_MAJORVER} \
VER=${_VER} \
diff --git a/graphics/openexr/distinfo b/graphics/openexr/distinfo
index 81cbff8e8eb3..20c5eb7a95d3 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 = 1763592744
+SHA256 (openexr/openexr-3.4.4.tar.gz) = 91fc5670f13fe7d9d3b7ae0fe695e3cc813200839084eae6497459e7f650d876
+SIZE (openexr/openexr-3.4.4.tar.gz) = 25475873
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/openexr/pkg-plist b/graphics/openexr/pkg-plist
index 9be0d7c7c3f9..384776b20ffd 100644
--- a/graphics/openexr/pkg-plist
+++ b/graphics/openexr/pkg-plist
@@ -34,6 +34,7 @@ include/OpenEXR/ImfAcesFile.h
include/OpenEXR/ImfArray.h
include/OpenEXR/ImfAttribute.h
include/OpenEXR/ImfBoxAttribute.h
+include/OpenEXR/ImfBytesAttribute.h
include/OpenEXR/ImfCRgbaFile.h
include/OpenEXR/ImfChannelList.h
include/OpenEXR/ImfChannelListAttribute.h
@@ -79,6 +80,7 @@ include/OpenEXR/ImfFramesPerSecond.h
include/OpenEXR/ImfGenericInputFile.h
include/OpenEXR/ImfGenericOutputFile.h
include/OpenEXR/ImfHeader.h
+include/OpenEXR/ImfHTCompressor.h
include/OpenEXR/ImfHuf.h
include/OpenEXR/ImfIDManifest.h
include/OpenEXR/ImfIDManifestAttribute.h
diff --git a/graphics/openfx-arena/Makefile b/graphics/openfx-arena/Makefile
index 71fa2eaf0a7b..8160daaf7a83 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= 21
+PORTREVISION= 22
CATEGORIES= graphics
MAINTAINER= olivier@FreeBSD.org
@@ -10,6 +10,8 @@ WWW= https://github.com/NatronGitHub/openfx-arena
LICENSE= GPLv2
+BROKEN= Fails to build, ld: error: unable to find library -l-lpthread
+
ONLY_FOR_ARCHS= amd64 powerpc64 powerpc64le
BUILD_DEPENDS= opencl>=0:devel/opencl
LIB_DEPENDS= libOpenColorIO.so:graphics/opencolorio \
diff --git a/graphics/openimageio/Makefile b/graphics/openimageio/Makefile
index 9a402f4840a0..48c89ea793ec 100644
--- a/graphics/openimageio/Makefile
+++ b/graphics/openimageio/Makefile
@@ -5,7 +5,7 @@ DISTVERSION= 2.5.13.1
# py-openimageio's PORTREVISION.
# Also, just to be on the safe side, when resetting,
# best keep PORTREVISION?= 0.
-PORTREVISION?= 9
+PORTREVISION?= 14
CATEGORIES?= graphics multimedia
MAINTAINER?= FreeBSD@Shaneware.biz
diff --git a/graphics/openjpeg/Makefile b/graphics/openjpeg/Makefile
index b474a6264c21..921f516560cb 100644
--- a/graphics/openjpeg/Makefile
+++ b/graphics/openjpeg/Makefile
@@ -1,8 +1,13 @@
PORTNAME= openjpeg
-PORTVERSION= 2.5.3
+PORTVERSION= 2.5.4
DISTVERSIONPREFIX= v
+PORTREVISION= 1
CATEGORIES= graphics
+PATCH_SITES= https://github.com/uclouvain/openjpeg/commit/
+PATCHFILES= 5e258319332800f7a9937dc0b8b16b19a07dea8f.patch:-p1 \
+ 7b508bb00f7fc5e7b61a6035fc4e2622d4ddff0d.patch:-p1
+
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Open-source JPEG 2000 codec
WWW= https://www.openjpeg.org/ \
diff --git a/graphics/openjpeg/distinfo b/graphics/openjpeg/distinfo
index 2e0b8de94a01..13d0e6069b2c 100644
--- a/graphics/openjpeg/distinfo
+++ b/graphics/openjpeg/distinfo
@@ -1,3 +1,7 @@
-TIMESTAMP = 1734888052
-SHA256 (uclouvain-openjpeg-v2.5.3_GH0.tar.gz) = 368fe0468228e767433c9ebdea82ad9d801a3ad1e4234421f352c8b06e7aa707
-SIZE (uclouvain-openjpeg-v2.5.3_GH0.tar.gz) = 2155188
+TIMESTAMP = 1765033052
+SHA256 (uclouvain-openjpeg-v2.5.4_GH0.tar.gz) = a695fbe19c0165f295a8531b1e4e855cd94d0875d2f88ec4b61080677e27188a
+SIZE (uclouvain-openjpeg-v2.5.4_GH0.tar.gz) = 2157028
+SHA256 (5e258319332800f7a9937dc0b8b16b19a07dea8f.patch) = ec1d01d2b4604e81f7e0bd5813855697fa382119d970aa801c983053f5d71698
+SIZE (5e258319332800f7a9937dc0b8b16b19a07dea8f.patch) = 1219
+SHA256 (7b508bb00f7fc5e7b61a6035fc4e2622d4ddff0d.patch) = 29a5d803bdb88bf4d89e1b75aaafd8b8b0d54eef9daf21a107cc4bc5fc4a958d
+SIZE (7b508bb00f7fc5e7b61a6035fc4e2622d4ddff0d.patch) = 746
diff --git a/graphics/openjph/Makefile b/graphics/openjph/Makefile
index 8686616ced70..8be7a1f99a00 100644
--- a/graphics/openjph/Makefile
+++ b/graphics/openjph/Makefile
@@ -1,5 +1,5 @@
PORTNAME= openjph
-PORTVERSION= 0.21.3
+PORTVERSION= 0.25.3
CATEGORIES= graphics
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/graphics/openjph/distinfo b/graphics/openjph/distinfo
index 7b98a113f2b4..5936e2913984 100644
--- a/graphics/openjph/distinfo
+++ b/graphics/openjph/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748831212
-SHA256 (aous72-OpenJPH-0.21.3_GH0.tar.gz) = 4dfa87ec8e28c8a30c038969cdd3084d2e8688b364efd83599c3fa90f29457e2
-SIZE (aous72-OpenJPH-0.21.3_GH0.tar.gz) = 474865
+TIMESTAMP = 1763853178
+SHA256 (aous72-OpenJPH-0.25.3_GH0.tar.gz) = 815b0d345daf3bbad72f3930d4f6c831643dcb2b734d8bb44d871d68db12f4d2
+SIZE (aous72-OpenJPH-0.25.3_GH0.tar.gz) = 477543
diff --git a/graphics/openjph/pkg-plist b/graphics/openjph/pkg-plist
index b76de10d93d2..50c6f476108d 100644
--- a/graphics/openjph/pkg-plist
+++ b/graphics/openjph/pkg-plist
@@ -16,6 +16,6 @@ lib/cmake/openjph/openjph-targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/openjph/openjph-targets.cmake
lib/libopenjph.so
lib/libopenjph.so.0
-lib/libopenjph.so.0.21
+lib/libopenjph.so.0.25
lib/libopenjph.so.%%PORTVERSION%%
libdata/pkgconfig/openjph.pc
diff --git a/graphics/openmvs/Makefile b/graphics/openmvs/Makefile
index 5781a95f66b8..a8a6d7f35ffa 100644
--- a/graphics/openmvs/Makefile
+++ b/graphics/openmvs/Makefile
@@ -1,7 +1,7 @@
PORTNAME= openmvs
DISTVERSIONPREFIX= v
-DISTVERSION= 2.2.0
-PORTREVISION= 8
+DISTVERSION= 2.3.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -11,13 +11,7 @@ WWW= https://github.com/cdcseacave/openMVS
LICENSE= AGPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BROKEN= compilation is broken because of the use of discontinued C++ features, see https://github.com/cdcseacave/openMVS/issues/1075
-BROKEN_aarch64= use of undeclared identifier '__builtin_ia32_emms' # https://github.com/cdcseacave/openMVS/issues/847
-
-BUILD_DEPENDS= cgal>0:math/cgal \
- ${LOCALBASE}/include/sys/sysinfo.h:devel/libsysinfo \
- vcglib>0:devel/vcglib
-LIB_DEPENDS= libboost_system.so:devel/boost-libs \
+LIB_DEPENDS= libboost_thread.so:devel/boost-libs \
libceres.so:math/ceres-solver \
libgflags.so:devel/gflags \
libglog.so:devel/glog \
@@ -25,9 +19,14 @@ LIB_DEPENDS= libboost_system.so:devel/boost-libs \
libmpfr.so:math/mpfr \
libopencv_core.so:graphics/opencv \
libpng16.so:graphics/png \
- libtiff.so:graphics/tiff
+ libtiff.so:graphics/tiff \
+ ${PY_BOOST} \
+ libpython${PYTHON_VER}${PYTHON_ABIVER}.so:lang/python${PYTHON_SUFFIX}
+BUILD_DEPENDS= cgal>0:math/cgal \
+ ${LOCALBASE}/include/sys/sysinfo.h:devel/libsysinfo \
+ vcglib>0:devel/vcglib
-USES= cmake:testing compiler:c++17-lang eigen:3 jpeg
+USES= cmake:testing compiler:c++14-lang eigen:3 jpeg python
USE_GITHUB= yes
GH_ACCOUNT= cdcseacave
diff --git a/graphics/openmvs/distinfo b/graphics/openmvs/distinfo
index e2dae598de94..3c81c967d383 100644
--- a/graphics/openmvs/distinfo
+++ b/graphics/openmvs/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1688531169
-SHA256 (cdcseacave-openMVS-v2.2.0_GH0.tar.gz) = 849e6b9d0ab187e0ecb71c55827080fe63e24af42274de6c35c0c9b922ac6323
-SIZE (cdcseacave-openMVS-v2.2.0_GH0.tar.gz) = 2162877
+TIMESTAMP = 1764968217
+SHA256 (cdcseacave-openMVS-v2.3.0_GH0.tar.gz) = ac7312fb71dbab18c5b2755ad9ac3caa40ec689f6f369c330ca73c87c1f34258
+SIZE (cdcseacave-openMVS-v2.3.0_GH0.tar.gz) = 2169982
diff --git a/graphics/openmvs/files/patch-build_Utils.cmake b/graphics/openmvs/files/patch-build_Utils.cmake
index 436115176d97..35547d765433 100644
--- a/graphics/openmvs/files/patch-build_Utils.cmake
+++ b/graphics/openmvs/files/patch-build_Utils.cmake
@@ -1,10 +1,18 @@
---- build/Utils.cmake.orig 2022-04-17 08:46:34 UTC
+--- build/Utils.cmake.orig 2024-05-27 00:00:00 UTC
+++ build/Utils.cmake
-@@ -433,6 +433,7 @@ macro(optimize_default_compiler_settings)
- endif()
+@@ -442,6 +442,7 @@
endif()
endif()
-+ set(CMAKE_CXX_STANDARD 14)
- if(CLANG AND (CMAKE_CXX_STANDARD EQUAL 11 OR CMAKE_CXX_STANDARD EQUAL 14 OR CMAKE_CXX_STANDARD EQUAL 17))
+ if(CLANG AND (CMAKE_CXX_STANDARD EQUAL 11 OR CMAKE_CXX_STANDARD EQUAL 14 OR CMAKE_CXX_STANDARD EQUAL 17 OR CMAKE_CXX_STANDARD EQUAL 20))
++ set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard" FORCE)
set(CMAKE_EXE_LINKER_FLAGS "-stdlib=libc++")
add_extra_compiler_option(-stdlib=libc++)
+ endif()
+@@ -497,6 +498,7 @@
+ add_extra_compiler_option(-Wno-int-in-bool-context)
+ add_extra_compiler_option(-Wno-deprecated-declarations)
+ endif()
++ add_extra_compiler_option(-Wno-missing-template-arg-list-after-template-kw)
+ add_extra_compiler_option(-fdiagnostics-show-option)
+ add_extra_compiler_option(-ftemplate-backtrace-limit=0)
+
diff --git a/graphics/openmvs/files/patch-libs_MVS_Mesh.cpp b/graphics/openmvs/files/patch-libs_MVS_Mesh.cpp
new file mode 100644
index 000000000000..fd6e20e61e5f
--- /dev/null
+++ b/graphics/openmvs/files/patch-libs_MVS_Mesh.cpp
@@ -0,0 +1,25 @@
+--- libs/MVS/Mesh.cpp.orig 2024-05-27 00:00:00 UTC
++++ libs/MVS/Mesh.cpp
+@@ -35,6 +35,22 @@
+ #include <boost/graph/adjacency_list.hpp>
+ #include <boost/graph/filtered_graph.hpp>
+ #include <boost/graph/connected_components.hpp>
++// Fix for vcglib compatibility with modern C++ standard library
++#include <algorithm>
++#include <random>
++namespace std {
++// Provide random_shuffle for C++14/17 when it's been removed
++template<class RandomIt, class RandomFunc>
++void random_shuffle(RandomIt first, RandomIt last, RandomFunc& r) {
++ std::shuffle(first, last, std::default_random_engine());
++}
++// Provide unary_function for vcglib
++template <typename ArgumentType, typename ResultType>
++struct unary_function {
++ typedef ArgumentType argument_type;
++ typedef ResultType result_type;
++};
++}
+ #ifdef _MSC_VER
+ #pragma warning(push)
+ #pragma warning(disable: 4244 4267 4305)
diff --git a/graphics/openmvs/pkg-plist b/graphics/openmvs/pkg-plist
index 4106ec6de447..373cc4ad6b88 100644
--- a/graphics/openmvs/pkg-plist
+++ b/graphics/openmvs/pkg-plist
@@ -101,6 +101,7 @@ lib/OpenMVS/libCommon.so
lib/OpenMVS/libIO.so
lib/OpenMVS/libMVS.so
lib/OpenMVS/libMath.so
+lib/pyOpenMVS.so
lib/cmake/OpenMVS/OpenMVSConfig.cmake
lib/cmake/OpenMVS/OpenMVSConfigVersion.cmake
lib/cmake/OpenMVS/OpenMVSTargets-%%CMAKE_BUILD_TYPE%%.cmake
diff --git a/graphics/openorienteering-mapper/Makefile b/graphics/openorienteering-mapper/Makefile
index 450798dc4cfb..bc7eaa5e8e84 100644
--- a/graphics/openorienteering-mapper/Makefile
+++ b/graphics/openorienteering-mapper/Makefile
@@ -1,7 +1,7 @@
PORTNAME= openorienteering-mapper
PORTVERSION= 0.9.5
DISTVERSIONPREFIX= v
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= graphics geography
MAINTAINER= sikmir@gmail.com
@@ -12,7 +12,8 @@ LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
PATCH_SITES= https://github.com/OpenOrienteering/mapper/commit/
-PATCHFILES= 69977dfd4cbb8608aafa8ca8b5388d4983f5430a.patch:-p1
+PATCHFILES= 69977dfd4cbb8608aafa8ca8b5388d4983f5430a.patch:-p1 \
+ a3cb8e4518f8d15a6938c9b1620c35703788c6ff.patch:-p1
LIB_DEPENDS= libpolyclipping.so:graphics/polyclipping \
libproj.so:graphics/proj
diff --git a/graphics/openorienteering-mapper/distinfo b/graphics/openorienteering-mapper/distinfo
index 7be43d23337f..1ac50522f52f 100644
--- a/graphics/openorienteering-mapper/distinfo
+++ b/graphics/openorienteering-mapper/distinfo
@@ -1,5 +1,7 @@
-TIMESTAMP = 1636910244
+TIMESTAMP = 1615438851
SHA256 (OpenOrienteering-mapper-v0.9.5_GH0.tar.gz) = 619152ca01a370875c15e1930918ce961284ccbf5d2371c147d50caf5e5c2f00
SIZE (OpenOrienteering-mapper-v0.9.5_GH0.tar.gz) = 11991430
SHA256 (69977dfd4cbb8608aafa8ca8b5388d4983f5430a.patch) = abc1315ef04364c2051d622163287a3a35b629136ca7ad8568ad630cb471571a
SIZE (69977dfd4cbb8608aafa8ca8b5388d4983f5430a.patch) = 1919
+SHA256 (a3cb8e4518f8d15a6938c9b1620c35703788c6ff.patch) = a36ef87799c64092c2f8e6ae65defcc147106b340b9dec9821adeb28c4ba680f
+SIZE (a3cb8e4518f8d15a6938c9b1620c35703788c6ff.patch) = 4657
diff --git a/graphics/openshadinglanguage/Makefile b/graphics/openshadinglanguage/Makefile
index fec180779148..a696b7a620fe 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?= 5
CATEGORIES?= graphics devel
MAINTAINER= FreeBSD@Shaneware.biz
diff --git a/graphics/openvkl/Makefile b/graphics/openvkl/Makefile
index 543f78e06b88..b7e7d775c5a5 100644
--- a/graphics/openvkl/Makefile
+++ b/graphics/openvkl/Makefile
@@ -1,7 +1,7 @@
PORTNAME= openvkl
DISTVERSIONPREFIX= v
-DISTVERSION= 1.3.0
-PORTREVISION= 18
+DISTVERSION= 2.0.1
+PORTREVISION= 2
CATEGORIES= graphics devel
MAINTAINER= yuri@FreeBSD.org
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BROKEN_i386= https://github.com/openvkl/openvkl/issues/14
BUILD_DEPENDS= ispc:devel/ispc
-LIB_DEPENDS= libembree3.so:graphics/embree3 \
+LIB_DEPENDS= libembree4.so:graphics/embree \
libglfw.so:graphics/glfw \
librkcommon.so:devel/rkcommon \
libtbbmalloc.so:devel/onetbb
@@ -32,7 +32,7 @@ OPTIONS_DEFAULT= VDB
VDB_DESC= Build with OpenVDB
VDB_CMAKE_ON= -DOpenVDB_ROOT=${LOCALBASE}
-VDB_LIB_DEPENDS= libboost_system.so:devel/boost-libs \
+VDB_LIB_DEPENDS= libboost_thread.so:devel/boost-libs \
libopenvdb.so:misc/openvdb
PORTDOCS= *
diff --git a/graphics/openvkl/distinfo b/graphics/openvkl/distinfo
index 0a61ac9c5992..f3c6ad7c5e7a 100644
--- a/graphics/openvkl/distinfo
+++ b/graphics/openvkl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652378300
-SHA256 (openvkl-openvkl-v1.3.0_GH0.tar.gz) = c6d4d40e6d232839c278b53dee1e7bd3bd239c3ccac33f49b465fc65a0692be9
-SIZE (openvkl-openvkl-v1.3.0_GH0.tar.gz) = 2948682
+TIMESTAMP = 1755978795
+SHA256 (openvkl-openvkl-v2.0.1_GH0.tar.gz) = 0c7faa9582a93e93767afdb15a6c9c9ba154af7ee83a6b553705797be5f8af62
+SIZE (openvkl-openvkl-v2.0.1_GH0.tar.gz) = 3078089
diff --git a/graphics/openvkl/pkg-plist b/graphics/openvkl/pkg-plist
index c92da23a8aa2..f66d69637477 100644
--- a/graphics/openvkl/pkg-plist
+++ b/graphics/openvkl/pkg-plist
@@ -9,12 +9,12 @@ include/openvkl/common.h
include/openvkl/common.isph
include/openvkl/data.h
include/openvkl/device.h
-include/openvkl/device.isph
+include/openvkl/devices/cpu/openvkl/device/max_iterator_size.h
+include/openvkl/devices/cpu/openvkl/device/openvkl.h
+include/openvkl/devices/cpu/openvkl/device/openvkl.isph
include/openvkl/ispc_cpp_interop.h
include/openvkl/iterator.h
include/openvkl/iterator.isph
-include/openvkl/max_iterator_size.h
-include/openvkl/module.h
include/openvkl/observer.h
include/openvkl/openvkl.h
include/openvkl/openvkl.isph
@@ -35,22 +35,22 @@ include/openvkl/vdb/topology_3.h
include/openvkl/version.h
include/openvkl/volume.h
include/openvkl/volume.isph
-lib/cmake/openvkl-1.3.0/openvklConfig.cmake
-lib/cmake/openvkl-1.3.0/openvklConfigVersion.cmake
-lib/cmake/openvkl-1.3.0/openvkl_Exports-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/openvkl-1.3.0/openvkl_Exports.cmake
+lib/cmake/openvkl-2.0.1/openvklConfig.cmake
+lib/cmake/openvkl-2.0.1/openvklConfigVersion.cmake
+lib/cmake/openvkl-2.0.1/openvkl_Exports-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/openvkl-2.0.1/openvkl_Exports.cmake
lib/libopenvkl.so
-lib/libopenvkl.so.1
-lib/libopenvkl.so.1.3.0
+lib/libopenvkl.so.2
+lib/libopenvkl.so.2.0.1
lib/libopenvkl_module_cpu_device.so
-lib/libopenvkl_module_cpu_device.so.1
-lib/libopenvkl_module_cpu_device.so.1.3.0
+lib/libopenvkl_module_cpu_device.so.2
+lib/libopenvkl_module_cpu_device.so.2.0.1
lib/libopenvkl_module_cpu_device_16.so
-lib/libopenvkl_module_cpu_device_16.so.1
-lib/libopenvkl_module_cpu_device_16.so.1.3.0
+lib/libopenvkl_module_cpu_device_16.so.2
+lib/libopenvkl_module_cpu_device_16.so.2.0.1
lib/libopenvkl_module_cpu_device_4.so
-lib/libopenvkl_module_cpu_device_4.so.1
-lib/libopenvkl_module_cpu_device_4.so.1.3.0
+lib/libopenvkl_module_cpu_device_4.so.2
+lib/libopenvkl_module_cpu_device_4.so.2.0.1
lib/libopenvkl_module_cpu_device_8.so
-lib/libopenvkl_module_cpu_device_8.so.1
-lib/libopenvkl_module_cpu_device_8.so.1.3.0
+lib/libopenvkl_module_cpu_device_8.so.2
+lib/libopenvkl_module_cpu_device_8.so.2.0.1
diff --git a/graphics/openxr/Makefile b/graphics/openxr/Makefile
index 4a608115d3af..3070dea7fdac 100644
--- a/graphics/openxr/Makefile
+++ b/graphics/openxr/Makefile
@@ -1,7 +1,6 @@
PORTNAME= openxr
DISTVERSIONPREFIX= release-
-DISTVERSION= 1.1.49
-PORTREVISION= 1
+DISTVERSION= 1.1.54
CATEGORIES= graphics
MAINTAINER= vvd@FreeBSD.org
diff --git a/graphics/openxr/distinfo b/graphics/openxr/distinfo
index 7ca8036e5fc5..f6ac2ea59a8b 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 = 1764848484
+SHA256 (KhronosGroup-OpenXR-SDK-release-1.1.54_GH0.tar.gz) = 2055688081066e37238be996534f349420ac52ed34f8514836704232121ee7f3
+SIZE (KhronosGroup-OpenXR-SDK-release-1.1.54_GH0.tar.gz) = 723031
diff --git a/graphics/osg/Makefile b/graphics/osg/Makefile
index 5698ef582276..b990d0106f6c 100644
--- a/graphics/osg/Makefile
+++ b/graphics/osg/Makefile
@@ -1,10 +1,10 @@
PORTNAME= osg
PORTVERSION= 3.6.5
DISTVERSIONPREFIX= OpenSceneGraph-
-PORTREVISION= 78
+PORTREVISION= 83
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
deleted file mode 100644
index b08265df70dd..000000000000
--- a/graphics/osg34/Makefile
+++ /dev/null
@@ -1,155 +0,0 @@
-PORTNAME= osg
-PORTVERSION= 3.4.1
-DISTVERSIONPREFIX= OpenSceneGraph-
-PORTREVISION= 64
-CATEGORIES= graphics
-PKGNAMESUFFIX= 34
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= C++ OpenGL scene graph library for real-time rendering
-WWW= https://www.openscenegraph.org/
-
-LICENSE= OSGPL
-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
-
-USES= alias cmake compiler:c++11-lang gl jpeg localbase pkgconfig xorg
-USE_CXXSTD= c++14
-USE_GITHUB= yes
-GH_ACCOUNT= openscenegraph
-GH_PROJECT= OpenSceneGraph
-USE_GL= gl glu
-USE_LDCONFIG= yes
-USE_XORG= x11
-
-# needed to ensure build on gcc-based archs; harmless otherwise
-CXXFLAGS+= -Wno-narrowing -I${LOCALBASE}/include/Imath -DInt64=uint64_t
-
-CONFLICTS_INSTALL=osg
-
-PORTSCOUT= limitw:1,even
-
-PLIST_SUB= OSG_VERSION=${PORTVERSION} \
- OSG_SHLIBVER=131 \
- OPENTHREADS_VERSION=3.3.0 \
- OPENTHREADS_SHLIBVER=20
-
-OPTIONS_DEFINE= CURL FFMPEG FREETYPE GDAL GIF GSTREAMER GTA \
- JASPER LIBLAS LUA NVTT OPENEXR PDF QT5 SDL \
- SVG VNC XINE XRANDR
-OPTIONS_DEFAULT=FFMPEG FREETYPE GIF XRANDR
-OPTIONS_SUB= yes
-
-GDAL_DESC= GDAL support
-GTA_DESC= GTA file format support
-LIBLAS_DESC= liblas support
-NVTT_DESC= Use NVidia texture tools
-SDL_DESC= Use SDL (joystick support in present3d)
-VNC_DESC= LibVNCServer 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_VARS= FORCE_REQUIRE+=FFmpeg
-FFMPEG_VARS_OFF= FORCE_IGNORE+=FFmpeg
-FREETYPE_LIB_DEPENDS= libfreetype.so:print/freetype2
-FREETYPE_VARS= FORCE_REQUIRE+=Freetype
-FREETYPE_VARS_OFF= FORCE_IGNORE+=Freetype
-GDAL_LIB_DEPENDS= libgdal.so:graphics/gdal
-GDAL_VARS= FORCE_REQUIRE+=GDAL
-GDAL_VARS_OFF= FORCE_IGNORE+=GDAL
-GIF_LIB_DEPENDS= libgif.so:graphics/giflib
-GIF_VARS= FORCE_REQUIRE+=GIFLIB
-GIF_VARS_OFF= FORCE_IGNORE+=GIFLIB
-GSTREAMER_USES= gstreamer
-GSTREAMER_USE= GNOME=glib20
-GSTREAMER_VARS= FORCE_REQUIRE+=GStreamer
-GSTREAMER_VARS_OFF= FORCE_IGNORE+=GStreamer
-GTA_LIB_DEPENDS= libgta.so:devel/libgta
-GTA_VARS= FORCE_REQUIRE+=GTA
-GTA_VARS_OFF= FORCE_IGNORE+=GTA
-JASPER_LIB_DEPENDS= libjasper.so:graphics/jasper
-JASPER_VARS= FORCE_REQUIRE+=Jasper
-JASPER_VARS_OFF= FORCE_IGNORE+=Jasper
-LIBLAS_LIB_DEPENDS= liblas.so:devel/liblas
-LIBLAS_VARS= FORCE_REQUIRE+=LIBLAS
-LIBLAS_VARS_OFF= FORCE_IGNORE+=LIBLAS
-LUA_USES= lua:52
-LUA_CMAKE_ON= -DOSG_USE_LOCAL_LUA_SOURCE:BOOL=OFF
-LUA_VARS= FORCE_IGNORE+=Lua51 FORCE_REQUIRE+=Lua52
-LUA_VARS_OFF= FORCE_IGNORE+="Lua51 Lua52"
-NVTT_LIB_DEPENDS= libnvtt.so:graphics/nvidia-texture-tools
-NVTT_VARS= FORCE_REQUIRE+=NVTT
-NVTT_VARS_OFF= FORCE_IGNORE+=NVTT
-OPENEXR_LIB_DEPENDS= libOpenEXR.so:graphics/openexr libImath.so:math/Imath
-OPENEXR_VARS= FORCE_REQUIRE+=OpenEXR
-OPENEXR_VARS_OFF= FORCE_IGNORE+=OpenEXR
-PDF_LIB_DEPENDS= libpoppler-glib.so:graphics/poppler-glib
-PDF_USE= gnome=cairo
-PDF_VARS= FORCE_REQUIRE+=Poppler-glib
-PDF_VARS_OFF= FORCE_IGNORE+=Poppler-glib
-QT5_USES= qt:5
-QT5_USE= qt=buildtools:build,core,gui,opengl,qmake:build,webkit,widgets
-QT5_CMAKE_ON= -DDESIRED_QT_VERSION=5
-QT5_VARS= FORCE_REQUIRE+="Qt5Widgets Qt5WebKitWidgets"
-QT5_VARS_OFF= FORCE_IGNORE+="Qt5Widgets Qt5WebKitWidgets"
-SDL_USES= sdl
-SDL_USE= sdl=sdl
-SDL_VARS= FORCE_REQUIRE+=SDL
-SDL_VARS_OFF= FORCE_IGNORE+=SDL
-SVG_USES= gnome
-SVG_USE= gnome=cairo,librsvg2
-SVG_VARS= FORCE_REQUIRE+=RSVG
-SVG_VARS_OFF= FORCE_IGNORE+=RSVG
-VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver
-VNC_VARS= FORCE_REQUIRE+=LibVNCServer
-VNC_VARS_OFF= FORCE_IGNORE+=LibVNCServer
-XINE_LIB_DEPENDS= libxine.so:multimedia/libxine
-XINE_VARS= FORCE_REQUIRE+=Xine
-XINE_VARS_OFF= FORCE_IGNORE+=Xine
-XRANDR_USE= xorg=xrandr
-XRANDR_CMAKE_ON= -DOSGVIEWER_USE_XRANDR:BOOL=ON
-XRANDR_CMAKE_OFF= -DOSGVIEWER_USE_XRANDR:BOOL=OFF
-
-# GUI toolkits are only needed for building examples, which are not even installed
-FORCE_IGNORE= FLTK GLUT FOX Qt3 wxWidgets OpenAL GtkGl SDL2 # only for examples
-FORCE_IGNORE+= COLLADA Performer OurDCMTK XUL FBX # not in ports
-FORCE_IGNORE+= OpenVRML # ports version too old
-FORCE_IGNORE+= ITK # ports version doesn't build on 10.x
-FORCE_REQUIRE= Threads OpenGL X11 JPEG PNG TIFF ZLIB # common & lightweight
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MQT5}
-CMAKE_ARGS+= -DOSG_USE_QT:BOOL=ON
-PLIST_SUB+= QT=""
-.else
-CMAKE_ARGS+= -DOSG_USE_QT:BOOL=OFF
-PLIST_SUB+= QT="@comment "
-.endif
-
-post-patch:
- @${FIND} ${WRKSRC}/CMakeModules -type f -print0 | ${XARGS} -0 \
- ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g'
- @${REINPLACE_CMD} -e '/FIND_LIBRARY.*DL_LIBRARY/ d' \
- ${WRKSRC}/CMakeLists.txt
- @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
- ${PATCH_WRKSRC}/CMakeModules/FindFFmpeg.cmake
-.for p in ${FORCE_REQUIRE}
- @${REINPLACE_CMD} -e '/FIND_PACKAGE.*${p}/ s|)$$| REQUIRED&|' \
- ${WRKSRC}/CMakeLists.txt
-.endfor
-.for p in ${FORCE_IGNORE}
- @${REINPLACE_CMD} -e '/FIND_PACKAGE.*${p}/ s|^|#|' \
- ${WRKSRC}/CMakeLists.txt
-.endfor
-
-.include <bsd.port.mk>
diff --git a/graphics/osg34/distinfo b/graphics/osg34/distinfo
deleted file mode 100644
index 7b8e38def234..000000000000
--- a/graphics/osg34/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1506357973
-SHA256 (openscenegraph-OpenSceneGraph-OpenSceneGraph-3.4.1_GH0.tar.gz) = 930eb46f05781a76883ec16c5f49cfb29a059421db131005d75bec4d78401fd5
-SIZE (openscenegraph-OpenSceneGraph-OpenSceneGraph-3.4.1_GH0.tar.gz) = 5686385
diff --git a/graphics/osg34/files/patch-CMakeLists.txt b/graphics/osg34/files/patch-CMakeLists.txt
deleted file mode 100644
index d495019fab71..000000000000
--- a/graphics/osg34/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,30 +0,0 @@
---- CMakeLists.txt.orig 2017-08-28 16:50:49 UTC
-+++ CMakeLists.txt
-@@ -252,6 +252,9 @@ ENDIF()
-
- INCLUDE_DIRECTORIES(
- ${OpenSceneGraph_SOURCE_DIR}/include
-+)
-+
-+INCLUDE_DIRECTORIES(SYSTEM
- ${OPENGL_INCLUDE_DIR}
- )
-
-@@ -846,7 +849,7 @@ ENDIF()
-
- IF(UNIX AND NOT WIN32 AND NOT APPLE)
- IF(CMAKE_SIZEOF_VOID_P MATCHES "8")
-- SET(LIB_POSTFIX "64" CACHE STRING "suffix for 32/64 dir placement")
-+ SET(LIB_POSTFIX "" CACHE STRING "suffix for 32/64 dir placement")
- MARK_AS_ADVANCED(LIB_POSTFIX)
- ENDIF()
- ENDIF()
-@@ -1275,7 +1278,7 @@ FOREACH(PKGCONFIG_FILE ${PKGCONFIG_FILES
- ${PROJECT_BINARY_DIR}/packaging/pkgconfig/${PKGCONFIG_FILE}.pc
- @ONLY
- )
-- INSTALL(FILES ${PROJECT_BINARY_DIR}/packaging/pkgconfig/${PKGCONFIG_FILE}.pc DESTINATION lib${LIB_POSTFIX}/pkgconfig COMPONENT libopenscenegraph-dev)
-+ INSTALL(FILES ${PROJECT_BINARY_DIR}/packaging/pkgconfig/${PKGCONFIG_FILE}.pc DESTINATION libdata/pkgconfig COMPONENT libopenscenegraph-dev)
- ENDFOREACH(PKGCONFIG_FILE)
-
-
diff --git a/graphics/osg34/files/patch-CMakeModules-FindGTA.cmake b/graphics/osg34/files/patch-CMakeModules-FindGTA.cmake
deleted file mode 100644
index 8a648a5ac524..000000000000
--- a/graphics/osg34/files/patch-CMakeModules-FindGTA.cmake
+++ /dev/null
@@ -1,25 +0,0 @@
---- CMakeModules/FindGTA.cmake.orig 2014-01-19 17:46:13.693927259 +0400
-+++ CMakeModules/FindGTA.cmake 2014-01-19 18:38:17.868997891 +0400
-@@ -8,16 +8,6 @@
- # correspond to the ./configure --prefix=$GTA_DIR
- # used in building libgta.
-
--INCLUDE(FindPkgConfig OPTIONAL)
--
--IF(PKG_CONFIG_FOUND)
--
-- INCLUDE(FindPkgConfig)
--
-- PKG_CHECK_MODULES(GTA gta)
--
--ELSE(PKG_CONFIG_FOUND)
--
- FIND_PATH(GTA_INCLUDE_DIRS gta/gta.hpp
- $ENV{GTA_DIR}/include
- $ENV{GTA_DIR}
-@@ -52,5 +42,3 @@
- IF(GTA_LIBRARIES AND GTA_INCLUDE_DIRS)
- SET(GTA_FOUND "YES")
- ENDIF(GTA_LIBRARIES AND GTA_INCLUDE_DIRS)
--
--ENDIF(PKG_CONFIG_FOUND)
diff --git a/graphics/osg34/files/patch-CMakeModules_FindFFmpeg.cmake b/graphics/osg34/files/patch-CMakeModules_FindFFmpeg.cmake
deleted file mode 100644
index 8877dac1de45..000000000000
--- a/graphics/osg34/files/patch-CMakeModules_FindFFmpeg.cmake
+++ /dev/null
@@ -1,10 +0,0 @@
---- CMakeModules/FindFFmpeg.cmake.orig 2023-04-24 09:18:12 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/osg34/files/patch-CMakeModules_FindGStreamer.cmake b/graphics/osg34/files/patch-CMakeModules_FindGStreamer.cmake
deleted file mode 100644
index 7b3259726d4b..000000000000
--- a/graphics/osg34/files/patch-CMakeModules_FindGStreamer.cmake
+++ /dev/null
@@ -1,32 +0,0 @@
---- 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 @@
- find_package(PkgConfig)
-
- macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _header _library)
-- pkg_check_modules(${_component_prefix} QUIET ${_pkgconfig_name})
-+ pkg_check_modules(PC_${_component_prefix} QUIET ${_pkgconfig_name})
-
--# 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_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}
-+ )
- endmacro()
- endif ()
-
diff --git a/graphics/osg34/files/patch-CMakeModules_FindOpenEXR.cmake b/graphics/osg34/files/patch-CMakeModules_FindOpenEXR.cmake
deleted file mode 100644
index e8fb99b70796..000000000000
--- a/graphics/osg34/files/patch-CMakeModules_FindOpenEXR.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
---- CMakeModules/FindOpenEXR.cmake.orig 2021-04-11 21:39:01 UTC
-+++ CMakeModules/FindOpenEXR.cmake
-@@ -51,14 +51,14 @@ MACRO(OPENEXR_FIND libname)
- OPENEXR_FIND_VAR(OPENEXR_${libname}_LIBRARY_DEBUG ${libname}d)
- ENDMACRO(OPENEXR_FIND)
-
--OPENEXR_FIND(IlmImf)
-+OPENEXR_FIND(OpenEXR)
- OPENEXR_FIND(IlmThread)
- OPENEXR_FIND(Iex)
--OPENEXR_FIND(Half)
-+OPENEXR_FIND(Imath)
-
- SET(OPENEXR_FOUND "NO")
--IF(OPENEXR_INCLUDE_DIR AND OPENEXR_IlmImf_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Half_LIBRARY)
-- SET(OPENEXR_LIBRARIES ${OPENEXR_IlmImf_LIBRARY} ${OPENEXR_IlmThread_LIBRARY} ${OPENEXR_Half_LIBRARY} ${OPENEXR_Iex_LIBRARY} )
-- SET(OPENEXR_LIBRARIES_VARS OPENEXR_IlmImf_LIBRARY OPENEXR_IlmThread_LIBRARY OPENEXR_Half_LIBRARY OPENEXR_Iex_LIBRARY )
-+IF(OPENEXR_INCLUDE_DIR AND OPENEXR_OpenEXR_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Imath_LIBRARY)
-+ SET(OPENEXR_LIBRARIES ${OPENEXR_OpenEXR_LIBRARY} ${OPENEXR_IlmThread_LIBRARY} ${OPENEXR_Imath_LIBRARY} ${OPENEXR_Iex_LIBRARY} )
-+ SET(OPENEXR_LIBRARIES_VARS OPENEXR_OpenEXR_LIBRARY OPENEXR_IlmThread_LIBRARY OPENEXR_Imath_LIBRARY OPENEXR_Iex_LIBRARY )
- SET(OPENEXR_FOUND "YES")
--ENDIF(OPENEXR_INCLUDE_DIR AND OPENEXR_IlmImf_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Half_LIBRARY)
-+ENDIF(OPENEXR_INCLUDE_DIR AND OPENEXR_OpenEXR_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Imath_LIBRARY)
diff --git a/graphics/osg34/files/patch-shift-key-fix b/graphics/osg34/files/patch-shift-key-fix
deleted file mode 100644
index 87d9003ae693..000000000000
--- a/graphics/osg34/files/patch-shift-key-fix
+++ /dev/null
@@ -1,23 +0,0 @@
-# Shift key not released if group switch is something other than Control-Shift:
-# https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1218650.html
-
---- src/osgGA/EventQueue.cpp.orig
-+++ src/osgGA/EventQueue.cpp
-@@ -337,7 +337,7 @@ void EventQueue::mouseButtonRelease(floa
-
- void EventQueue::keyPress(int key, double time, int unmodifiedKey)
- {
-- switch(key)
-+ switch(unmodifiedKey)
- {
- case(GUIEventAdapter::KEY_Shift_L): _accumulateEventState->setModKeyMask(GUIEventAdapter::MODKEY_LEFT_SHIFT | _accumulateEventState->getModKeyMask()); break;
- case(GUIEventAdapter::KEY_Shift_R): _accumulateEventState->setModKeyMask(GUIEventAdapter::MODKEY_RIGHT_SHIFT | _accumulateEventState->getModKeyMask()); break;
-@@ -381,7 +381,7 @@ void EventQueue::keyPress(int key, doubl
-
- void EventQueue::keyRelease(int key, double time, int unmodifiedKey)
- {
-- switch(key)
-+ switch(unmodifiedKey)
- {
- case(GUIEventAdapter::KEY_Shift_L): _accumulateEventState->setModKeyMask(~GUIEventAdapter::MODKEY_LEFT_SHIFT & _accumulateEventState->getModKeyMask()); break;
- case(GUIEventAdapter::KEY_Shift_R): _accumulateEventState->setModKeyMask(~GUIEventAdapter::MODKEY_RIGHT_SHIFT & _accumulateEventState->getModKeyMask()); break;
diff --git a/graphics/osg34/files/patch-src-OpenThreads-CMakeLists.txt b/graphics/osg34/files/patch-src-OpenThreads-CMakeLists.txt
deleted file mode 100644
index 675ef5a726a0..000000000000
--- a/graphics/osg34/files/patch-src-OpenThreads-CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
---- src/OpenThreads/CMakeLists.txt.orig 2009-01-27 18:34:57.000000000 +0300
-+++ src/OpenThreads/CMakeLists.txt 2009-02-05 17:54:57.000000000 +0300
-@@ -94,4 +94,4 @@
- @ONLY
- )
-
--INSTALL(FILES ${PROJECT_BINARY_DIR}/packaging/pkgconfig/openthreads.pc DESTINATION lib${LIB_POSTFIX}/pkgconfig)
-+INSTALL(FILES ${PROJECT_BINARY_DIR}/packaging/pkgconfig/openthreads.pc DESTINATION libdata/pkgconfig)
diff --git a/graphics/osg34/files/patch-src-OpenThreads-pthreads-PThread.cpp b/graphics/osg34/files/patch-src-OpenThreads-pthreads-PThread.cpp
deleted file mode 100644
index eeaba23f077d..000000000000
--- a/graphics/osg34/files/patch-src-OpenThreads-pthreads-PThread.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
---- src/OpenThreads/pthreads/PThread.cpp.orig 2011-06-24 00:09:26.000000000 +0400
-+++ src/OpenThreads/pthreads/PThread.cpp 2012-03-05 05:57:02.886704932 +0400
-@@ -21,6 +21,7 @@
- #include <sys/types.h>
- #include <unistd.h>
- #include <pthread.h>
-+#include <pthread_np.h>
- #include <limits.h>
-
- #if defined __linux || defined __sun || defined __APPLE__ || ANDROID
-@@ -136,7 +137,7 @@
- #if defined(__sgi)
- pthread_setrunon_np( pd->cpunum );
- #elif defined(HAVE_PTHREAD_SETAFFINITY_NP) || defined(HAVE_THREE_PARAM_SCHED_SETAFFINITY) || defined(HAVE_TWO_PARAM_SCHED_SETAFFINITY)
-- cpu_set_t cpumask;
-+ cpuset_t cpumask;
- CPU_ZERO( &cpumask );
- CPU_SET( pd->cpunum, &cpumask );
-
-@@ -569,7 +570,7 @@
-
- if (pd->isRunning && Thread::CurrentThread()==this)
- {
-- cpu_set_t cpumask;
-+ cpuset_t cpumask;
- CPU_ZERO( &cpumask );
- CPU_SET( pd->cpunum, &cpumask );
- #if defined(HAVE_PTHREAD_SETAFFINITY_NP)
-@@ -1031,7 +1032,7 @@
- else
- {
- #if defined(HAVE_PTHREAD_SETAFFINITY_NP) || defined(HAVE_THREE_PARAM_SCHED_SETAFFINITY) || defined(HAVE_TWO_PARAM_SCHED_SETAFFINITY)
-- cpu_set_t cpumask;
-+ cpuset_t cpumask;
- CPU_ZERO( &cpumask );
- CPU_SET( cpunum, &cpumask );
- #if defined(HAVE_PTHREAD_SETAFFINITY_NP)
diff --git a/graphics/osg34/files/patch-src_osgPlugins_ffmpeg_CMakeLists.txt b/graphics/osg34/files/patch-src_osgPlugins_ffmpeg_CMakeLists.txt
deleted file mode 100644
index 426b4f3145b3..000000000000
--- a/graphics/osg34/files/patch-src_osgPlugins_ffmpeg_CMakeLists.txt
+++ /dev/null
@@ -1,31 +0,0 @@
---- src/osgPlugins/ffmpeg/CMakeLists.txt.orig 2015-01-07 14:14:55 UTC
-+++ src/osgPlugins/ffmpeg/CMakeLists.txt
-@@ -1,9 +1,9 @@
--INCLUDE_DIRECTORIES( ${FFMPEG_INCLUDE_DIRS} )
-+INCLUDE_DIRECTORIES(SYSTEM ${FFMPEG_INCLUDE_DIRS})
- LINK_DIRECTORIES(${FFMPEG_LIBRARY_DIRS})
-
- IF(FFMPEG_LIBSWSCALE_FOUND)
-
-- INCLUDE_DIRECTORIES( ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS} ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}/libswscale )
-+ INCLUDE_DIRECTORIES(SYSTEM ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS} ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}/libswscale)
-
- ADD_DEFINITIONS(-DUSE_SWSCALE)
-
-@@ -12,14 +12,14 @@ IF(FFMPEG_LIBSWSCALE_FOUND)
- ENDIF()
-
- IF(FFMPEG_LIBSWRESAMPLE_FOUND)
-- INCLUDE_DIRECTORIES( ${FFMPEG_LIBSWRESAMPLE_INCLUDE_DIRS} ${FFMPEG_LIBSWRESAMPLE_INCLUDE_DIRS}/libswresample )
-+ INCLUDE_DIRECTORIES(SYSTEM ${FFMPEG_LIBSWRESAMPLE_INCLUDE_DIRS} ${FFMPEG_LIBSWRESAMPLE_INCLUDE_DIRS}/libswresample)
-
- ADD_DEFINITIONS(-DUSE_SWRESAMPLE)
-
- SET(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} ${FFMPEG_LIBSWRESAMPLE_LIBRARIES})
- ENDIF()
- IF(FFMPEG_LIBAVRESAMPLE_FOUND)
-- INCLUDE_DIRECTORIES( ${FFMPEG_LIBAVRESAMPLE_INCLUDE_DIRS} ${FFMPEG_LIBAVRESAMPLE_INCLUDE_DIRS}/libavresample )
-+ INCLUDE_DIRECTORIES(SYSTEM ${FFMPEG_LIBAVRESAMPLE_INCLUDE_DIRS} ${FFMPEG_LIBAVRESAMPLE_INCLUDE_DIRS}/libavresample)
-
- ADD_DEFINITIONS(-DUSE_AVRESAMPLE)
-
diff --git a/graphics/osg34/files/patch-src_osgPlugins_gdal_CMakeLists.txt b/graphics/osg34/files/patch-src_osgPlugins_gdal_CMakeLists.txt
deleted file mode 100644
index acdc497a60b1..000000000000
--- a/graphics/osg34/files/patch-src_osgPlugins_gdal_CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
---- ./src/osgPlugins/gdal/CMakeLists.txt.orig 2015-07-02 11:58:49 UTC
-+++ ./src/osgPlugins/gdal/CMakeLists.txt
-@@ -1,4 +1,4 @@
--INCLUDE_DIRECTORIES( ${GDAL_INCLUDE_DIR} )
-+INCLUDE_DIRECTORIES(SYSTEM ${GDAL_INCLUDE_DIR})
-
- SET(TARGET_SRC
- ReaderWriterGDAL.cpp
diff --git a/graphics/osg34/files/patch-src_osgPlugins_nvtt_CMakeLists.txt b/graphics/osg34/files/patch-src_osgPlugins_nvtt_CMakeLists.txt
deleted file mode 100644
index 40902a58bb5c..000000000000
--- a/graphics/osg34/files/patch-src_osgPlugins_nvtt_CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
---- src/osgPlugins/nvtt/CMakeLists.txt.orig 2011-04-19 11:40:22 UTC
-+++ src/osgPlugins/nvtt/CMakeLists.txt
-@@ -1,4 +1,4 @@
--INCLUDE_DIRECTORIES( ${NVTT_INCLUDE_DIR} )
-+INCLUDE_DIRECTORIES(SYSTEM ${NVTT_INCLUDE_DIR})
-
-
- SET(TARGET_SRC
diff --git a/graphics/osg34/files/patch-src_osgPlugins_ogr_CMakeLists.txt b/graphics/osg34/files/patch-src_osgPlugins_ogr_CMakeLists.txt
deleted file mode 100644
index 73fd9c93c2ec..000000000000
--- a/graphics/osg34/files/patch-src_osgPlugins_ogr_CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
---- ./src/osgPlugins/ogr/CMakeLists.txt.orig 2011-04-19 11:40:22 UTC
-+++ ./src/osgPlugins/ogr/CMakeLists.txt
-@@ -1,4 +1,4 @@
--INCLUDE_DIRECTORIES( ${GDAL_INCLUDE_DIR} )
-+INCLUDE_DIRECTORIES(SYSTEM ${GDAL_INCLUDE_DIR})
-
- SET(TARGET_SRC ReaderWriterOGR.cpp)
-
diff --git a/graphics/osg34/pkg-descr b/graphics/osg34/pkg-descr
deleted file mode 100644
index 94e5201cdc8e..000000000000
--- a/graphics/osg34/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-The Open Scene Graph is a cross-platform C++ OpenGL library for the
-real-time, photo-realistic rendering of large 3D models. Uses range from
-visual simulation, to scientific modelling, to games, to whatever you can
-think of!
diff --git a/graphics/osg34/pkg-plist b/graphics/osg34/pkg-plist
deleted file mode 100644
index 8b0e12a6fefd..000000000000
--- a/graphics/osg34/pkg-plist
+++ /dev/null
@@ -1,792 +0,0 @@
-bin/osgarchive
-bin/osgconv
-bin/osgfilecache
-bin/osgversion
-bin/osgviewer
-bin/present3D
-include/OpenThreads/Atomic
-include/OpenThreads/Barrier
-include/OpenThreads/Block
-include/OpenThreads/Condition
-include/OpenThreads/Config
-include/OpenThreads/Exports
-include/OpenThreads/Mutex
-include/OpenThreads/ReadWriteMutex
-include/OpenThreads/ReentrantMutex
-include/OpenThreads/ScopedLock
-include/OpenThreads/Thread
-include/OpenThreads/Version
-include/osg/AlphaFunc
-include/osg/AnimationPath
-include/osg/ApplicationUsage
-include/osg/ArgumentParser
-include/osg/Array
-include/osg/ArrayDispatchers
-include/osg/AudioStream
-include/osg/AutoTransform
-include/osg/Billboard
-include/osg/BlendColor
-include/osg/BlendEquation
-include/osg/BlendEquationi
-include/osg/BlendFunc
-include/osg/BlendFunci
-include/osg/BoundingBox
-include/osg/BoundingSphere
-include/osg/BoundsChecking
-include/osg/BufferIndexBinding
-include/osg/BufferObject
-include/osg/BufferTemplate
-include/osg/Callback
-include/osg/Camera
-include/osg/CameraView
-include/osg/Capability
-include/osg/ClampColor
-include/osg/ClearNode
-include/osg/ClipControl
-include/osg/ClipNode
-include/osg/ClipPlane
-include/osg/ClusterCullingCallback
-include/osg/CollectOccludersVisitor
-include/osg/ColorMask
-include/osg/ColorMaski
-include/osg/ColorMatrix
-include/osg/ComputeBoundsVisitor
-include/osg/Config
-include/osg/ConvexPlanarOccluder
-include/osg/ConvexPlanarPolygon
-include/osg/CoordinateSystemNode
-include/osg/CopyOp
-include/osg/CullFace
-include/osg/CullSettings
-include/osg/CullStack
-include/osg/CullingSet
-include/osg/DeleteHandler
-include/osg/Depth
-include/osg/DisplaySettings
-include/osg/DrawPixels
-include/osg/Drawable
-include/osg/Endian
-include/osg/Export
-include/osg/Fog
-include/osg/FragmentProgram
-include/osg/FrameBufferObject
-include/osg/FrameStamp
-include/osg/FrontFace
-include/osg/GL
-include/osg/GL2Extensions
-include/osg/GLBeginEndAdapter
-include/osg/GLDefines
-include/osg/GLExtensions
-include/osg/GLObjects
-include/osg/GLU
-include/osg/Geode
-include/osg/Geometry
-include/osg/GraphicsContext
-include/osg/GraphicsCostEstimator
-include/osg/GraphicsThread
-include/osg/Group
-include/osg/Hint
-include/osg/Image
-include/osg/ImageSequence
-include/osg/ImageStream
-include/osg/ImageUtils
-include/osg/KdTree
-include/osg/LOD
-include/osg/Light
-include/osg/LightModel
-include/osg/LightSource
-include/osg/LineSegment
-include/osg/LineStipple
-include/osg/LineWidth
-include/osg/LogicOp
-include/osg/Material
-include/osg/Math
-include/osg/Matrix
-include/osg/MatrixTransform
-include/osg/Matrixd
-include/osg/Matrixf
-include/osg/MixinVector
-include/osg/Multisample
-include/osg/Node
-include/osg/NodeCallback
-include/osg/NodeTrackerCallback
-include/osg/NodeVisitor
-include/osg/Notify
-include/osg/Object
-include/osg/Observer
-include/osg/ObserverNodePath
-include/osg/OccluderNode
-include/osg/OcclusionQueryNode
-include/osg/OperationThread
-include/osg/PagedLOD
-include/osg/PatchParameter
-include/osg/Plane
-include/osg/Point
-include/osg/PointSprite
-include/osg/PolygonMode
-include/osg/PolygonOffset
-include/osg/PolygonStipple
-include/osg/Polytope
-include/osg/PositionAttitudeTransform
-include/osg/PrimitiveRestartIndex
-include/osg/PrimitiveSet
-include/osg/Program
-include/osg/Projection
-include/osg/ProxyNode
-include/osg/Quat
-include/osg/Referenced
-include/osg/RenderInfo
-include/osg/SampleMaski
-include/osg/Scissor
-include/osg/ScriptEngine
-include/osg/Sequence
-include/osg/ShadeModel
-include/osg/Shader
-include/osg/ShaderAttribute
-include/osg/ShaderComposer
-include/osg/ShadowVolumeOccluder
-include/osg/Shape
-include/osg/ShapeDrawable
-include/osg/State
-include/osg/StateAttribute
-include/osg/StateAttributeCallback
-include/osg/StateSet
-include/osg/Stats
-include/osg/Stencil
-include/osg/StencilTwoSided
-include/osg/Switch
-include/osg/TemplatePrimitiveFunctor
-include/osg/TexEnv
-include/osg/TexEnvCombine
-include/osg/TexEnvFilter
-include/osg/TexGen
-include/osg/TexGenNode
-include/osg/TexMat
-include/osg/Texture
-include/osg/Texture1D
-include/osg/Texture2D
-include/osg/Texture2DArray
-include/osg/Texture2DMultisample
-include/osg/Texture3D
-include/osg/TextureBuffer
-include/osg/TextureCubeMap
-include/osg/TextureRectangle
-include/osg/Timer
-include/osg/TransferFunction
-include/osg/Transform
-include/osg/TriangleFunctor
-include/osg/TriangleIndexFunctor
-include/osg/TriangleLinePointIndexFunctor
-include/osg/Types
-include/osg/Uniform
-include/osg/UserDataContainer
-include/osg/ValueObject
-include/osg/Vec2
-include/osg/Vec2b
-include/osg/Vec2d
-include/osg/Vec2f
-include/osg/Vec2i
-include/osg/Vec2s
-include/osg/Vec2ub
-include/osg/Vec2ui
-include/osg/Vec2us
-include/osg/Vec3
-include/osg/Vec3b
-include/osg/Vec3d
-include/osg/Vec3f
-include/osg/Vec3i
-include/osg/Vec3s
-include/osg/Vec3ub
-include/osg/Vec3ui
-include/osg/Vec3us
-include/osg/Vec4
-include/osg/Vec4b
-include/osg/Vec4d
-include/osg/Vec4f
-include/osg/Vec4i
-include/osg/Vec4s
-include/osg/Vec4ub
-include/osg/Vec4ui
-include/osg/Vec4us
-include/osg/Version
-include/osg/VertexAttribDivisor
-include/osg/VertexProgram
-include/osg/View
-include/osg/Viewport
-include/osg/buffered_value
-include/osg/fast_back_stack
-include/osg/io_utils
-include/osg/observer_ptr
-include/osg/ref_ptr
-include/osgAnimation/Action
-include/osgAnimation/ActionAnimation
-include/osgAnimation/ActionBlendIn
-include/osgAnimation/ActionBlendOut
-include/osgAnimation/ActionCallback
-include/osgAnimation/ActionStripAnimation
-include/osgAnimation/ActionVisitor
-include/osgAnimation/Animation
-include/osgAnimation/AnimationManagerBase
-include/osgAnimation/AnimationUpdateCallback
-include/osgAnimation/BasicAnimationManager
-include/osgAnimation/Bone
-include/osgAnimation/BoneMapVisitor
-include/osgAnimation/Channel
-include/osgAnimation/CubicBezier
-include/osgAnimation/EaseMotion
-include/osgAnimation/Export
-include/osgAnimation/FrameAction
-include/osgAnimation/Interpolator
-include/osgAnimation/Keyframe
-include/osgAnimation/LinkVisitor
-include/osgAnimation/MorphGeometry
-include/osgAnimation/RigGeometry
-include/osgAnimation/RigTransform
-include/osgAnimation/RigTransformHardware
-include/osgAnimation/RigTransformSoftware
-include/osgAnimation/Sampler
-include/osgAnimation/Skeleton
-include/osgAnimation/StackedMatrixElement
-include/osgAnimation/StackedQuaternionElement
-include/osgAnimation/StackedRotateAxisElement
-include/osgAnimation/StackedScaleElement
-include/osgAnimation/StackedTransform
-include/osgAnimation/StackedTransformElement
-include/osgAnimation/StackedTranslateElement
-include/osgAnimation/StatsHandler
-include/osgAnimation/StatsVisitor
-include/osgAnimation/Target
-include/osgAnimation/Timeline
-include/osgAnimation/TimelineAnimationManager
-include/osgAnimation/UpdateBone
-include/osgAnimation/UpdateMaterial
-include/osgAnimation/UpdateMatrixTransform
-include/osgAnimation/UpdateUniform
-include/osgAnimation/Vec3Packed
-include/osgAnimation/VertexInfluence
-include/osgDB/Archive
-include/osgDB/AuthenticationMap
-include/osgDB/Callbacks
-include/osgDB/ClassInterface
-include/osgDB/ConvertBase64
-include/osgDB/ConvertUTF
-include/osgDB/DataTypes
-include/osgDB/DatabasePager
-include/osgDB/DatabaseRevisions
-include/osgDB/DotOsgWrapper
-include/osgDB/DynamicLibrary
-include/osgDB/Export
-include/osgDB/ExternalFileWriter
-include/osgDB/FileCache
-include/osgDB/FileNameUtils
-include/osgDB/FileUtils
-include/osgDB/ImageOptions
-include/osgDB/ImagePager
-include/osgDB/ImageProcessor
-include/osgDB/Input
-include/osgDB/InputStream
-include/osgDB/ObjectCache
-include/osgDB/ObjectWrapper
-include/osgDB/Options
-include/osgDB/Output
-include/osgDB/OutputStream
-include/osgDB/ParameterOutput
-include/osgDB/PluginQuery
-include/osgDB/ReadFile
-include/osgDB/ReaderWriter
-include/osgDB/Registry
-include/osgDB/Serializer
-include/osgDB/SharedStateManager
-include/osgDB/StreamOperator
-include/osgDB/Version
-include/osgDB/WriteFile
-include/osgDB/XmlParser
-include/osgDB/fstream
-include/osgFX/AnisotropicLighting
-include/osgFX/BumpMapping
-include/osgFX/Cartoon
-include/osgFX/Effect
-include/osgFX/Export
-include/osgFX/MultiTextureControl
-include/osgFX/Outline
-include/osgFX/Registry
-include/osgFX/Scribe
-include/osgFX/SpecularHighlights
-include/osgFX/Technique
-include/osgFX/Validator
-include/osgFX/Version
-include/osgGA/AnimationPathManipulator
-include/osgGA/CameraManipulator
-include/osgGA/CameraViewSwitchManipulator
-include/osgGA/Device
-include/osgGA/DriveManipulator
-include/osgGA/Event
-include/osgGA/EventHandler
-include/osgGA/EventQueue
-include/osgGA/EventVisitor
-include/osgGA/Export
-include/osgGA/FirstPersonManipulator
-include/osgGA/FlightManipulator
-include/osgGA/GUIActionAdapter
-include/osgGA/GUIEventAdapter
-include/osgGA/GUIEventHandler
-include/osgGA/KeySwitchMatrixManipulator
-include/osgGA/MultiTouchTrackballManipulator
-include/osgGA/NodeTrackerManipulator
-include/osgGA/OrbitManipulator
-include/osgGA/SphericalManipulator
-include/osgGA/StandardManipulator
-include/osgGA/StateSetManipulator
-include/osgGA/TerrainManipulator
-include/osgGA/TrackballManipulator
-include/osgGA/UFOManipulator
-include/osgGA/Version
-include/osgGA/Widget
-include/osgManipulator/AntiSquish
-include/osgManipulator/Command
-include/osgManipulator/CommandManager
-include/osgManipulator/Constraint
-include/osgManipulator/Dragger
-include/osgManipulator/Export
-include/osgManipulator/Projector
-include/osgManipulator/RotateCylinderDragger
-include/osgManipulator/RotateSphereDragger
-include/osgManipulator/Scale1DDragger
-include/osgManipulator/Scale2DDragger
-include/osgManipulator/ScaleAxisDragger
-include/osgManipulator/Selection
-include/osgManipulator/TabBoxDragger
-include/osgManipulator/TabBoxTrackballDragger
-include/osgManipulator/TabPlaneDragger
-include/osgManipulator/TabPlaneTrackballDragger
-include/osgManipulator/TrackballDragger
-include/osgManipulator/Translate1DDragger
-include/osgManipulator/Translate2DDragger
-include/osgManipulator/TranslateAxisDragger
-include/osgManipulator/TranslatePlaneDragger
-include/osgManipulator/Version
-include/osgParticle/AccelOperator
-include/osgParticle/AngularAccelOperator
-include/osgParticle/AngularDampingOperator
-include/osgParticle/BounceOperator
-include/osgParticle/BoxPlacer
-include/osgParticle/CenteredPlacer
-include/osgParticle/CompositePlacer
-include/osgParticle/ConnectedParticleSystem
-include/osgParticle/ConstantRateCounter
-include/osgParticle/Counter
-include/osgParticle/DampingOperator
-include/osgParticle/DomainOperator
-include/osgParticle/Emitter
-include/osgParticle/ExplosionDebrisEffect
-include/osgParticle/ExplosionEffect
-include/osgParticle/ExplosionOperator
-include/osgParticle/Export
-include/osgParticle/FireEffect
-include/osgParticle/FluidFrictionOperator
-include/osgParticle/FluidProgram
-include/osgParticle/ForceOperator
-include/osgParticle/Interpolator
-include/osgParticle/LinearInterpolator
-include/osgParticle/ModularEmitter
-include/osgParticle/ModularProgram
-include/osgParticle/MultiSegmentPlacer
-include/osgParticle/Operator
-include/osgParticle/OrbitOperator
-include/osgParticle/Particle
-include/osgParticle/ParticleEffect
-include/osgParticle/ParticleProcessor
-include/osgParticle/ParticleSystem
-include/osgParticle/ParticleSystemUpdater
-include/osgParticle/Placer
-include/osgParticle/PointPlacer
-include/osgParticle/PrecipitationEffect
-include/osgParticle/Program
-include/osgParticle/RadialShooter
-include/osgParticle/RandomRateCounter
-include/osgParticle/SectorPlacer
-include/osgParticle/SegmentPlacer
-include/osgParticle/Shooter
-include/osgParticle/SinkOperator
-include/osgParticle/SmokeEffect
-include/osgParticle/SmokeTrailEffect
-include/osgParticle/VariableRateCounter
-include/osgParticle/Version
-include/osgParticle/range
-include/osgPresentation/AnimationMaterial
-include/osgPresentation/CompileSlideCallback
-include/osgPresentation/Cursor
-include/osgPresentation/Export
-include/osgPresentation/KeyEventHandler
-include/osgPresentation/PickEventHandler
-include/osgPresentation/PropertyManager
-include/osgPresentation/SlideEventHandler
-include/osgPresentation/SlideShowConstructor
-include/osgPresentation/Timeout
-%%QT%%include/osgQt/Export
-%%QT%%include/osgQt/GraphicsWindowQt
-%%QT%%include/osgQt/QFontImplementation
-%%QT%%include/osgQt/QGraphicsViewAdapter
-%%QT%%include/osgQt/QWebViewImage
-%%QT%%include/osgQt/QWidgetImage
-%%QT%%include/osgQt/Version
-include/osgShadow/ConvexPolyhedron
-include/osgShadow/DebugShadowMap
-include/osgShadow/Export
-include/osgShadow/LightSpacePerspectiveShadowMap
-include/osgShadow/MinimalCullBoundsShadowMap
-include/osgShadow/MinimalDrawBoundsShadowMap
-include/osgShadow/MinimalShadowMap
-include/osgShadow/OccluderGeometry
-include/osgShadow/ParallelSplitShadowMap
-include/osgShadow/ProjectionShadowMap
-include/osgShadow/ShadowMap
-include/osgShadow/ShadowSettings
-include/osgShadow/ShadowTechnique
-include/osgShadow/ShadowTexture
-include/osgShadow/ShadowVolume
-include/osgShadow/ShadowedScene
-include/osgShadow/SoftShadowMap
-include/osgShadow/StandardShadowMap
-include/osgShadow/Version
-include/osgShadow/ViewDependentShadowMap
-include/osgShadow/ViewDependentShadowTechnique
-include/osgSim/BlinkSequence
-include/osgSim/ColorRange
-include/osgSim/DOFTransform
-include/osgSim/ElevationSlice
-include/osgSim/Export
-include/osgSim/GeographicLocation
-include/osgSim/HeightAboveTerrain
-include/osgSim/Impostor
-include/osgSim/ImpostorSprite
-include/osgSim/InsertImpostorsVisitor
-include/osgSim/LightPoint
-include/osgSim/LightPointNode
-include/osgSim/LightPointSystem
-include/osgSim/LineOfSight
-include/osgSim/MultiSwitch
-include/osgSim/ObjectRecordData
-include/osgSim/OverlayNode
-include/osgSim/ScalarBar
-include/osgSim/ScalarsToColors
-include/osgSim/Sector
-include/osgSim/ShapeAttribute
-include/osgSim/SphereSegment
-include/osgSim/Version
-include/osgSim/VisibilityGroup
-include/osgTerrain/DisplacementMappingTechnique
-include/osgTerrain/Export
-include/osgTerrain/GeometryPool
-include/osgTerrain/GeometryTechnique
-include/osgTerrain/Layer
-include/osgTerrain/Locator
-include/osgTerrain/Terrain
-include/osgTerrain/TerrainTechnique
-include/osgTerrain/TerrainTile
-include/osgTerrain/ValidDataOperator
-include/osgTerrain/Version
-include/osgText/Export
-include/osgText/FadeText
-include/osgText/Font
-include/osgText/Font3D
-include/osgText/Glyph
-include/osgText/KerningType
-include/osgText/String
-include/osgText/Style
-include/osgText/Text
-include/osgText/Text3D
-include/osgText/TextBase
-include/osgText/Version
-include/osgUI/AlignmentSettings
-include/osgUI/Callbacks
-include/osgUI/ColorPalette
-include/osgUI/ComboBox
-include/osgUI/Dialog
-include/osgUI/Export
-include/osgUI/FrameSettings
-include/osgUI/Label
-include/osgUI/LineEdit
-include/osgUI/Popup
-include/osgUI/PushButton
-include/osgUI/Style
-include/osgUI/TabWidget
-include/osgUI/TextSettings
-include/osgUI/Validator
-include/osgUI/Widget
-include/osgUtil/ConvertVec
-include/osgUtil/CubeMapGenerator
-include/osgUtil/CullVisitor
-include/osgUtil/DelaunayTriangulator
-include/osgUtil/DisplayRequirementsVisitor
-include/osgUtil/DrawElementTypeSimplifier
-include/osgUtil/EdgeCollector
-include/osgUtil/Export
-include/osgUtil/GLObjectsVisitor
-include/osgUtil/HalfWayMapGenerator
-include/osgUtil/HighlightMapGenerator
-include/osgUtil/IncrementalCompileOperation
-include/osgUtil/IntersectVisitor
-include/osgUtil/IntersectionVisitor
-include/osgUtil/LineSegmentIntersector
-include/osgUtil/MeshOptimizers
-include/osgUtil/OperationArrayFunctor
-include/osgUtil/Optimizer
-include/osgUtil/PerlinNoise
-include/osgUtil/PlaneIntersector
-include/osgUtil/PolytopeIntersector
-include/osgUtil/PositionalStateContainer
-include/osgUtil/PrintVisitor
-include/osgUtil/RayIntersector
-include/osgUtil/ReflectionMapGenerator
-include/osgUtil/RenderBin
-include/osgUtil/RenderLeaf
-include/osgUtil/RenderStage
-include/osgUtil/ReversePrimitiveFunctor
-include/osgUtil/SceneGraphBuilder
-include/osgUtil/SceneView
-include/osgUtil/ShaderGen
-include/osgUtil/Simplifier
-include/osgUtil/SmoothingVisitor
-include/osgUtil/StateGraph
-include/osgUtil/Statistics
-include/osgUtil/TangentSpaceGenerator
-include/osgUtil/Tessellator
-include/osgUtil/TransformAttributeFunctor
-include/osgUtil/TransformCallback
-include/osgUtil/TriStripVisitor
-include/osgUtil/UpdateVisitor
-include/osgUtil/Version
-include/osgViewer/CompositeViewer
-include/osgViewer/Export
-include/osgViewer/GraphicsWindow
-include/osgViewer/Keystone
-include/osgViewer/Renderer
-include/osgViewer/Scene
-include/osgViewer/Version
-include/osgViewer/View
-include/osgViewer/Viewer
-include/osgViewer/ViewerBase
-include/osgViewer/ViewerEventHandlers
-include/osgViewer/api/X11/GraphicsHandleX11
-include/osgViewer/api/X11/GraphicsWindowX11
-include/osgViewer/api/X11/PixelBufferX11
-include/osgViewer/config/AcrossAllScreens
-include/osgViewer/config/PanoramicSphericalDisplay
-include/osgViewer/config/SingleScreen
-include/osgViewer/config/SingleWindow
-include/osgViewer/config/SphericalDisplay
-include/osgViewer/config/WoWVxDisplay
-include/osgVolume/Export
-include/osgVolume/FixedFunctionTechnique
-include/osgVolume/Layer
-include/osgVolume/Locator
-include/osgVolume/MultipassTechnique
-include/osgVolume/Property
-include/osgVolume/RayTracedTechnique
-include/osgVolume/Version
-include/osgVolume/Volume
-include/osgVolume/VolumeScene
-include/osgVolume/VolumeSettings
-include/osgVolume/VolumeTechnique
-include/osgVolume/VolumeTile
-include/osgWidget/Box
-include/osgWidget/Browser
-include/osgWidget/Canvas
-include/osgWidget/EventInterface
-include/osgWidget/Export
-include/osgWidget/Frame
-include/osgWidget/Input
-include/osgWidget/Label
-include/osgWidget/Lua
-include/osgWidget/PdfReader
-include/osgWidget/Python
-include/osgWidget/ScriptEngine
-include/osgWidget/StyleInterface
-include/osgWidget/StyleManager
-include/osgWidget/Table
-include/osgWidget/Types
-include/osgWidget/UIObjectParent
-include/osgWidget/Util
-include/osgWidget/Version
-include/osgWidget/ViewerEventHandlers
-include/osgWidget/VncClient
-include/osgWidget/Widget
-include/osgWidget/Window
-include/osgWidget/WindowManager
-lib/libOpenThreads.so
-lib/libOpenThreads.so.%%OPENTHREADS_VERSION%%
-lib/libOpenThreads.so.%%OPENTHREADS_SHLIBVER%%
-lib/libosg.so
-lib/libosg.so.%%OSG_VERSION%%
-lib/libosg.so.%%OSG_SHLIBVER%%
-lib/libosgAnimation.so
-lib/libosgAnimation.so.%%OSG_VERSION%%
-lib/libosgAnimation.so.%%OSG_SHLIBVER%%
-lib/libosgDB.so
-lib/libosgDB.so.%%OSG_VERSION%%
-lib/libosgDB.so.%%OSG_SHLIBVER%%
-lib/libosgFX.so
-lib/libosgFX.so.%%OSG_VERSION%%
-lib/libosgFX.so.%%OSG_SHLIBVER%%
-lib/libosgGA.so
-lib/libosgGA.so.%%OSG_VERSION%%
-lib/libosgGA.so.%%OSG_SHLIBVER%%
-lib/libosgManipulator.so
-lib/libosgManipulator.so.%%OSG_VERSION%%
-lib/libosgManipulator.so.%%OSG_SHLIBVER%%
-lib/libosgParticle.so
-lib/libosgParticle.so.%%OSG_VERSION%%
-lib/libosgParticle.so.%%OSG_SHLIBVER%%
-lib/libosgPresentation.so
-lib/libosgPresentation.so.%%OSG_VERSION%%
-lib/libosgPresentation.so.%%OSG_SHLIBVER%%
-%%QT%%lib/libosgQt.so
-%%QT%%lib/libosgQt.so.%%OSG_VERSION%%
-%%QT%%lib/libosgQt.so.%%OSG_SHLIBVER%%
-lib/libosgShadow.so
-lib/libosgShadow.so.%%OSG_VERSION%%
-lib/libosgShadow.so.%%OSG_SHLIBVER%%
-lib/libosgSim.so
-lib/libosgSim.so.%%OSG_VERSION%%
-lib/libosgSim.so.%%OSG_SHLIBVER%%
-lib/libosgTerrain.so
-lib/libosgTerrain.so.%%OSG_VERSION%%
-lib/libosgTerrain.so.%%OSG_SHLIBVER%%
-lib/libosgText.so
-lib/libosgText.so.%%OSG_VERSION%%
-lib/libosgText.so.%%OSG_SHLIBVER%%
-lib/libosgUI.so
-lib/libosgUI.so.%%OSG_VERSION%%
-lib/libosgUI.so.%%OSG_SHLIBVER%%
-lib/libosgUtil.so
-lib/libosgUtil.so.%%OSG_VERSION%%
-lib/libosgUtil.so.%%OSG_SHLIBVER%%
-lib/libosgViewer.so
-lib/libosgViewer.so.%%OSG_VERSION%%
-lib/libosgViewer.so.%%OSG_SHLIBVER%%
-lib/libosgVolume.so
-lib/libosgVolume.so.%%OSG_VERSION%%
-lib/libosgVolume.so.%%OSG_SHLIBVER%%
-lib/libosgWidget.so
-lib/libosgWidget.so.%%OSG_VERSION%%
-lib/libosgWidget.so.%%OSG_SHLIBVER%%
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_3dc.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_3ds.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_ac.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_bmp.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_bsp.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_bvh.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_cfg.so
-%%CURL%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_curl.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_dds.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osg.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osganimation.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osgfx.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osgparticle.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osgshadow.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osgsim.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osgterrain.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osgtext.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osgviewer.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osgvolume.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_deprecated_osgwidget.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_dot.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_dw.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_dxf.so
-%%OPENEXR%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_exr.so
-%%FFMPEG%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_ffmpeg.so
-%%FREETYPE%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_freetype.so
-%%GDAL%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_gdal.so
-%%GIF%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_gif.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_gles.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_glsl.so
-%%GSTREAMER%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_gstreamer.so
-%%GTA%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_gta.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_gz.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_hdr.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_ive.so
-%%JASPER%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_jp2.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_jpeg.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_ktx.so
-%%LIBLAS%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_las.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_logo.so
-%%LUA%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_lua.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_lwo.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_lws.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_md2.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_mdl.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_normals.so
-%%NVTT%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_nvtt.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_obj.so
-%%GDAL%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_ogr.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_openflight.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_osc.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_osg.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_osga.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_osgjs.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_osgshadow.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_osgterrain.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_osgtgz.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_osgviewer.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_p3d.so
-%%PDF%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_pdf.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_pic.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_ply.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_png.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_pnm.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_pov.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_pvr.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_revisions.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_rgb.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_rot.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_scale.so
-%%SDL%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_sdl.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osg.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osganimation.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgfx.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgga.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgmanipulator.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgparticle.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgshadow.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgsim.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgterrain.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgtext.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgui.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgutil.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgviewer.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_serializers_osgvolume.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_shp.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_stl.so
-%%SVG%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_svg.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_tf.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_tga.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_tgz.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_tiff.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_trans.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_trk.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_txf.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_txp.so
-%%VNC%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_vnc.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_vtf.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_x.so
-%%XINE%%lib/osgPlugins-%%OSG_VERSION%%/osgdb_xine.so
-lib/osgPlugins-%%OSG_VERSION%%/osgdb_zip.so
-libdata/pkgconfig/openscenegraph-osg.pc
-libdata/pkgconfig/openscenegraph-osgAnimation.pc
-libdata/pkgconfig/openscenegraph-osgDB.pc
-libdata/pkgconfig/openscenegraph-osgFX.pc
-libdata/pkgconfig/openscenegraph-osgGA.pc
-libdata/pkgconfig/openscenegraph-osgManipulator.pc
-libdata/pkgconfig/openscenegraph-osgParticle.pc
-%%QT%%libdata/pkgconfig/openscenegraph-osgQt.pc
-libdata/pkgconfig/openscenegraph-osgShadow.pc
-libdata/pkgconfig/openscenegraph-osgSim.pc
-libdata/pkgconfig/openscenegraph-osgTerrain.pc
-libdata/pkgconfig/openscenegraph-osgText.pc
-libdata/pkgconfig/openscenegraph-osgUtil.pc
-libdata/pkgconfig/openscenegraph-osgViewer.pc
-libdata/pkgconfig/openscenegraph-osgVolume.pc
-libdata/pkgconfig/openscenegraph-osgWidget.pc
-libdata/pkgconfig/openscenegraph.pc
-libdata/pkgconfig/openthreads.pc
diff --git a/graphics/osgearth/Makefile b/graphics/osgearth/Makefile
index e61f72f0d94d..95e8b341d493 100644
--- a/graphics/osgearth/Makefile
+++ b/graphics/osgearth/Makefile
@@ -4,13 +4,16 @@ DISTVERSIONPREFIX= ${PORTNAME}-
PORTREVISION= 8
CATEGORIES= graphics geography
-MAINTAINER= zirias@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= C++ terrain rendering toolkit for OpenSceneGraph
WWW= http://osgearth.org/
LICENSE= LGPL3
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+BROKEN= Fails to build, error: cannot assign to non-static data member 'length' with const-qualified type 'const SizeType'
+EXPIRATION_DATE=2025-12-31
+
LIB_DEPENDS= libcurl.so:ftp/curl \
libgdal.so:graphics/gdal \
libgeos_c.so:graphics/geos \
diff --git a/graphics/ospray/Makefile b/graphics/ospray/Makefile
index eb788a006376..19dbcc639945 100644
--- a/graphics/ospray/Makefile
+++ b/graphics/ospray/Makefile
@@ -6,11 +6,14 @@ CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
COMMENT= Ray tracing based rendering engine for high-fidelity visualization
-WWW= https://www.ospray.org/
+WWW= https://www.ospray.org/ \
+ https://github.com/RenderKit/ospray
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+BROKEN= expects embree to be compiled with EMBREE_GEOMETRY_INSTANCE=ON
+
BUILD_DEPENDS= ispc:devel/ispc
LIB_DEPENDS= libbenchmark.so:devel/benchmark \
libembree3.so:graphics/embree3 \
diff --git a/graphics/ossim/Makefile b/graphics/ossim/Makefile
index bbff70a6d7fa..eb692f5d97b6 100644
--- a/graphics/ossim/Makefile
+++ b/graphics/ossim/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ossim
DISTVERSION= 2.12.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics geography
MASTER_SITES= https://github.com/ossimlabs/${PORTNAME}/releases/download/v${DISTVERSION}/
diff --git a/graphics/oxipng/Makefile b/graphics/oxipng/Makefile
index 9bc49affc10f..9818a8eb4b0e 100644
--- a/graphics/oxipng/Makefile
+++ b/graphics/oxipng/Makefile
@@ -1,7 +1,6 @@
PORTNAME= oxipng
DISTVERSIONPREFIX= v
-DISTVERSION= 9.1.5 # apply ${FILESDIR}/patch-man before generating cargo-crates list for missing deps
-PORTREVISION= 2
+DISTVERSION= 10.0.0 # apply ${FILESDIR}/patch-man before generating cargo-crates list for missing deps
CATEGORIES= graphics
MAINTAINER= eduardo@FreeBSD.org
diff --git a/graphics/oxipng/Makefile.crates b/graphics/oxipng/Makefile.crates
index fe1b4b6d61be..07dba29874b4 100644
--- a/graphics/oxipng/Makefile.crates
+++ b/graphics/oxipng/Makefile.crates
@@ -1,23 +1,22 @@
-CARGO_CRATES= adler2-2.0.0 \
- anstream-0.6.18 \
- anstyle-1.0.10 \
- anstyle-parse-0.2.6 \
- anstyle-query-1.1.2 \
- anstyle-wincon-3.0.7 \
- autocfg-1.4.0 \
- bitflags-1.3.2 \
- bitflags-2.9.0 \
+CARGO_CRATES= adler2-2.0.1 \
+ anstream-0.6.20 \
+ anstyle-1.0.11 \
+ anstyle-parse-0.2.7 \
+ anstyle-query-1.1.4 \
+ anstyle-wincon-3.0.10 \
+ autocfg-1.5.0 \
+ bitflags-2.9.4 \
bitvec-1.0.1 \
- bumpalo-3.17.0 \
- bytemuck-1.22.0 \
+ bumpalo-3.19.0 \
+ bytemuck-1.23.2 \
byteorder-lite-0.1.0 \
- cc-1.2.19 \
- cfg-if-1.0.0 \
- clap-4.5.36 \
- clap_builder-4.5.36 \
- clap_lex-0.7.4 \
- colorchoice-1.0.3 \
- crc32fast-1.4.2 \
+ cc-1.2.38 \
+ cfg-if-1.0.3 \
+ clap-4.5.53 \
+ clap_builder-4.5.53 \
+ clap_lex-0.7.5 \
+ colorchoice-1.0.4 \
+ crc32fast-1.5.0 \
crossbeam-channel-0.5.15 \
crossbeam-deque-0.8.6 \
crossbeam-epoch-0.9.18 \
@@ -26,51 +25,58 @@ CARGO_CRATES= adler2-2.0.0 \
env_filter-0.1.3 \
env_logger-0.11.8 \
equivalent-1.0.2 \
- errno-0.3.11 \
+ errno-0.3.14 \
fdeflate-0.3.7 \
- filetime-0.2.25 \
- flate2-1.1.1 \
+ filetime-0.2.26 \
+ find-msvc-tools-0.1.2 \
+ flate2-1.1.2 \
funty-2.0.0 \
- glob-0.3.2 \
- hashbrown-0.15.2 \
- image-0.25.6 \
- indexmap-2.9.0 \
+ glob-0.3.3 \
+ hashbrown-0.16.1 \
+ image-0.25.9 \
+ indexmap-2.12.1 \
is_terminal_polyfill-1.70.1 \
- libc-0.2.172 \
- libdeflate-sys-1.23.1 \
- libdeflater-1.23.1 \
- libredox-0.1.3 \
- linux-raw-sys-0.9.4 \
- log-0.4.27 \
- miniz_oxide-0.8.8 \
+ libc-0.2.175 \
+ libdeflate-sys-1.25.0 \
+ libdeflater-1.25.0 \
+ libredox-0.1.10 \
+ linux-raw-sys-0.11.0 \
+ log-0.4.28 \
+ miniz_oxide-0.8.9 \
+ moxcms-0.7.5 \
num-traits-0.2.19 \
- once_cell-1.21.3 \
+ once_cell_polyfill-1.70.1 \
+ parse-size-1.1.0 \
pkg-config-0.3.32 \
- png-0.17.16 \
+ png-0.18.0 \
+ pxfm-0.1.24 \
radium-0.7.0 \
- rayon-1.10.0 \
- rayon-core-1.12.1 \
- redox_syscall-0.5.11 \
- rgb-0.8.50 \
+ rayon-1.11.0 \
+ rayon-core-1.13.0 \
+ redox_syscall-0.5.17 \
+ rgb-0.8.52 \
rustc-hash-2.1.1 \
- rustix-1.0.5 \
+ rustix-1.1.2 \
shlex-1.3.0 \
simd-adler32-0.3.7 \
strsim-0.11.1 \
tap-1.0.1 \
- terminal_size-0.4.2 \
+ terminal_size-0.4.3 \
utf8parse-0.2.2 \
- windows-sys-0.59.0 \
- windows-targets-0.52.6 \
- windows_aarch64_gnullvm-0.52.6 \
- windows_aarch64_msvc-0.52.6 \
- windows_i686_gnu-0.52.6 \
- windows_i686_gnullvm-0.52.6 \
- windows_i686_msvc-0.52.6 \
- windows_x86_64_gnu-0.52.6 \
- windows_x86_64_gnullvm-0.52.6 \
- windows_x86_64_msvc-0.52.6 \
+ windows-link-0.1.3 \
+ windows-link-0.2.0 \
+ windows-sys-0.60.2 \
+ windows-sys-0.61.0 \
+ windows-targets-0.53.3 \
+ windows_aarch64_gnullvm-0.53.0 \
+ windows_aarch64_msvc-0.53.0 \
+ windows_i686_gnu-0.53.0 \
+ windows_i686_gnullvm-0.53.0 \
+ windows_i686_msvc-0.53.0 \
+ windows_x86_64_gnu-0.53.0 \
+ windows_x86_64_gnullvm-0.53.0 \
+ windows_x86_64_msvc-0.53.0 \
wyz-0.5.1 \
- zopfli-0.8.2 \
- clap_mangen-0.2.24 \
+ zopfli-0.8.3 \
+ clap_mangen-0.2.31 \
roff-0.2.2
diff --git a/graphics/oxipng/distinfo b/graphics/oxipng/distinfo
index 8b6ebad5b881..b40a9f45dfc7 100644
--- a/graphics/oxipng/distinfo
+++ b/graphics/oxipng/distinfo
@@ -1,44 +1,42 @@
-TIMESTAMP = 1746192067
-SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
-SIZE (rust/crates/adler2-2.0.0.crate) = 13529
-SHA256 (rust/crates/anstream-0.6.18.crate) = 8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b
-SIZE (rust/crates/anstream-0.6.18.crate) = 29681
-SHA256 (rust/crates/anstyle-1.0.10.crate) = 55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9
-SIZE (rust/crates/anstyle-1.0.10.crate) = 15725
-SHA256 (rust/crates/anstyle-parse-0.2.6.crate) = 3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9
-SIZE (rust/crates/anstyle-parse-0.2.6.crate) = 22343
-SHA256 (rust/crates/anstyle-query-1.1.2.crate) = 79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c
-SIZE (rust/crates/anstyle-query-1.1.2.crate) = 9969
-SHA256 (rust/crates/anstyle-wincon-3.0.7.crate) = ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e
-SIZE (rust/crates/anstyle-wincon-3.0.7.crate) = 12400
-SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
-SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
-SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
-SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitflags-2.9.0.crate) = 5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd
-SIZE (rust/crates/bitflags-2.9.0.crate) = 47654
+TIMESTAMP = 1765129496
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
+SHA256 (rust/crates/anstream-0.6.20.crate) = 3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192
+SIZE (rust/crates/anstream-0.6.20.crate) = 28797
+SHA256 (rust/crates/anstyle-1.0.11.crate) = 862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd
+SIZE (rust/crates/anstyle-1.0.11.crate) = 15880
+SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2
+SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707
+SHA256 (rust/crates/anstyle-query-1.1.4.crate) = 9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2
+SIZE (rust/crates/anstyle-query-1.1.4.crate) = 10192
+SHA256 (rust/crates/anstyle-wincon-3.0.10.crate) = 3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a
+SIZE (rust/crates/anstyle-wincon-3.0.10.crate) = 12558
+SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
+SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
+SHA256 (rust/crates/bitflags-2.9.4.crate) = 2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394
+SIZE (rust/crates/bitflags-2.9.4.crate) = 47950
SHA256 (rust/crates/bitvec-1.0.1.crate) = 1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c
SIZE (rust/crates/bitvec-1.0.1.crate) = 224375
-SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf
-SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975
-SHA256 (rust/crates/bytemuck-1.22.0.crate) = b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540
-SIZE (rust/crates/bytemuck-1.22.0.crate) = 52451
+SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43
+SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414
+SHA256 (rust/crates/bytemuck-1.23.2.crate) = 3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677
+SIZE (rust/crates/bytemuck-1.23.2.crate) = 53021
SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
-SHA256 (rust/crates/cc-1.2.19.crate) = 8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362
-SIZE (rust/crates/cc-1.2.19.crate) = 105910
-SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
-SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/clap-4.5.36.crate) = 2df961d8c8a0d08aa9945718ccf584145eee3f3aa06cddbeac12933781102e04
-SIZE (rust/crates/clap-4.5.36.crate) = 56958
-SHA256 (rust/crates/clap_builder-4.5.36.crate) = 132dbda40fb6753878316a489d5a1242a8ef2f0d9e47ba01c951ea8aa7d013a5
-SIZE (rust/crates/clap_builder-4.5.36.crate) = 168438
-SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
-SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
-SHA256 (rust/crates/colorchoice-1.0.3.crate) = 5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990
-SIZE (rust/crates/colorchoice-1.0.3.crate) = 7923
-SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
-SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+SHA256 (rust/crates/cc-1.2.38.crate) = 80f41ae168f955c12fb8960b057d70d0ca153fb83182b57d86380443527be7e9
+SIZE (rust/crates/cc-1.2.38.crate) = 90139
+SHA256 (rust/crates/cfg-if-1.0.3.crate) = 2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9
+SIZE (rust/crates/cfg-if-1.0.3.crate) = 8719
+SHA256 (rust/crates/clap-4.5.53.crate) = c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8
+SIZE (rust/crates/clap-4.5.53.crate) = 62036
+SHA256 (rust/crates/clap_builder-4.5.53.crate) = d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00
+SIZE (rust/crates/clap_builder-4.5.53.crate) = 170811
+SHA256 (rust/crates/clap_lex-0.7.5.crate) = b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675
+SIZE (rust/crates/clap_lex-0.7.5.crate) = 13469
+SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75
+SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196
+SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511
+SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723
SHA256 (rust/crates/crossbeam-channel-0.5.15.crate) = 82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2
SIZE (rust/crates/crossbeam-channel-0.5.15.crate) = 92716
SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
@@ -55,62 +53,70 @@ SHA256 (rust/crates/env_logger-0.11.8.crate) = 13c863f0904021b108aa8b2f55046443e
SIZE (rust/crates/env_logger-0.11.8.crate) = 32538
SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
-SHA256 (rust/crates/errno-0.3.11.crate) = 976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e
-SIZE (rust/crates/errno-0.3.11.crate) = 12048
+SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb
+SIZE (rust/crates/errno-0.3.14.crate) = 12002
SHA256 (rust/crates/fdeflate-0.3.7.crate) = 1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c
SIZE (rust/crates/fdeflate-0.3.7.crate) = 27188
-SHA256 (rust/crates/filetime-0.2.25.crate) = 35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586
-SIZE (rust/crates/filetime-0.2.25.crate) = 14940
-SHA256 (rust/crates/flate2-1.1.1.crate) = 7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece
-SIZE (rust/crates/flate2-1.1.1.crate) = 77224
+SHA256 (rust/crates/filetime-0.2.26.crate) = bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed
+SIZE (rust/crates/filetime-0.2.26.crate) = 17273
+SHA256 (rust/crates/find-msvc-tools-0.1.2.crate) = 1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959
+SIZE (rust/crates/find-msvc-tools-0.1.2.crate) = 30461
+SHA256 (rust/crates/flate2-1.1.2.crate) = 4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d
+SIZE (rust/crates/flate2-1.1.2.crate) = 76495
SHA256 (rust/crates/funty-2.0.0.crate) = e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c
SIZE (rust/crates/funty-2.0.0.crate) = 13160
-SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2
-SIZE (rust/crates/glob-0.3.2.crate) = 22359
-SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
-SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
-SHA256 (rust/crates/image-0.25.6.crate) = db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a
-SIZE (rust/crates/image-0.25.6.crate) = 242367
-SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
-SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
+SHA256 (rust/crates/glob-0.3.3.crate) = 0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280
+SIZE (rust/crates/glob-0.3.3.crate) = 22861
+SHA256 (rust/crates/hashbrown-0.16.1.crate) = 841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100
+SIZE (rust/crates/hashbrown-0.16.1.crate) = 147785
+SHA256 (rust/crates/image-0.25.9.crate) = e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a
+SIZE (rust/crates/image-0.25.9.crate) = 294591
+SHA256 (rust/crates/indexmap-2.12.1.crate) = 0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2
+SIZE (rust/crates/indexmap-2.12.1.crate) = 100184
SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
-SHA256 (rust/crates/libc-0.2.172.crate) = d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa
-SIZE (rust/crates/libc-0.2.172.crate) = 791646
-SHA256 (rust/crates/libdeflate-sys-1.23.1.crate) = 38b72ad3fbf5ac78f2df7b36075e48adf2459b57c150b9e63937d0204d0f9cd7
-SIZE (rust/crates/libdeflate-sys-1.23.1.crate) = 202537
-SHA256 (rust/crates/libdeflater-1.23.1.crate) = 013344b17f9dceddff4872559ae19378bd8ee0479eccdd266d2dd2e894b4792f
-SIZE (rust/crates/libdeflater-1.23.1.crate) = 23516
-SHA256 (rust/crates/libredox-0.1.3.crate) = c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d
-SIZE (rust/crates/libredox-0.1.3.crate) = 6068
-SHA256 (rust/crates/linux-raw-sys-0.9.4.crate) = cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12
-SIZE (rust/crates/linux-raw-sys-0.9.4.crate) = 2311088
-SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
-SIZE (rust/crates/log-0.4.27.crate) = 48120
-SHA256 (rust/crates/miniz_oxide-0.8.8.crate) = 3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a
-SIZE (rust/crates/miniz_oxide-0.8.8.crate) = 67065
+SHA256 (rust/crates/libc-0.2.175.crate) = 6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543
+SIZE (rust/crates/libc-0.2.175.crate) = 788728
+SHA256 (rust/crates/libdeflate-sys-1.25.0.crate) = 23bd6304ebf75390d8a99b88bdf2a266f62647838140cb64af8e6702f6e3fddc
+SIZE (rust/crates/libdeflate-sys-1.25.0.crate) = 203157
+SHA256 (rust/crates/libdeflater-1.25.0.crate) = d5d4880e6d634d3d029d65fa016038e788cc728a17b782684726fb34ee140caf
+SIZE (rust/crates/libdeflater-1.25.0.crate) = 23192
+SHA256 (rust/crates/libredox-0.1.10.crate) = 416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb
+SIZE (rust/crates/libredox-0.1.10.crate) = 7332
+SHA256 (rust/crates/linux-raw-sys-0.11.0.crate) = df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039
+SIZE (rust/crates/linux-raw-sys-0.11.0.crate) = 2659624
+SHA256 (rust/crates/log-0.4.28.crate) = 34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432
+SIZE (rust/crates/log-0.4.28.crate) = 51131
+SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316
+SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
+SHA256 (rust/crates/moxcms-0.7.5.crate) = ddd32fa8935aeadb8a8a6b6b351e40225570a37c43de67690383d87ef170cd08
+SIZE (rust/crates/moxcms-0.7.5.crate) = 184232
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.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
-SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad
+SIZE (rust/crates/once_cell_polyfill-1.70.1.crate) = 7510
+SHA256 (rust/crates/parse-size-1.1.0.crate) = 487f2ccd1e17ce8c1bfab3a65c89525af41cfad4c8659021a1e9a2aacd73b89b
+SIZE (rust/crates/parse-size-1.1.0.crate) = 7065
SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c
SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370
-SHA256 (rust/crates/png-0.17.16.crate) = 82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526
-SIZE (rust/crates/png-0.17.16.crate) = 117975
+SHA256 (rust/crates/png-0.18.0.crate) = 97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0
+SIZE (rust/crates/png-0.18.0.crate) = 118041
+SHA256 (rust/crates/pxfm-0.1.24.crate) = 83f9b339b02259ada5c0f4a389b7fb472f933aa17ce176fd2ad98f28bb401fde
+SIZE (rust/crates/pxfm-0.1.24.crate) = 867020
SHA256 (rust/crates/radium-0.7.0.crate) = dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09
SIZE (rust/crates/radium-0.7.0.crate) = 10906
-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/redox_syscall-0.5.11.crate) = d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3
-SIZE (rust/crates/redox_syscall-0.5.11.crate) = 30300
-SHA256 (rust/crates/rgb-0.8.50.crate) = 57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a
-SIZE (rust/crates/rgb-0.8.50.crate) = 21980
+SHA256 (rust/crates/rayon-1.11.0.crate) = 368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f
+SIZE (rust/crates/rayon-1.11.0.crate) = 182470
+SHA256 (rust/crates/rayon-core-1.13.0.crate) = 22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91
+SIZE (rust/crates/rayon-core-1.13.0.crate) = 73151
+SHA256 (rust/crates/redox_syscall-0.5.17.crate) = 5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77
+SIZE (rust/crates/redox_syscall-0.5.17.crate) = 30002
+SHA256 (rust/crates/rgb-0.8.52.crate) = 0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce
+SIZE (rust/crates/rgb-0.8.52.crate) = 22449
SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
-SHA256 (rust/crates/rustix-1.0.5.crate) = d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf
-SIZE (rust/crates/rustix-1.0.5.crate) = 414160
+SHA256 (rust/crates/rustix-1.1.2.crate) = cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e
+SIZE (rust/crates/rustix-1.1.2.crate) = 422717
SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
SIZE (rust/crates/shlex-1.3.0.crate) = 18713
SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
@@ -119,37 +125,43 @@ SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
SIZE (rust/crates/tap-1.0.1.crate) = 11316
-SHA256 (rust/crates/terminal_size-0.4.2.crate) = 45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed
-SIZE (rust/crates/terminal_size-0.4.2.crate) = 9976
+SHA256 (rust/crates/terminal_size-0.4.3.crate) = 60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0
+SIZE (rust/crates/terminal_size-0.4.3.crate) = 10686
SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
-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.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
-SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
-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.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
-SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
-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.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
-SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
-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.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
-SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
-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/windows-link-0.1.3.crate) = 5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a
+SIZE (rust/crates/windows-link-0.1.3.crate) = 6154
+SHA256 (rust/crates/windows-link-0.2.0.crate) = 45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65
+SIZE (rust/crates/windows-link-0.2.0.crate) = 6170
+SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
+SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
+SHA256 (rust/crates/windows-sys-0.61.0.crate) = e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa
+SIZE (rust/crates/windows-sys-0.61.0.crate) = 2517134
+SHA256 (rust/crates/windows-targets-0.53.3.crate) = d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91
+SIZE (rust/crates/windows-targets-0.53.3.crate) = 7099
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443
+SHA256 (rust/crates/windows_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c
+SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446
+SHA256 (rust/crates/windows_i686_gnu-0.53.0.crate) = c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3
+SIZE (rust/crates/windows_i686_gnu-0.53.0.crate) = 936973
+SHA256 (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11
+SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056
+SHA256 (rust/crates/windows_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d
+SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450
+SHA256 (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba
+SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434
+SHA256 (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486
+SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400
SHA256 (rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed
SIZE (rust/crates/wyz-0.5.1.crate) = 18790
-SHA256 (rust/crates/zopfli-0.8.2.crate) = edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7
-SIZE (rust/crates/zopfli-0.8.2.crate) = 51842
-SHA256 (rust/crates/clap_mangen-0.2.24.crate) = fbae9cbfdc5d4fa8711c09bd7b83f644cb48281ac35bf97af3e47b0675864bdf
-SIZE (rust/crates/clap_mangen-0.2.24.crate) = 15380
+SHA256 (rust/crates/zopfli-0.8.3.crate) = f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249
+SIZE (rust/crates/zopfli-0.8.3.crate) = 51589
+SHA256 (rust/crates/clap_mangen-0.2.31.crate) = 439ea63a92086df93893164221ad4f24142086d535b3a0957b9b9bea2dc86301
+SIZE (rust/crates/clap_mangen-0.2.31.crate) = 16345
SHA256 (rust/crates/roff-0.2.2.crate) = 88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3
SIZE (rust/crates/roff-0.2.2.crate) = 11648
-SHA256 (shssoichiro-oxipng-v9.1.5_GH0.tar.gz) = 8f99d5c67efa2a7550023bf610b90e65d421375c9ed7f37097f83ae5c05f85bd
-SIZE (shssoichiro-oxipng-v9.1.5_GH0.tar.gz) = 19182197
+SHA256 (shssoichiro-oxipng-v10.0.0_GH0.tar.gz) = c834f87cab52c621b113dd6ac718d591638043471705b0c4fa4aa958796e0051
+SIZE (shssoichiro-oxipng-v10.0.0_GH0.tar.gz) = 18981625
diff --git a/graphics/oxipng/files/patch-man b/graphics/oxipng/files/patch-man
index e5bee327e0fc..4991eb8df207 100644
--- a/graphics/oxipng/files/patch-man
+++ b/graphics/oxipng/files/patch-man
@@ -1,17 +1,20 @@
-Add missing deps from xtask
+- First check what clap crate is used and use it in [1]
+- Add missing deps from xtask (generated from xtask/Cargo.lock)
+ Optionally check for updated deps
+- Use upstream clap version already in crates [1]
---- Cargo.lock.orig 2025-02-16 13:38:08 UTC
+--- Cargo.lock.orig 2025-12-07 17:34:49 UTC
+++ Cargo.lock
-@@ -635,3 +635,19 @@ dependencies = [
- "once_cell",
+@@ -677,3 +677,19 @@ dependencies = [
+ "log",
"simd-adler32",
]
+
+[[package]]
+name = "clap_mangen"
-+version = "0.2.24"
++version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fbae9cbfdc5d4fa8711c09bd7b83f644cb48281ac35bf97af3e47b0675864bdf"
++checksum = "439ea63a92086df93893164221ad4f24142086d535b3a0957b9b9bea2dc86301"
+dependencies = [
+ "clap",
+ "roff",
@@ -23,14 +26,14 @@ Add missing deps from xtask
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3"
-Use upstream clap version already in crates
-
---- xtask/Cargo.toml.orig 2025-02-16 13:30:03 UTC
+--- xtask/Cargo.toml.orig 2025-12-07 17:32:20 UTC
+++ xtask/Cargo.toml
-@@ -6,5 +6,5 @@ publish = false
+@@ -6,6 +6,6 @@ publish = false
publish = false
[dependencies]
-clap = "4.5.21"
-+clap = "4.5.36"
- clap_mangen = "0.2.24"
+-clap_mangen = "0.2.24"
++clap = "4.5.53"
++clap_mangen = "0.2.31"
+ parse-size = "1.1.0"
diff --git a/graphics/oyranos/Makefile b/graphics/oyranos/Makefile
index 699efa6b02b6..1af03557c38f 100644
--- a/graphics/oyranos/Makefile
+++ b/graphics/oyranos/Makefile
@@ -1,6 +1,6 @@
PORTNAME= oyranos
PORTVERSION= 0.9.6
-PORTREVISION= 18
+PORTREVISION= 19
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/p5-GD-Barcode/Makefile b/graphics/p5-GD-Barcode/Makefile
index f39f1082d57b..fd6f82747a9e 100644
--- a/graphics/p5-GD-Barcode/Makefile
+++ b/graphics/p5-GD-Barcode/Makefile
@@ -1,5 +1,5 @@
PORTNAME= GD-Barcode
-PORTVERSION= 2.00
+DISTVERSION= 2.01
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -17,4 +17,5 @@ RUN_DEPENDS= p5-GD>=0:graphics/p5-GD
USES= perl5
USE_PERL5= configure
+NO_ARCH= yes
.include <bsd.port.mk>
diff --git a/graphics/p5-GD-Barcode/distinfo b/graphics/p5-GD-Barcode/distinfo
index ed69db000e01..1ffbafd40ee4 100644
--- a/graphics/p5-GD-Barcode/distinfo
+++ b/graphics/p5-GD-Barcode/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1694687237
-SHA256 (GD-Barcode-2.00.tar.gz) = 7cabb9a7eef7891145cc333ca70462972418377c23d3ab2a34c6f1aa229796ef
-SIZE (GD-Barcode-2.00.tar.gz) = 885786
+TIMESTAMP = 1753445226
+SHA256 (GD-Barcode-2.01.tar.gz) = 59af0f8a9bec93d2775fa8a1a251532d62fe2e160a471896c935aa9be8c5cd21
+SIZE (GD-Barcode-2.01.tar.gz) = 897133
diff --git a/graphics/p5-Geo-GDAL-FFI/Makefile b/graphics/p5-Geo-GDAL-FFI/Makefile
index 65aa139595f8..1de143e10f0f 100644
--- a/graphics/p5-Geo-GDAL-FFI/Makefile
+++ b/graphics/p5-Geo-GDAL-FFI/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Geo-GDAL-FFI
-PORTVERSION= 0.13
+PORTVERSION= 0.14
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 753e65589ae6..61b0cd81d234 100644
--- a/graphics/p5-Geo-GDAL-FFI/distinfo
+++ b/graphics/p5-Geo-GDAL-FFI/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750954158
-SHA256 (Geo-GDAL-FFI-0.13.tar.gz) = 4dbe4a78d282be9ec3cdf4e1050297a71cc8e2ecc15360ddfe8587303bcc485d
-SIZE (Geo-GDAL-FFI-0.13.tar.gz) = 53744
+TIMESTAMP = 1757120588
+SHA256 (Geo-GDAL-FFI-0.14.tar.gz) = 98a1451e5523a22f0eac580a532821d9e34edb1c31948b803a6638e8eeb10af8
+SIZE (Geo-GDAL-FFI-0.14.tar.gz) = 61221
diff --git a/graphics/p5-Geo-LibProj-FFI/Makefile b/graphics/p5-Geo-LibProj-FFI/Makefile
index 45d4349f0cef..c0a772c9d987 100644
--- a/graphics/p5-Geo-LibProj-FFI/Makefile
+++ b/graphics/p5-Geo-LibProj-FFI/Makefile
@@ -1,5 +1,6 @@
PORTNAME= Geo-LibProj-FFI
PORTVERSION= 1.01
+PORTREVISION= 1
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
diff --git a/graphics/p5-Gimp/Makefile b/graphics/p5-Gimp/Makefile
index 132cd2d77243..d20507687cf6 100644
--- a/graphics/p5-Gimp/Makefile
+++ b/graphics/p5-Gimp/Makefile
@@ -36,4 +36,10 @@ post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/Gimp/Net/Net.so
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/Gimp/UI/UI.so
-.include <bsd.port.mk>
+.include <bsd.port.pre.mk>
+
+.if ${PERL_LEVEL} >= 504200
+BROKEN= fails to build
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/graphics/p5-Image-ExifTool-devel/Makefile b/graphics/p5-Image-ExifTool-devel/Makefile
index 102f42220d17..d3a8cb293081 100644
--- a/graphics/p5-Image-ExifTool-devel/Makefile
+++ b/graphics/p5-Image-ExifTool-devel/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Image-ExifTool
-DISTVERSION= 13.32
+DISTVERSION= 13.43
CATEGORIES= graphics perl5
MASTER_SITES= https://exiftool.org/ \
SF/exiftool
@@ -25,6 +25,6 @@ OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/Changes ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
- cd ${WRKSRC}/ && ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR}
+ cd ${WRKSRC} && ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/graphics/p5-Image-ExifTool-devel/distinfo b/graphics/p5-Image-ExifTool-devel/distinfo
index 295a8c69ddd2..903d9de4335a 100644
--- a/graphics/p5-Image-ExifTool-devel/distinfo
+++ b/graphics/p5-Image-ExifTool-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751542077
-SHA256 (Image-ExifTool-13.32.tar.gz) = e4b462f1a111bde3e3c4519e06d71efaacc576c36f4c3407b3d225c39393c829
-SIZE (Image-ExifTool-13.32.tar.gz) = 7461392
+TIMESTAMP = 1764912650
+SHA256 (Image-ExifTool-13.43.tar.gz) = 1beef514c895705b3e3eafea3602db6b4830697f37b997b6ae9795cdfa2608d1
+SIZE (Image-ExifTool-13.43.tar.gz) = 7589198
diff --git a/graphics/p5-Image-ExifTool-devel/pkg-plist b/graphics/p5-Image-ExifTool-devel/pkg-plist
index 5d41d8b7cc01..684dc215422a 100644
--- a/graphics/p5-Image-ExifTool-devel/pkg-plist
+++ b/graphics/p5-Image-ExifTool-devel/pkg-plist
@@ -63,6 +63,7 @@ bin/exiftool
%%SITE_PERL%%/Image/ExifTool/DJI.pm
%%SITE_PERL%%/Image/ExifTool/DNG.pm
%%SITE_PERL%%/Image/ExifTool/DPX.pm
+%%SITE_PERL%%/Image/ExifTool/DSF.pm
%%SITE_PERL%%/Image/ExifTool/DV.pm
%%SITE_PERL%%/Image/ExifTool/DarwinCore.pm
%%SITE_PERL%%/Image/ExifTool/DjVu.pm
@@ -88,6 +89,7 @@ bin/exiftool
%%SITE_PERL%%/Image/ExifTool/Geolocation.pm
%%SITE_PERL%%/Image/ExifTool/Geotag.pm
%%SITE_PERL%%/Image/ExifTool/GoPro.pm
+%%SITE_PERL%%/Image/ExifTool/Google.pm
%%SITE_PERL%%/Image/ExifTool/H264.pm
%%SITE_PERL%%/Image/ExifTool/HP.pm
%%SITE_PERL%%/Image/ExifTool/HTML.pm
@@ -208,6 +210,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
@@ -221,6 +224,7 @@ bin/exiftool
%%SITE_PERL%%/Image/ExifTool/Vorbis.pm
%%SITE_PERL%%/Image/ExifTool/WPG.pm
%%SITE_PERL%%/Image/ExifTool/WTV.pm
+%%SITE_PERL%%/Image/ExifTool/WavPack.pm
%%SITE_PERL%%/Image/ExifTool/WriteCanonRaw.pl
%%SITE_PERL%%/Image/ExifTool/WriteExif.pl
%%SITE_PERL%%/Image/ExifTool/WriteIPTC.pl
@@ -269,6 +273,7 @@ bin/exiftool
%%PERL5_MAN3%%/Image::ExifTool::DJI.3.gz
%%PERL5_MAN3%%/Image::ExifTool::DNG.3.gz
%%PERL5_MAN3%%/Image::ExifTool::DPX.3.gz
+%%PERL5_MAN3%%/Image::ExifTool::DSF.3.gz
%%PERL5_MAN3%%/Image::ExifTool::DV.3.gz
%%PERL5_MAN3%%/Image::ExifTool::DarwinCore.3.gz
%%PERL5_MAN3%%/Image::ExifTool::DjVu.3.gz
@@ -293,6 +298,7 @@ bin/exiftool
%%PERL5_MAN3%%/Image::ExifTool::Geolocation.3.gz
%%PERL5_MAN3%%/Image::ExifTool::Geotag.3.gz
%%PERL5_MAN3%%/Image::ExifTool::GoPro.3.gz
+%%PERL5_MAN3%%/Image::ExifTool::Google.3.gz
%%PERL5_MAN3%%/Image::ExifTool::H264.3.gz
%%PERL5_MAN3%%/Image::ExifTool::HP.3.gz
%%PERL5_MAN3%%/Image::ExifTool::HTML.3.gz
@@ -412,6 +418,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
@@ -425,6 +432,7 @@ bin/exiftool
%%PERL5_MAN3%%/Image::ExifTool::Vorbis.3.gz
%%PERL5_MAN3%%/Image::ExifTool::WPG.3.gz
%%PERL5_MAN3%%/Image::ExifTool::WTV.3.gz
+%%PERL5_MAN3%%/Image::ExifTool::WavPack.3.gz
%%PERL5_MAN3%%/Image::ExifTool::WriteCanonRaw.3.gz
%%PERL5_MAN3%%/Image::ExifTool::WriteExif.3.gz
%%PERL5_MAN3%%/Image::ExifTool::WriteIPTC.3.gz
diff --git a/graphics/p5-Image-ExifTool/Makefile b/graphics/p5-Image-ExifTool/Makefile
index c19609926e22..77148b679ddb 100644
--- a/graphics/p5-Image-ExifTool/Makefile
+++ b/graphics/p5-Image-ExifTool/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Image-ExifTool
-PORTVERSION= 13.30
+DISTVERSION= 13.36
CATEGORIES= graphics perl5
MASTER_SITES= https://exiftool.org/ \
CPAN
diff --git a/graphics/p5-Image-ExifTool/distinfo b/graphics/p5-Image-ExifTool/distinfo
index c2931a5dcf61..5f39889d293a 100644
--- a/graphics/p5-Image-ExifTool/distinfo
+++ b/graphics/p5-Image-ExifTool/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749937790
-SHA256 (Image-ExifTool-13.30.tar.gz) = 885afd06c4efcc60d1df703cc88ba7ddc3bb6fed854cfbaa9e6cd72adfbe8da9
-SIZE (Image-ExifTool-13.30.tar.gz) = 7371772
+TIMESTAMP = 1760113525
+SHA256 (Image-ExifTool-13.36.tar.gz) = 328a4a365db7d1051322897138a0665c405107e53f829d8d50ccf43b328e8c28
+SIZE (Image-ExifTool-13.36.tar.gz) = 7521694
diff --git a/graphics/p5-Image-ExifTool/pkg-plist b/graphics/p5-Image-ExifTool/pkg-plist
index 70d1dac84783..d58782211667 100644
--- a/graphics/p5-Image-ExifTool/pkg-plist
+++ b/graphics/p5-Image-ExifTool/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/p5-Imager/Makefile b/graphics/p5-Imager/Makefile
index 06e55282d914..984100eec84d 100644
--- a/graphics/p5-Imager/Makefile
+++ b/graphics/p5-Imager/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Imager
-PORTVERSION= 1.028
+PORTVERSION= 1.029
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
diff --git a/graphics/p5-Imager/distinfo b/graphics/p5-Imager/distinfo
index bde3e5ac8fec..37beaecae0a1 100644
--- a/graphics/p5-Imager/distinfo
+++ b/graphics/p5-Imager/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750182957
-SHA256 (Imager-1.028.tar.gz) = 5641c812e6083625dac8b2047eb5b0910b7bd007f7c6d3117043b299fce39972
-SIZE (Imager-1.028.tar.gz) = 1341838
+TIMESTAMP = 1759774957
+SHA256 (Imager-1.029.tar.gz) = ff89a9b36b38e24563c538ef3792d3fffdc4b38978662c394e593ead1ca92887
+SIZE (Imager-1.029.tar.gz) = 1344274
diff --git a/graphics/partio/Makefile b/graphics/partio/Makefile
index 01cecefb7912..f6a57ab8ed62 100644
--- a/graphics/partio/Makefile
+++ b/graphics/partio/Makefile
@@ -1,9 +1,12 @@
PORTNAME= partio
-PORTVERSION= 1.14.6
-PORTREVISION= 3
+PORTVERSION= 1.19.2
DISTVERSIONPREFIX= v
CATEGORIES= graphics math
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES= 73b02b28bf19b69756349441a24b97530cd9f06b.patch:-p1 \
+ 47c81dbdc37e8dccedad9fd68c0edfc2dc8a73ab.patch:-p1
+
MAINTAINER= danfe@FreeBSD.org
COMMENT= C++ library for particle I/O and manipulation
WWW= http://partio.us/
@@ -13,7 +16,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= swig:devel/swig
-USES= cmake compiler:c++11-lang gl python:run shebangfix xorg
+USES= cmake compiler:c++14-lang gl python:run,test shebangfix xorg
SHEBANG_FILES= src/tools/partedit.py src/tools/partinspect.py \
src/tools/partjson.py
USE_GL= gl glu glut
@@ -41,6 +44,7 @@ PYQT_USE= PYQT=pyqt5
PYQT_PLIST_FILES= bin/partedit bin/partinspect
TEST_LIB_DEPENDS= libgtest.so:devel/googletest
+TEST_TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR}
TEST_CMAKE_ON= -DPARTIO_GTEST_ENABLED:BOOL=ON
TEST_VARS= SHEBANG_FILES+="src/tests/testpartio.py \
src/tests/testpartjson.py"
diff --git a/graphics/partio/distinfo b/graphics/partio/distinfo
index 697b7c5bbb0f..5688814fa516 100644
--- a/graphics/partio/distinfo
+++ b/graphics/partio/distinfo
@@ -1,3 +1,7 @@
-TIMESTAMP = 1623084225
-SHA256 (wdas-partio-v1.14.6_GH0.tar.gz) = 53a5754d6b2fc3e184953d985c233118ef0ab87169f34e3aec4a7e6d20cd9bd4
-SIZE (wdas-partio-v1.14.6_GH0.tar.gz) = 336527
+TIMESTAMP = 1740174738
+SHA256 (wdas-partio-v1.19.2_GH0.tar.gz) = b59fbc8e64561368f0e2f94ae2f3f2083babfc32ff7ae97e833ab15df4588ade
+SIZE (wdas-partio-v1.19.2_GH0.tar.gz) = 338761
+SHA256 (73b02b28bf19b69756349441a24b97530cd9f06b.patch) = 7bd098f37c5d959c62455e5238f62655d9297e98ce55764f3273f164f2eb3bf5
+SIZE (73b02b28bf19b69756349441a24b97530cd9f06b.patch) = 1320
+SHA256 (47c81dbdc37e8dccedad9fd68c0edfc2dc8a73ab.patch) = f452b778f69d8834fd871d16ec38a93bff2039d87abb5db2e37074f693095c82
+SIZE (47c81dbdc37e8dccedad9fd68c0edfc2dc8a73ab.patch) = 2658
diff --git a/graphics/partio/files/patch-src_tests_CMakeLists.txt b/graphics/partio/files/patch-src_tests_CMakeLists.txt
index 8d2bba3f4399..034508c85761 100644
--- a/graphics/partio/files/patch-src_tests_CMakeLists.txt
+++ b/graphics/partio/files/patch-src_tests_CMakeLists.txt
@@ -1,17 +1,19 @@
---- src/tests/CMakeLists.txt.orig 2021-06-07 16:43:45 UTC
+--- src/tests/CMakeLists.txt.orig 2025-01-28 22:44:08 UTC
+++ src/tests/CMakeLists.txt
-@@ -45,12 +45,12 @@ else()
+@@ -45,12 +45,14 @@ else()
${item} ${PARTIO_LIBRARIES} ${GTEST_LIB} Threads::Threads)
target_compile_definitions(${item} PRIVATE -DPARTIO_DATA_DIR="${PROJECT_SOURCE_DIR}/src/data")
target_link_directories(${item} PRIVATE ${GTEST_LINK_PATH})
- install(TARGETS ${item} DESTINATION ${CMAKE_INSTALL_PARTIO_TESTDIR})
add_test(NAME ${item} COMMAND ${item})
+ set_tests_properties(${item} PROPERTIES ENVIRONMENT
-+ "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/src/lib")
++ "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/src/lib")
endforeach(item)
foreach(item testpartjson testpartio)
- add_test(NAME ${item} COMMAND ${PYTHON_EXECUTABLE} -B ${CMAKE_CURRENT_SOURCE_DIR}/${item}.py)
+ add_test(NAME ${item} COMMAND ${Python_EXECUTABLE} -B ${CMAKE_CURRENT_SOURCE_DIR}/${item}.py)
- install(PROGRAMS ${item}.py DESTINATION ${CMAKE_INSTALL_PARTIO_TESTDIR} RENAME ${item})
++ set_tests_properties(${item} PROPERTIES ENVIRONMENT
++ "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/src/lib;PYTHONPATH=${PROJECT_BINARY_DIR}/src/py:${PROJECT_SOURCE_DIR}/src/tools")
endforeach(item)
endif()
diff --git a/graphics/partio/files/patch-src_tools_partedit.py b/graphics/partio/files/patch-src_tools_partedit.py
deleted file mode 100644
index 2e94e5fe088f..000000000000
--- a/graphics/partio/files/patch-src_tools_partedit.py
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/tools/partedit.py.orig 2021-10-18 09:08:43 UTC
-+++ src/tools/partedit.py
-@@ -72,9 +72,7 @@ def getAttrs(numAttributesFunc, attributeInfoFunc, sor
- numAttr = numAttributesFunc()
-
- nameToIndex = {attributeInfoFunc(anum).name:anum for anum in range(numAttr)}
-- names = nameToIndex.keys()
-- if sort:
-- names.sort()
-+ names = sorted(nameToIndex) if sort else nameToIndex.keys()
-
- id_offset = 0
- for name in names:
diff --git a/graphics/partio/pkg-plist b/graphics/partio/pkg-plist
index 093600bc8d05..d83f0ddecb92 100644
--- a/graphics/partio/pkg-plist
+++ b/graphics/partio/pkg-plist
@@ -9,7 +9,7 @@ include/PartioIterator.h
include/PartioVec3.h
lib/libpartio.so
lib/libpartio.so.1
-lib/libpartio.so.1.14.6
+lib/libpartio.so.1.19.2
%%PYTHON_SITELIBDIR%%/_partio.so
%%PYTHON_SITELIBDIR%%/partedit.py
%%PYTHON_SITELIBDIR%%/partinspect.py
diff --git a/graphics/pastel/Makefile b/graphics/pastel/Makefile
index 5b6880ca1777..984e4c650eec 100644
--- a/graphics/pastel/Makefile
+++ b/graphics/pastel/Makefile
@@ -1,12 +1,12 @@
PORTNAME= pastel
DISTVERSIONPREFIX= v
-DISTVERSION= 0.9.0
-PORTREVISION= 24
+DISTVERSION= 0.11.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= lcook@FreeBSD.org
COMMENT= Command-line tool to generate, analyze, convert and manipulate colors
-WWW= https://github.com/sharkdp/pastel
+WWW= https://github.com/sharkdp/pastel/
LICENSE= APACHE20 MIT
LICENSE_COMB= dual
@@ -16,113 +16,18 @@ LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT
USES= cargo shebangfix
USE_GITHUB= yes
GH_ACCOUNT= sharkdp
-SHEBANG_FILES= doc/demo-scripts/gradient.sh
-CARGO_CRATES= aho-corasick-0.7.18 \
- approx-0.5.1 \
- assert_cmd-2.0.4 \
- atty-0.2.14 \
- autocfg-1.1.0 \
- bitflags-1.3.2 \
- bstr-0.2.17 \
- bumpalo-3.9.1 \
- cast-0.2.7 \
- cfg-if-1.0.0 \
- clap-2.34.0 \
- clap-3.1.18 \
- clap_complete-3.1.4 \
- clap_lex-0.2.0 \
- criterion-0.3.5 \
- criterion-plot-0.4.4 \
- crossbeam-channel-0.5.4 \
- crossbeam-deque-0.8.1 \
- crossbeam-epoch-0.9.8 \
- crossbeam-utils-0.8.8 \
- csv-1.1.6 \
- csv-core-0.1.10 \
- difflib-0.4.0 \
- doc-comment-0.3.3 \
- either-1.6.1 \
- getrandom-0.2.6 \
- half-1.8.2 \
- hashbrown-0.11.2 \
- hermit-abi-0.1.19 \
- indexmap-1.8.1 \
- itertools-0.10.3 \
- itoa-0.4.8 \
- itoa-1.0.2 \
- js-sys-0.3.57 \
- lazy_static-1.4.0 \
- libc-0.2.126 \
- log-0.4.17 \
- memchr-2.5.0 \
- memoffset-0.6.5 \
- minimal-lexical-0.2.1 \
- nom-7.1.1 \
- num-traits-0.2.15 \
- num_cpus-1.13.1 \
- once_cell-1.12.0 \
- oorandom-11.1.3 \
- os_str_bytes-6.1.0 \
- output_vt100-0.1.3 \
- plotters-0.3.1 \
- plotters-backend-0.3.2 \
- plotters-svg-0.3.1 \
- ppv-lite86-0.2.16 \
- predicates-2.1.1 \
- predicates-core-1.0.3 \
- predicates-tree-1.0.5 \
- proc-macro2-1.0.39 \
- quote-1.0.18 \
- rand-0.8.5 \
- rand_chacha-0.3.1 \
- rand_core-0.6.3 \
- rand_xoshiro-0.6.0 \
- rayon-1.5.3 \
- rayon-core-1.9.3 \
- regex-1.5.6 \
- regex-automata-0.1.10 \
- regex-syntax-0.6.26 \
- rustc_version-0.4.0 \
- ryu-1.0.10 \
- same-file-1.0.6 \
- scopeguard-1.1.0 \
- semver-1.0.9 \
- serde-1.0.137 \
- serde_cbor-0.11.2 \
- serde_derive-1.0.137 \
- serde_json-1.0.81 \
- strsim-0.10.0 \
- syn-1.0.95 \
- termcolor-1.1.3 \
- terminal_size-0.1.17 \
- termtree-0.2.4 \
- textwrap-0.11.0 \
- textwrap-0.15.0 \
- tinytemplate-1.2.1 \
- unicode-ident-1.0.0 \
- unicode-width-0.1.9 \
- wait-timeout-0.2.0 \
- walkdir-2.3.2 \
- wasi-0.10.2+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.80 \
- wasm-bindgen-backend-0.2.80 \
- wasm-bindgen-macro-0.2.80 \
- wasm-bindgen-macro-support-0.2.80 \
- wasm-bindgen-shared-0.2.80 \
- web-sys-0.3.57 \
- winapi-0.3.9 \
- winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.5 \
- winapi-x86_64-pc-windows-gnu-0.4.0
+SHEBANG_FILES= doc/demo-scripts/gradient.sh
PLIST_FILES= bin/${PORTNAME}
-DOCS= doc/colorcheck.md doc/colorcheck.png \
- doc/demo-scripts/gradient.sh doc/pastel.gif README.md
+
PORTDOCS= ${DOCS:T}
OPTIONS_DEFINE= DOCS
+DOCS= doc/colorcheck.md doc/colorcheck.png \
+ doc/demo-scripts/gradient.sh doc/pastel.gif README.md
+
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}
diff --git a/graphics/pastel/Makefile.crates b/graphics/pastel/Makefile.crates
new file mode 100644
index 000000000000..54b22298f326
--- /dev/null
+++ b/graphics/pastel/Makefile.crates
@@ -0,0 +1,124 @@
+CARGO_CRATES= aho-corasick-1.1.3 \
+ anes-0.1.6 \
+ anstream-0.6.20 \
+ anstyle-1.0.10 \
+ anstyle-parse-0.2.7 \
+ anstyle-query-1.1.4 \
+ anstyle-wincon-3.0.10 \
+ approx-0.5.1 \
+ assert_cmd-2.0.17 \
+ atty-0.2.14 \
+ autocfg-1.4.0 \
+ bitflags-2.9.0 \
+ bstr-1.11.3 \
+ bumpalo-3.17.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-4.5.31 \
+ clap_builder-4.5.31 \
+ clap_complete-4.5.58 \
+ clap_lex-0.7.4 \
+ clap_mangen-0.2.29 \
+ colorchoice-1.0.4 \
+ criterion-0.7.0 \
+ criterion-plot-0.6.0 \
+ crossbeam-deque-0.8.6 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.21 \
+ crunchy-0.2.3 \
+ difflib-0.4.0 \
+ doc-comment-0.3.3 \
+ either-1.14.0 \
+ errno-0.3.10 \
+ getrandom-0.3.1 \
+ half-2.4.1 \
+ hermit-abi-0.1.19 \
+ is_terminal_polyfill-1.70.1 \
+ itertools-0.13.0 \
+ itoa-1.0.14 \
+ js-sys-0.3.77 \
+ libc-0.2.170 \
+ linux-raw-sys-0.9.4 \
+ log-0.4.26 \
+ memchr-2.7.4 \
+ minimal-lexical-0.2.1 \
+ nom-7.1.3 \
+ num-traits-0.2.19 \
+ once_cell-1.21.3 \
+ once_cell_polyfill-1.70.1 \
+ oorandom-11.1.4 \
+ output_vt100-0.1.3 \
+ plotters-0.3.7 \
+ plotters-backend-0.3.7 \
+ plotters-svg-0.3.7 \
+ ppv-lite86-0.2.20 \
+ predicates-3.1.3 \
+ predicates-core-1.0.9 \
+ predicates-tree-1.0.12 \
+ proc-macro2-1.0.93 \
+ quote-1.0.38 \
+ rand-0.9.2 \
+ rand_chacha-0.9.0 \
+ rand_core-0.9.3 \
+ rand_xoshiro-0.7.0 \
+ rayon-1.10.0 \
+ rayon-core-1.12.1 \
+ regex-1.11.3 \
+ regex-automata-0.4.11 \
+ regex-syntax-0.8.5 \
+ roff-0.2.2 \
+ rustix-1.0.8 \
+ rustversion-1.0.19 \
+ ryu-1.0.19 \
+ same-file-1.0.6 \
+ serde-1.0.218 \
+ serde_derive-1.0.218 \
+ serde_json-1.0.139 \
+ strsim-0.11.1 \
+ syn-2.0.98 \
+ terminal_size-0.4.3 \
+ termtree-0.5.1 \
+ tinytemplate-1.2.1 \
+ unicode-ident-1.0.17 \
+ utf8parse-0.2.2 \
+ wait-timeout-0.2.1 \
+ walkdir-2.5.0 \
+ wasi-0.13.3+wasi-0.2.2 \
+ wasm-bindgen-0.2.100 \
+ wasm-bindgen-backend-0.2.100 \
+ wasm-bindgen-macro-0.2.100 \
+ wasm-bindgen-macro-support-0.2.100 \
+ wasm-bindgen-shared-0.2.100 \
+ web-sys-0.3.77 \
+ 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-link-0.1.3 \
+ windows-sys-0.59.0 \
+ windows-sys-0.60.2 \
+ windows-targets-0.52.6 \
+ windows-targets-0.53.3 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_gnullvm-0.53.0 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_aarch64_msvc-0.53.0 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnu-0.53.0 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_gnullvm-0.53.0 \
+ windows_i686_msvc-0.52.6 \
+ windows_i686_msvc-0.53.0 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnu-0.53.0 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_gnullvm-0.53.0 \
+ windows_x86_64_msvc-0.52.6 \
+ windows_x86_64_msvc-0.53.0 \
+ wit-bindgen-rt-0.33.0 \
+ zerocopy-0.7.35 \
+ zerocopy-derive-0.7.35
diff --git a/graphics/pastel/distinfo b/graphics/pastel/distinfo
index 3db370be1442..de15ee742d38 100644
--- a/graphics/pastel/distinfo
+++ b/graphics/pastel/distinfo
@@ -1,197 +1,251 @@
-TIMESTAMP = 1671089626
-SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
-SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
+TIMESTAMP = 1762217523
+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/anstream-0.6.20.crate) = 3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192
+SIZE (rust/crates/anstream-0.6.20.crate) = 28797
+SHA256 (rust/crates/anstyle-1.0.10.crate) = 55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9
+SIZE (rust/crates/anstyle-1.0.10.crate) = 15725
+SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2
+SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707
+SHA256 (rust/crates/anstyle-query-1.1.4.crate) = 9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2
+SIZE (rust/crates/anstyle-query-1.1.4.crate) = 10192
+SHA256 (rust/crates/anstyle-wincon-3.0.10.crate) = 3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a
+SIZE (rust/crates/anstyle-wincon-3.0.10.crate) = 12558
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.17.crate) = 2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66
+SIZE (rust/crates/assert_cmd-2.0.17.crate) = 26914
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/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/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
+SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/bitflags-2.9.0.crate) = 5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd
+SIZE (rust/crates/bitflags-2.9.0.crate) = 47654
+SHA256 (rust/crates/bstr-1.11.3.crate) = 531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0
+SIZE (rust/crates/bstr-1.11.3.crate) = 351536
+SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf
+SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975
+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-4.5.31.crate) = 027bb0d98429ae334a8698531da7077bdf906419543a35a55c2cb1b66437d767
+SIZE (rust/crates/clap-4.5.31.crate) = 56084
+SHA256 (rust/crates/clap_builder-4.5.31.crate) = 5589e0cba072e0f3d23791efac0fd8627b49c829c196a492e88168e6a669d863
+SIZE (rust/crates/clap_builder-4.5.31.crate) = 168303
+SHA256 (rust/crates/clap_complete-4.5.58.crate) = 75bf0b32ad2e152de789bb635ea4d3078f6b838ad7974143e99b99f45a04af4a
+SIZE (rust/crates/clap_complete-4.5.58.crate) = 48645
+SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
+SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
+SHA256 (rust/crates/clap_mangen-0.2.29.crate) = 27b4c3c54b30f0d9adcb47f25f61fcce35c4dd8916638c6b82fbd5f4fb4179e2
+SIZE (rust/crates/clap_mangen-0.2.29.crate) = 16080
+SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75
+SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196
+SHA256 (rust/crates/criterion-0.7.0.crate) = e1c047a62b0cc3e145fa84415a3191f628e980b194c2755aa12300a4e6cbd928
+SIZE (rust/crates/criterion-0.7.0.crate) = 119908
+SHA256 (rust/crates/criterion-plot-0.6.0.crate) = 9b1bcc0dc7dfae599d84ad0b1a55f80cde8af3725da8313b528da95ef783e338
+SIZE (rust/crates/criterion-plot-0.6.0.crate) = 24495
+SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
+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.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crunchy-0.2.3.crate) = 43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929
+SIZE (rust/crates/crunchy-0.2.3.crate) = 3775
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.14.0.crate) = b7914353092ddf589ad78f25c5c1c21b7f80b0ff8621e7c814c3485b5306da9d
+SIZE (rust/crates/either-1.14.0.crate) = 19890
+SHA256 (rust/crates/errno-0.3.10.crate) = 33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d
+SIZE (rust/crates/errno-0.3.10.crate) = 11824
+SHA256 (rust/crates/getrandom-0.3.1.crate) = 43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8
+SIZE (rust/crates/getrandom-0.3.1.crate) = 42449
+SHA256 (rust/crates/half-2.4.1.crate) = 6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888
+SIZE (rust/crates/half-2.4.1.crate) = 50892
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/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
+SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
+SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186
+SIZE (rust/crates/itertools-0.13.0.crate) = 146261
+SHA256 (rust/crates/itoa-1.0.14.crate) = d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674
+SIZE (rust/crates/itoa-1.0.14.crate) = 11210
+SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f
+SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
+SHA256 (rust/crates/libc-0.2.170.crate) = 875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828
+SIZE (rust/crates/libc-0.2.170.crate) = 760076
+SHA256 (rust/crates/linux-raw-sys-0.9.4.crate) = cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12
+SIZE (rust/crates/linux-raw-sys-0.9.4.crate) = 2311088
+SHA256 (rust/crates/log-0.4.26.crate) = 30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e
+SIZE (rust/crates/log-0.4.26.crate) = 47022
+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.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad
+SIZE (rust/crates/once_cell_polyfill-1.70.1.crate) = 7510
+SHA256 (rust/crates/oorandom-11.1.4.crate) = b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9
+SIZE (rust/crates/oorandom-11.1.4.crate) = 10201
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/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_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/plotters-0.3.7.crate) = 5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747
+SIZE (rust/crates/plotters-0.3.7.crate) = 149031
+SHA256 (rust/crates/plotters-backend-0.3.7.crate) = df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a
+SIZE (rust/crates/plotters-backend-0.3.7.crate) = 13709
+SHA256 (rust/crates/plotters-svg-0.3.7.crate) = 51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670
+SIZE (rust/crates/plotters-svg-0.3.7.crate) = 6715
+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.3.crate) = a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573
+SIZE (rust/crates/predicates-3.1.3.crate) = 24063
+SHA256 (rust/crates/predicates-core-1.0.9.crate) = 727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa
+SIZE (rust/crates/predicates-core-1.0.9.crate) = 8618
+SHA256 (rust/crates/predicates-tree-1.0.12.crate) = 72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c
+SIZE (rust/crates/predicates-tree-1.0.12.crate) = 8392
+SHA256 (rust/crates/proc-macro2-1.0.93.crate) = 60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99
+SIZE (rust/crates/proc-macro2-1.0.93.crate) = 52388
+SHA256 (rust/crates/quote-1.0.38.crate) = 0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc
+SIZE (rust/crates/quote-1.0.38.crate) = 31252
+SHA256 (rust/crates/rand-0.9.2.crate) = 6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1
+SIZE (rust/crates/rand-0.9.2.crate) = 99930
+SHA256 (rust/crates/rand_chacha-0.9.0.crate) = d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb
+SIZE (rust/crates/rand_chacha-0.9.0.crate) = 18258
+SHA256 (rust/crates/rand_core-0.9.3.crate) = 99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38
+SIZE (rust/crates/rand_core-0.9.3.crate) = 24543
+SHA256 (rust/crates/rand_xoshiro-0.7.0.crate) = f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41
+SIZE (rust/crates/rand_xoshiro-0.7.0.crate) = 18189
+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.11.3.crate) = 8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c
+SIZE (rust/crates/regex-1.11.3.crate) = 163275
+SHA256 (rust/crates/regex-automata-0.4.11.crate) = 833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad
+SIZE (rust/crates/regex-automata-0.4.11.crate) = 622880
+SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c
+SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
+SHA256 (rust/crates/roff-0.2.2.crate) = 88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3
+SIZE (rust/crates/roff-0.2.2.crate) = 11648
+SHA256 (rust/crates/rustix-1.0.8.crate) = 11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8
+SIZE (rust/crates/rustix-1.0.8.crate) = 416688
+SHA256 (rust/crates/rustversion-1.0.19.crate) = f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4
+SIZE (rust/crates/rustversion-1.0.19.crate) = 20616
+SHA256 (rust/crates/ryu-1.0.19.crate) = 6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd
+SIZE (rust/crates/ryu-1.0.19.crate) = 48770
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/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/serde-1.0.218.crate) = e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60
+SIZE (rust/crates/serde-1.0.218.crate) = 78968
+SHA256 (rust/crates/serde_derive-1.0.218.crate) = f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b
+SIZE (rust/crates/serde_derive-1.0.218.crate) = 57782
+SHA256 (rust/crates/serde_json-1.0.139.crate) = 44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6
+SIZE (rust/crates/serde_json-1.0.139.crate) = 154839
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/syn-2.0.98.crate) = 36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1
+SIZE (rust/crates/syn-2.0.98.crate) = 297807
+SHA256 (rust/crates/terminal_size-0.4.3.crate) = 60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0
+SIZE (rust/crates/terminal_size-0.4.3.crate) = 10686
+SHA256 (rust/crates/termtree-0.5.1.crate) = 8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683
+SIZE (rust/crates/termtree-0.5.1.crate) = 8498
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/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/unicode-ident-1.0.17.crate) = 00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe
+SIZE (rust/crates/unicode-ident-1.0.17.crate) = 47704
+SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
+SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
+SHA256 (rust/crates/wait-timeout-0.2.1.crate) = 09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11
+SIZE (rust/crates/wait-timeout-0.2.1.crate) = 11435
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2
+SIZE (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 136754
+SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
+SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
+SIZE (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 32111
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407
+SIZE (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 9663
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 26243
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d
+SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570
+SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2
+SIZE (rust/crates/web-sys-0.3.77.crate) = 638246
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-link-0.1.3.crate) = 5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a
+SIZE (rust/crates/windows-link-0.1.3.crate) = 6154
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
+SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows-targets-0.53.3.crate) = d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91
+SIZE (rust/crates/windows-targets-0.53.3.crate) = 7099
+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_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443
+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_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c
+SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446
+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_gnu-0.53.0.crate) = c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3
+SIZE (rust/crates/windows_i686_gnu-0.53.0.crate) = 936973
+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_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11
+SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056
+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_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d
+SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450
+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_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba
+SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585
+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_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434
+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/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486
+SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400
+SHA256 (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c
+SIZE (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3357
+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.11.0_GH0.tar.gz) = 98639ae6539da5a4c20993daa559ca2d19dde63b601bcb29bb0cebbf56b1ac08
+SIZE (sharkdp-pastel-v0.11.0_GH0.tar.gz) = 3236693
diff --git a/graphics/pcl-pointclouds/Makefile b/graphics/pcl-pointclouds/Makefile
index 773481c48ddc..a15de40ffbfc 100644
--- a/graphics/pcl-pointclouds/Makefile
+++ b/graphics/pcl-pointclouds/Makefile
@@ -1,7 +1,6 @@
PORTNAME= pcl
DISTVERSIONPREFIX= pcl-
-DISTVERSION= 1.15.0
-PORTREVISION= 2
+DISTVERSION= 1.15.1
CATEGORIES= graphics math
#MASTER_SITES= https://github.com/PointCloudLibrary/${PORTNAME}/releases/download/${PORTNAME}-${DISTVERSION}/
PKGNAMESUFFIX= -pointclouds
@@ -20,7 +19,7 @@ BROKEN_i386= undefined reference to `__atomic_load'
NOT_FOR_ARCHS= armv6 armv7
NOT_FOR_ARCHS_REASON= common/include/pcl/pcl_macros.h:420:4: error: aligned_malloc not supported on your platform
-LIB_DEPENDS= libboost_system.so:devel/boost-libs \
+LIB_DEPENDS= libboost_thread.so:devel/boost-libs \
libcjson.so:devel/libcjson \
libflann_cpp.so:math/flann \
libfreetype.so:print/freetype2 \
@@ -42,6 +41,7 @@ GH_TAGNAME= release-1.11.0:gtest
CMAKE_TESTING_ON= BUILD_global_tests # 6 tests are known to fail: https://github.com/PointCloudLibrary/pcl/issues/5127
CMAKE_TESTING_TARGET= tests
+CMAKE_ON= BUILD_tools
CMAKE_ARGS= -DGTEST_SRC_DIR=${WRKSRC_gtest}/googletest -DGTEST_INCLUDE_DIR=${WRKSRC_gtest}/googletest/include
#WRKSRC= ${WRKDIR}/${PORTNAME}
@@ -51,7 +51,7 @@ PLIST_SUB= SHL3=${DISTVERSION:R}.1.99 SHL2=${DISTVERSION:R}
DATADIR= ${PREFIX}/share/${PORTNAME}-${DISTVERSION:R} # match the directory where the project installs .cmake files
-OPTIONS_DEFINE= OPENGL PNG QHULL QT5 VTK
+OPTIONS_DEFINE= OPENGL PNG QHULL VTK
OPTIONS_DEFAULT= PNG VTK # QHULL is disabled due to conflicts qhull8 vs. qhull
OPTIONS_SUB= yes
@@ -66,18 +66,20 @@ QHULL_DESC= Include convex-hull operations
QHULL_CMAKE_BOOL= WITH_QHULL
QHULL_LIB_DEPENDS= libqhull_r.so:math/qhull
-QT5_CMAKE_ON= -DWITH_QT=QT5
-QT5_CMAKE_OFF= -DWITH_QT=NO
-QT5_BROKEN= WITH_QT doesn't do anything, should be used by apps, but apps is also broken: see https://github.com/PointCloudLibrary/pcl/issues/2642
-
VTK_DESC= Build VTK visualizations
VTK_USES= gl qt:5
-VTK_USE= GL=gl,glu QT=core,gui,opengl,widgets,buildtools:build,qmake:build
+VTK_USE= GL=gl,glu QT=core,concurrent,opengl,widgets,buildtools:build,qmake:build
VTK_CMAKE_BOOL= WITH_VTK
-VTK_CMAKE_ON= -DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-${VTK_VER}
-VTK_LIB_DEPENDS= libvtkCommonCore-${VTK_VER}.so:math/vtk${VTK_VER:R}
+VTK_CMAKE_ON= -DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-${VTK_VER} -DWITH_QT=QT5
+VTK_CMAKE_OFF= -DWITH_QT=NO
+VTK_LIB_DEPENDS= libvtkCommonCore-${VTK_VER}.so:math/vtk${VTK_VER:R} \
+ libpng16.so:graphics/png
-# tests as of 1.15.0: 100% tests passed, 0 tests failed out of 133
+# tests as of 1.15.1: 98% tests passed, 2 tests failed out of 133, see https://github.com/PointCloudLibrary/pcl/issues/6373
.include <../../math/vtk9/Makefile.version>
+
+post-patch:
+ @${REINPLACE_CMD} -e '/MODULES/s| system||' ${WRKSRC}/cmake/pcl_find_boost.cmake
+
.include <bsd.port.mk>
diff --git a/graphics/pcl-pointclouds/distinfo b/graphics/pcl-pointclouds/distinfo
index 9339bd801b52..528a7f1458f1 100644
--- a/graphics/pcl-pointclouds/distinfo
+++ b/graphics/pcl-pointclouds/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1740555438
-SHA256 (pcl-pointclouds/1.15.0/PointCloudLibrary-pcl-pcl-1.15.0_GH0.tar.gz) = e90c981c21e89c45201c5083db8308e099f34c1782f92fd65a0a4eb0b72c6fbf
-SIZE (pcl-pointclouds/1.15.0/PointCloudLibrary-pcl-pcl-1.15.0_GH0.tar.gz) = 68683056
-SHA256 (pcl-pointclouds/1.15.0/google-googletest-release-1.11.0_GH0.tar.gz) = b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5
-SIZE (pcl-pointclouds/1.15.0/google-googletest-release-1.11.0_GH0.tar.gz) = 886330
+TIMESTAMP = 1764209562
+SHA256 (pcl-pointclouds/1.15.1/PointCloudLibrary-pcl-pcl-1.15.1_GH0.tar.gz) = e1d862c7b6bd27a45884a825a2e509bfcbd4561307d5bfe17ce5c8a3d94a6c29
+SIZE (pcl-pointclouds/1.15.1/PointCloudLibrary-pcl-pcl-1.15.1_GH0.tar.gz) = 68700306
+SHA256 (pcl-pointclouds/1.15.1/google-googletest-release-1.11.0_GH0.tar.gz) = b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5
+SIZE (pcl-pointclouds/1.15.1/google-googletest-release-1.11.0_GH0.tar.gz) = 886330
diff --git a/graphics/pcl-pointclouds/files/patch-outofcore_CMakeLists.txt b/graphics/pcl-pointclouds/files/patch-outofcore_CMakeLists.txt
new file mode 100644
index 000000000000..a65180877d7b
--- /dev/null
+++ b/graphics/pcl-pointclouds/files/patch-outofcore_CMakeLists.txt
@@ -0,0 +1,15 @@
+--- outofcore/CMakeLists.txt.orig 2025-11-27 02:13:42 UTC
++++ outofcore/CMakeLists.txt
+@@ -76,10 +76,10 @@ if(BUILD_visualization)
+
+ if(BUILD_visualization)
+ PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME} SOURCES ${srcs} ${incs} ${impl_incs} ${visualization_incs})
+- target_link_libraries("${LIB_NAME}" pcl_common pcl_visualization Boost::system Boost::filesystem)
++ target_link_libraries("${LIB_NAME}" pcl_common pcl_visualization Boost::filesystem)
+ else()
+ PCL_ADD_LIBRARY(${LIB_NAME} COMPONENT ${SUBSYS_NAME} SOURCES ${srcs} ${incs} ${impl_incs})
+- target_link_libraries("${LIB_NAME}" pcl_common Boost::system Boost::filesystem)
++ target_link_libraries("${LIB_NAME}" pcl_common Boost::filesystem)
+ endif()
+ if(HAVE_CJSON)
+ target_link_libraries("${LIB_NAME}" ${CJSON_LIBRARIES})
diff --git a/graphics/pcl-pointclouds/pkg-plist b/graphics/pcl-pointclouds/pkg-plist
index f810724f5dee..0da3a15b92ba 100644
--- a/graphics/pcl-pointclouds/pkg-plist
+++ b/graphics/pcl-pointclouds/pkg-plist
@@ -46,6 +46,9 @@ bin/pcl_normal_estimation
%%VTK%%bin/pcl_obj_rec_ransac_scene_opps
%%VTK%%bin/pcl_octree_viewer
bin/pcl_outlier_removal
+%%VTK%%bin/pcl_outofcore_print
+%%VTK%%bin/pcl_outofcore_process
+%%VTK%%bin/pcl_outofcore_viewer
bin/pcl_passthrough_filter
bin/pcl_pcd2ply
%%VTK%%bin/pcl_pcd2png
@@ -783,6 +786,7 @@ include/pcl-%%SHL2%%/pcl/search/impl/kdtree.hpp
include/pcl-%%SHL2%%/pcl/search/impl/organized.hpp
include/pcl-%%SHL2%%/pcl/search/impl/search.hpp
include/pcl-%%SHL2%%/pcl/search/kdtree.h
+include/pcl-%%SHL2%%/pcl/search/kdtree_nanoflann.h
include/pcl-%%SHL2%%/pcl/search/octree.h
include/pcl-%%SHL2%%/pcl/search/organized.h
include/pcl-%%SHL2%%/pcl/search/pcl_search.h
@@ -907,12 +911,12 @@ include/pcl-%%SHL2%%/pcl/surface/reconstruction.h
include/pcl-%%SHL2%%/pcl/surface/simplification_remove_unused_vertices.h
include/pcl-%%SHL2%%/pcl/surface/surfel_smoothing.h
include/pcl-%%SHL2%%/pcl/surface/texture_mapping.h
-include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk.h
-include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk_mesh_quadric_decimation.h
-include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk_mesh_smoothing_laplacian.h
-include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk_mesh_smoothing_windowed_sinc.h
-include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk_mesh_subdivision.h
-include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk_utils.h
+%%VTK%%include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk.h
+%%VTK%%include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk_mesh_quadric_decimation.h
+%%VTK%%include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk_mesh_smoothing_laplacian.h
+%%VTK%%include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk_mesh_smoothing_windowed_sinc.h
+%%VTK%%include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk_mesh_subdivision.h
+%%VTK%%include/pcl-%%SHL2%%/pcl/surface/vtk_smoothing/vtk_utils.h
include/pcl-%%SHL2%%/pcl/tracking/approx_nearest_pair_point_cloud_coherence.h
include/pcl-%%SHL2%%/pcl/tracking/coherence.h
include/pcl-%%SHL2%%/pcl/tracking/distance_coherence.h
@@ -984,64 +988,64 @@ include/pcl-%%SHL2%%/pcl/types.h
%%VTK%%include/pcl-%%SHL2%%/pcl/visualization/window.h
lib/libpcl_common.so
lib/libpcl_common.so.%%SHL2%%
-lib/libpcl_common.so.%%SHL2%%.0
+lib/libpcl_common.so.%%SHL2%%.1
lib/libpcl_features.so
lib/libpcl_features.so.%%SHL2%%
-lib/libpcl_features.so.%%SHL2%%.0
+lib/libpcl_features.so.%%SHL2%%.1
lib/libpcl_filters.so
lib/libpcl_filters.so.%%SHL2%%
-lib/libpcl_filters.so.%%SHL2%%.0
+lib/libpcl_filters.so.%%SHL2%%.1
lib/libpcl_io.so
lib/libpcl_io.so.%%SHL2%%
-lib/libpcl_io.so.%%SHL2%%.0
+lib/libpcl_io.so.%%SHL2%%.1
lib/libpcl_io_ply.so
lib/libpcl_io_ply.so.%%SHL2%%
-lib/libpcl_io_ply.so.%%SHL2%%.0
+lib/libpcl_io_ply.so.%%SHL2%%.1
lib/libpcl_kdtree.so
lib/libpcl_kdtree.so.%%SHL2%%
-lib/libpcl_kdtree.so.%%SHL2%%.0
+lib/libpcl_kdtree.so.%%SHL2%%.1
lib/libpcl_keypoints.so
lib/libpcl_keypoints.so.%%SHL2%%
-lib/libpcl_keypoints.so.%%SHL2%%.0
+lib/libpcl_keypoints.so.%%SHL2%%.1
lib/libpcl_ml.so
lib/libpcl_ml.so.%%SHL2%%
-lib/libpcl_ml.so.%%SHL2%%.0
+lib/libpcl_ml.so.%%SHL2%%.1
lib/libpcl_octree.so
lib/libpcl_octree.so.%%SHL2%%
-lib/libpcl_octree.so.%%SHL2%%.0
+lib/libpcl_octree.so.%%SHL2%%.1
%%VTK%%lib/libpcl_outofcore.so
%%VTK%%lib/libpcl_outofcore.so.%%SHL2%%
-%%VTK%%lib/libpcl_outofcore.so.%%SHL2%%.0
+%%VTK%%lib/libpcl_outofcore.so.%%SHL2%%.1
%%VTK%%lib/libpcl_people.so
%%VTK%%lib/libpcl_people.so.%%SHL2%%
-%%VTK%%lib/libpcl_people.so.%%SHL2%%.0
+%%VTK%%lib/libpcl_people.so.%%SHL2%%.1
lib/libpcl_recognition.so
lib/libpcl_recognition.so.%%SHL2%%
-lib/libpcl_recognition.so.%%SHL2%%.0
+lib/libpcl_recognition.so.%%SHL2%%.1
lib/libpcl_registration.so
lib/libpcl_registration.so.%%SHL2%%
-lib/libpcl_registration.so.%%SHL2%%.0
+lib/libpcl_registration.so.%%SHL2%%.1
lib/libpcl_sample_consensus.so
lib/libpcl_sample_consensus.so.%%SHL2%%
-lib/libpcl_sample_consensus.so.%%SHL2%%.0
+lib/libpcl_sample_consensus.so.%%SHL2%%.1
lib/libpcl_search.so
lib/libpcl_search.so.%%SHL2%%
-lib/libpcl_search.so.%%SHL2%%.0
+lib/libpcl_search.so.%%SHL2%%.1
lib/libpcl_segmentation.so
lib/libpcl_segmentation.so.%%SHL2%%
-lib/libpcl_segmentation.so.%%SHL2%%.0
+lib/libpcl_segmentation.so.%%SHL2%%.1
lib/libpcl_stereo.so
lib/libpcl_stereo.so.%%SHL2%%
-lib/libpcl_stereo.so.%%SHL2%%.0
+lib/libpcl_stereo.so.%%SHL2%%.1
lib/libpcl_surface.so
lib/libpcl_surface.so.%%SHL2%%
-lib/libpcl_surface.so.%%SHL2%%.0
+lib/libpcl_surface.so.%%SHL2%%.1
lib/libpcl_tracking.so
lib/libpcl_tracking.so.%%SHL2%%
-lib/libpcl_tracking.so.%%SHL2%%.0
+lib/libpcl_tracking.so.%%SHL2%%.1
%%VTK%%lib/libpcl_visualization.so
%%VTK%%lib/libpcl_visualization.so.%%SHL2%%
-%%VTK%%lib/libpcl_visualization.so.%%SHL2%%.0
+%%VTK%%lib/libpcl_visualization.so.%%SHL2%%.1
libdata/pkgconfig/pcl_2d.pc
libdata/pkgconfig/pcl_common.pc
libdata/pkgconfig/pcl_features.pc
diff --git a/graphics/pdf2svg/Makefile b/graphics/pdf2svg/Makefile
index a676086d37b9..939636b1fd31 100644
--- a/graphics/pdf2svg/Makefile
+++ b/graphics/pdf2svg/Makefile
@@ -1,7 +1,7 @@
PORTNAME= pdf2svg
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.4
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= martin.dieringer@gmx.de
diff --git a/graphics/pdfpc/Makefile b/graphics/pdfpc/Makefile
index 281a46852c78..4067a71202b1 100644
--- a/graphics/pdfpc/Makefile
+++ b/graphics/pdfpc/Makefile
@@ -1,8 +1,8 @@
PORTNAME= pdfpc
+DISTVERSIONPREFIX= v
DISTVERSION= 4.7.0
+PORTREVISION= 3
CATEGORIES= graphics
-DISTVERSIONPREFIX= v
-PORTREVISION= 1
MAINTAINER= bapt@FreeBSD.org
COMMENT= Keynote-like multi-monitor presentation viewer
diff --git a/graphics/pear-Image_Color/Makefile b/graphics/pear-Image_Color/Makefile
index 18d5ab855654..8e560327cee1 100644
--- a/graphics/pear-Image_Color/Makefile
+++ b/graphics/pear-Image_Color/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Image_Color
-PORTVERSION= 1.0.6
+PORTVERSION= 1.0.7
CATEGORIES= graphics www pear
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/graphics/pear-Image_Color/distinfo b/graphics/pear-Image_Color/distinfo
index aefd9d424dfa..a71dc34fd3d4 100644
--- a/graphics/pear-Image_Color/distinfo
+++ b/graphics/pear-Image_Color/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1713033328
-SHA256 (PEAR/Image_Color-1.0.6.tgz) = 435fe85bd13a2f4d425b3711ebb04c80d756dfb4c11096e8cb3714efb191fe19
-SIZE (PEAR/Image_Color-1.0.6.tgz) = 10058
+TIMESTAMP = 1734289431
+SHA256 (PEAR/Image_Color-1.0.7.tgz) = a71b8194f2098105b25b83351ab2024120e6e872908249ede17e875484eaa97b
+SIZE (PEAR/Image_Color-1.0.7.tgz) = 10008
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/pecl-qrencode/Makefile b/graphics/pecl-qrencode/Makefile
index 74ca637aae10..e633ba3319d4 100644
--- a/graphics/pecl-qrencode/Makefile
+++ b/graphics/pecl-qrencode/Makefile
@@ -6,7 +6,7 @@ CATEGORIES= graphics pear
MAINTAINER= vanilla@FreeBSD.org
COMMENT= PECL extension for generate qrcode
-WWW= https://github.com/vanillahsu/pecl-qrencode
+WWW= https://github.com/embark-systems/pecl-qrencode
LICENSE= BSD2CLAUSE
@@ -15,7 +15,7 @@ LIB_DEPENDS= libqrencode.so:graphics/libqrencode \
USES= php:pecl
USE_GITHUB= yes
-GH_ACCOUNT= vanillahsu
+GH_ACCOUNT= embark-systems
GH_PROJECT= pecl-qrencode
.include <bsd.port.mk>
diff --git a/graphics/pecl-qrencode/distinfo b/graphics/pecl-qrencode/distinfo
index 72a40eac371c..cfd337f2f6b0 100644
--- a/graphics/pecl-qrencode/distinfo
+++ b/graphics/pecl-qrencode/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1685229474
-SHA256 (PECL/vanillahsu-pecl-qrencode-v0.11_GH0.tar.gz) = 0c4c9f219f35a486faa584b7815fe07925c6d1e44ca3578cd22426dc4bde9c81
-SIZE (PECL/vanillahsu-pecl-qrencode-v0.11_GH0.tar.gz) = 63316
+TIMESTAMP = 1758616409
+SHA256 (PECL/embark-systems-pecl-qrencode-v0.11_GH0.tar.gz) = 0c4c9f219f35a486faa584b7815fe07925c6d1e44ca3578cd22426dc4bde9c81
+SIZE (PECL/embark-systems-pecl-qrencode-v0.11_GH0.tar.gz) = 63316
diff --git a/graphics/pfstools/Makefile b/graphics/pfstools/Makefile
index 54d0e6e699c6..e51272d543f2 100644
--- a/graphics/pfstools/Makefile
+++ b/graphics/pfstools/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pfstools
DISTVERSION= 2.1.0
-PORTREVISION= 23
+PORTREVISION= 25
CATEGORIES= graphics
MASTER_SITES= SF
diff --git a/graphics/pgplot/Makefile b/graphics/pgplot/Makefile
index 68da1519bb6f..a1f2bcb6b46b 100644
--- a/graphics/pgplot/Makefile
+++ b/graphics/pgplot/Makefile
@@ -24,10 +24,14 @@ MAKE_JOBS_UNSAFE= yes
MAKE_ENV= SSP_CFLAGS=
SHEBANG_FILES= makehtml maketex
-FFLAGS+= -std=legacy
SUFFIXES= flib clib bin
+CFLAGS= -Wno-implicit-function-declaration
WRKSRC= ${WRKDIR}/${PORTNAME}
+# ld.bfd supports neither -z relro nor -z norelro on armv7
+BINUTILS_NO_MAKE_ENV_armv7= LD
+BINUTILS_NO_MAKE_ENV= ${BINUTILS_NO_MAKE_ENV_${ARCH}}
+
OPTIONS_DEFINE= DOCS EXAMPLES
.include <bsd.port.options.mk>
@@ -52,6 +56,12 @@ EXAMPLES= Makefile.demo cpg/cpgdemo.c examples/pgdemo*.f
PORTEXAMPLES= ${EXAMPLES:C|.*/||}
.endif
+.include <bsd.port.pre.mk>
+
+.if ${FORTRAN_DEFAULT} == gfortran
+FFLAGS+= -std=legacy
+.endif
+
post-patch:
@${REINPLACE_CMD} -e 's|png_ptr->jmpbuf|png_jmpbuf(png_ptr)|' \
${WRKSRC}/drivers/pndriv.c
@@ -98,4 +108,4 @@ check test: build
PGPLOT_DIR="${WRKSRC}" PGPLOT_DEV="/xwin" ${WRKSRC}/${DEMO}
.endif
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/graphics/photoqt/Makefile b/graphics/photoqt/Makefile
index ea80c347f073..de941da77df9 100644
--- a/graphics/photoqt/Makefile
+++ b/graphics/photoqt/Makefile
@@ -1,11 +1,11 @@
PORTNAME= photoqt
DISTVERSIONPREFIX= v
DISTVERSION= 3.4
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics
MAINTAINER= melanhit@gmail.com
-COMMENT= Simple, powerful and good looking QT5 image viewer
+COMMENT= Simple, powerful and good looking Qt5 image viewer
WWW= https://photoqt.org/
LICENSE= GPLv2+
diff --git a/graphics/phototonic/Makefile b/graphics/phototonic/Makefile
index aaaa1bf394c7..acaf3df998e2 100644
--- a/graphics/phototonic/Makefile
+++ b/graphics/phototonic/Makefile
@@ -1,6 +1,6 @@
PORTNAME= phototonic
DISTVERSIONPREFIX= v
-DISTVERSION= 3.0.0
+DISTVERSION= 3.1.0
CATEGORIES= graphics
MAINTAINER= eduardo@FreeBSD.org
diff --git a/graphics/phototonic/distinfo b/graphics/phototonic/distinfo
index 7d4b95c5d8b7..0416baa9dc40 100644
--- a/graphics/phototonic/distinfo
+++ b/graphics/phototonic/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745170300
-SHA256 (luebking-phototonic-v3.0.0_GH0.tar.gz) = e7015bbfd4e0d4f152f503e2e1ee7b698f048b5ad77e185716eb8da6d65fff91
-SIZE (luebking-phototonic-v3.0.0_GH0.tar.gz) = 923097
+TIMESTAMP = 1762249618
+SHA256 (luebking-phototonic-v3.1.0_GH0.tar.gz) = 034f6a100b7e4d3755e2d7320bf4685bc1d8e9a84f18737e143b61b29ff57aa3
+SIZE (luebking-phototonic-v3.1.0_GH0.tar.gz) = 1057308
diff --git a/graphics/phototonic/files/patch-phototonic.pro b/graphics/phototonic/files/patch-phototonic.pro
index a3d7ecd02ca6..ff9bab585ddc 100644
--- a/graphics/phototonic/files/patch-phototonic.pro
+++ b/graphics/phototonic/files/patch-phototonic.pro
@@ -1,4 +1,4 @@
---- phototonic.pro.orig 2025-01-27 11:05:39 UTC
+--- phototonic.pro.orig 2025-09-11 08:50:50 UTC
+++ phototonic.pro
@@ -19,7 +19,7 @@ INCLUDEPATH += .
TEMPLATE = app
@@ -18,7 +18,7 @@
QT += widgets openglwidgets
QMAKE_CXXFLAGS += $$(CXXFLAGS)
QMAKE_CFLAGS += $$(CFLAGS)
-@@ -57,22 +57,22 @@ RESOURCES += phototonic.qrc
+@@ -53,25 +53,25 @@ RESOURCES += phototonic.qrc
RESOURCES += phototonic.qrc
@@ -45,5 +45,9 @@
-metainfo.path = /usr/share/metainfo
+metainfo.path = %%PREFIX%%/share/metainfo
- INSTALLS += target icon icon16 iconPixmaps desktop metainfo
+ translation.files = translations/*.qm
+-translation.path = /usr/share/qt6/translations
++translation.path = %%PREFIX%%/share/qt6/translations
+
+ INSTALLS += target icon icon16 iconPixmaps desktop metainfo translation
diff --git a/graphics/phototonic/pkg-plist b/graphics/phototonic/pkg-plist
index 88343877d869..bad74fa53228 100644
--- a/graphics/phototonic/pkg-plist
+++ b/graphics/phototonic/pkg-plist
@@ -4,3 +4,23 @@ share/icons/hicolor/16x16/apps/phototonic.png
share/icons/hicolor/48x48/apps/phototonic.png
share/metainfo/phototonic.appdata.xml
share/pixmaps/phototonic.png
+%%QT_L10NDIR%%/phototonic_bs.qm
+%%QT_L10NDIR%%/phototonic_cs.qm
+%%QT_L10NDIR%%/phototonic_de.qm
+%%QT_L10NDIR%%/phototonic_en.qm
+%%QT_L10NDIR%%/phototonic_es.qm
+%%QT_L10NDIR%%/phototonic_et.qm
+%%QT_L10NDIR%%/phototonic_fi.qm
+%%QT_L10NDIR%%/phototonic_fr.qm
+%%QT_L10NDIR%%/phototonic_hr.qm
+%%QT_L10NDIR%%/phototonic_it.qm
+%%QT_L10NDIR%%/phototonic_ka.qm
+%%QT_L10NDIR%%/phototonic_nl.qm
+%%QT_L10NDIR%%/phototonic_pl.qm
+%%QT_L10NDIR%%/phototonic_pt.qm
+%%QT_L10NDIR%%/phototonic_ru.qm
+%%QT_L10NDIR%%/phototonic_sr.qm
+%%QT_L10NDIR%%/phototonic_sv.qm
+%%QT_L10NDIR%%/phototonic_uk.qm
+%%QT_L10NDIR%%/phototonic_zh.qm
+%%QT_L10NDIR%%/phototonic_zh_TW.qm
diff --git a/graphics/php-geos/files/patch-php85 b/graphics/php-geos/files/patch-php85
new file mode 100644
index 000000000000..deffb00ff64b
--- /dev/null
+++ b/graphics/php-geos/files/patch-php85
@@ -0,0 +1,11 @@
+--- geos.c.orig 2024-01-31 14:59:13 UTC
++++ geos.c
+@@ -150,7 +150,7 @@ static void errorHandler(const char *fmt, ...)
+ va_end(args);
+
+ /* TODO: use a GEOSException ? */
+- zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C),
++ zend_throw_exception_ex(zend_ce_exception,
+ 1 TSRMLS_CC, "%s", message);
+
+ }
diff --git a/graphics/pikopixel/Makefile b/graphics/pikopixel/Makefile
index 01ee9d46e765..f0a4df29ba9b 100644
--- a/graphics/pikopixel/Makefile
+++ b/graphics/pikopixel/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pikopixel
DISTVERSION= 1.0-b10
-PORTREVISION= 2
+PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= graphics gnustep
MASTER_SITES= http://twilightedge.com/downloads/
diff --git a/graphics/pixie/Makefile b/graphics/pixie/Makefile
index b261632492dd..989ff0aec2a9 100644
--- a/graphics/pixie/Makefile
+++ b/graphics/pixie/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pixie
PORTVERSION= 2.2.6
-PORTREVISION= 42
+PORTREVISION= 44
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/Pixie%20${PORTVERSION}
DISTNAME= Pixie-src-${PORTVERSION}
diff --git a/graphics/plantuml/Makefile b/graphics/plantuml/Makefile
index 406c6ee97f38..bf71fd8d503a 100644
--- a/graphics/plantuml/Makefile
+++ b/graphics/plantuml/Makefile
@@ -1,7 +1,7 @@
PORTNAME= plantuml
-PORTVERSION= 1.2024.8
+DISTVERSION= 1.2025.10
CATEGORIES= graphics java textproc
-MASTER_SITES= https://github.com/plantuml/plantuml/releases/download/v${PORTVERSION}/
+MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/v${DISTVERSION}/
EXTRACT_SUFX= .jar
EXTRACT_ONLY=
@@ -16,15 +16,18 @@ USES= java
NO_ARCH= yes
NO_BUILD= yes
-PLIST_FILES= %%JAVASHAREDIR%%/${PORTNAME}/${PORTNAME}.jar bin/${PORTNAME}
+PLIST_FILES= bin/${PORTNAME} \
+ ${JAVASHAREDIR}/${PORTNAME}/${PORTNAME}.jar
pre-install:
- ${ECHO} "#!/bin/sh" > ${WRKDIR}/plantum.sh
- ${ECHO} '${PREFIX}/bin/java -jar ${JAVASHAREDIR}/${PORTNAME}/${PORTNAME}.jar $$*' >> ${WRKDIR}/plantum.sh
+ ${ECHO} '#!/bin/sh' > ${WRKDIR}/${PORTNAME}
+ ${ECHO} '${PREFIX}/bin/java -jar ${JAVASHAREDIR}/${PORTNAME}/${PORTNAME}.jar $$*' \
+ >> ${WRKDIR}/${PORTNAME}
do-install:
${MKDIR} ${STAGEDIR}${JAVASHAREDIR}/${PORTNAME}
- ${INSTALL_DATA} ${DISTDIR}/${PORTNAME}-${PORTVERSION}.jar ${STAGEDIR}${JAVASHAREDIR}/${PORTNAME}/${PORTNAME}.jar
- ${INSTALL_SCRIPT} ${WRKDIR}/plantum.sh ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+ ${INSTALL_DATA} ${DISTDIR}/${PORTNAME}-${DISTVERSION}.jar \
+ ${STAGEDIR}${JAVASHAREDIR}/${PORTNAME}/${PORTNAME}.jar
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>
diff --git a/graphics/plantuml/distinfo b/graphics/plantuml/distinfo
index 5c786fc3ef7a..1f1bf01ed9dc 100644
--- a/graphics/plantuml/distinfo
+++ b/graphics/plantuml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734038286
-SHA256 (plantuml-1.2024.8.jar) = b88519d2f37c089a470ee7044ec011a72d130e70a61f7fcaa424179f1c1f4641
-SIZE (plantuml-1.2024.8.jar) = 21924397
+TIMESTAMP = 1762437862
+SHA256 (plantuml-1.2025.10.jar) = 4a01ea09b317180fb8e7eef712dfdca725409d2ee1919e4b5adfe9d8362b6fe5
+SIZE (plantuml-1.2025.10.jar) = 25281989
diff --git a/graphics/plasma6-spectacle/distinfo b/graphics/plasma6-spectacle/distinfo
index fe2bcbf43d46..a00c16460bb4 100644
--- a/graphics/plasma6-spectacle/distinfo
+++ b/graphics/plasma6-spectacle/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752584468
-SHA256 (KDE/plasma/6.4.3/spectacle-6.4.3.tar.xz) = 9986fc091f913a3f0e1520bd8b3a33e9c174e03f48b4b2af3192bd8a31bb29d8
-SIZE (KDE/plasma/6.4.3/spectacle-6.4.3.tar.xz) = 1598408
+TIMESTAMP = 1765457151
+SHA256 (KDE/plasma/6.5.4/spectacle-6.5.4.tar.xz) = b356dd9362d9557202d87d5561ce45edde28f9eb4ab0e38fd3b892623f2d4bc1
+SIZE (KDE/plasma/6.5.4/spectacle-6.5.4.tar.xz) = 1605016
diff --git a/graphics/plasma6-spectacle/files/extra-patch-pipewire-off b/graphics/plasma6-spectacle/files/extra-patch-pipewire-off
index 367d2e39f8bb..3eb884a1ca2f 100644
--- a/graphics/plasma6-spectacle/files/extra-patch-pipewire-off
+++ b/graphics/plasma6-spectacle/files/extra-patch-pipewire-off
@@ -10,7 +10,7 @@
+ find_package(KPipeWire REQUIRED)
+ set(PIPEWIRE_FOUND 1)
+endif()
- find_package(OpenCV REQUIRED core imgproc)
+ find_package(OpenCV 4.7 REQUIRED core imgproc)
set_package_properties(KPipeWire PROPERTIES DESCRIPTION
"Used to record pipewire streams into a file"
diff --git a/graphics/plutosvg/Makefile b/graphics/plutosvg/Makefile
index bf86b9449179..c82a891cb6ac 100644
--- a/graphics/plutosvg/Makefile
+++ b/graphics/plutosvg/Makefile
@@ -1,10 +1,10 @@
PORTNAME= plutosvg
DISTVERSIONPREFIX= v
-DISTVERSION= 0.0.6
-PORTREVISION= 1
+DISTVERSION= 0.0.7
+PORTREVISION= 2
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..185e0dea38dc 100644
--- a/graphics/plutovg/Makefile
+++ b/graphics/plutovg/Makefile
@@ -1,9 +1,9 @@
PORTNAME= plutovg
DISTVERSIONPREFIX= v
-DISTVERSION= 1.0.0
+DISTVERSION= 1.3.1
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/plutovg/distinfo b/graphics/plutovg/distinfo
index ed1f15ab3b18..aa6eef423eca 100644
--- a/graphics/plutovg/distinfo
+++ b/graphics/plutovg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741869849
-SHA256 (sammycage-plutovg-v1.0.0_GH0.tar.gz) = d4a8015aee9eefc29b01e6dabfd3d4b371ae12f9d5e9be09798deb77a528a794
-SIZE (sammycage-plutovg-v1.0.0_GH0.tar.gz) = 228563
+TIMESTAMP = 1757841359
+SHA256 (sammycage-plutovg-v1.3.1_GH0.tar.gz) = bea672eb96ee36c2cbeb911b9bac66dfe989b3ad9a9943101e00aeb2df2aefdb
+SIZE (sammycage-plutovg-v1.3.1_GH0.tar.gz) = 236658
diff --git a/graphics/png/Makefile b/graphics/png/Makefile
index 17d42c177485..cdeb4c557d12 100644
--- a/graphics/png/Makefile
+++ b/graphics/png/Makefile
@@ -1,9 +1,9 @@
PORTNAME= png
-DISTVERSION= 1.6.49
+DISTVERSION= 1.6.52
CATEGORIES= graphics
MASTER_SITES= SF/lib${PORTNAME}/lib${PORTNAME}16/${DISTVERSION}/
-#PATCH_SITES= SF/lib${PORTNAME}-apng/lib${PORTNAME}16/${DISTVERSION}/
-PATCH_SITES= SF/lib${PORTNAME}-apng/lib${PORTNAME}16/1.6.48/
+PATCH_SITES= SF/lib${PORTNAME}-apng/lib${PORTNAME}16/${_PATCH_VERSION}/
+_PATCH_VERSION= 1.6.51
# Keep this because you normally need to keep patch version in sync with release
DISTNAME= lib${PORTNAME}-${DISTVERSION}
@@ -51,8 +51,7 @@ CFLAGS+= -maltivec -mvsx
.if ${PORT_OPTIONS:MAPNG} || make(makesum)
#PATCHFILES= ${DISTNAME}-apng.patch.gz:-p1
# Keep this because you normally need to keep patch version in sync with release
-#PATCHFILES= lib${PORTNAME}-${DISTVERSION}-apng.patch.gz:-p1
-PATCHFILES= lib${PORTNAME}-1.6.48-apng.patch.gz:-p1
+PATCHFILES= lib${PORTNAME}-${_PATCH_VERSION}-apng.patch.gz:-p1
.endif
.include <bsd.port.mk>
diff --git a/graphics/png/distinfo b/graphics/png/distinfo
index ffcd74068aff..8a2e9325d6bc 100644
--- a/graphics/png/distinfo
+++ b/graphics/png/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1749872640
-SHA256 (libpng-1.6.49.tar.xz) = 43182aa48e39d64b1ab4ec6b71ab3e910b67eed3a0fff3777cf8cf40d6ef7024
-SIZE (libpng-1.6.49.tar.xz) = 1060752
-SHA256 (libpng-1.6.48-apng.patch.gz) = b68e523146dc326d6fd3cd49d55f9ca2d73f4a4d6e3d0f095bcc8988ffe8db2b
-SIZE (libpng-1.6.48-apng.patch.gz) = 10671
+TIMESTAMP = 1764965517
+SHA256 (libpng-1.6.52.tar.xz) = 36bd726228ec93a3b6c22fdb49e94a67b16f2fe9b39b78b7cb65772966661ccc
+SIZE (libpng-1.6.52.tar.xz) = 1063580
+SHA256 (libpng-1.6.51-apng.patch.gz) = 9c16ec5654be709f062a705d0c6f529193f1c2123fe7f102fda6733913689023
+SIZE (libpng-1.6.51-apng.patch.gz) = 10686
diff --git a/graphics/png/pkg-plist b/graphics/png/pkg-plist
index 6b5bee71f42e..8087b4b7bf39 100644
--- a/graphics/png/pkg-plist
+++ b/graphics/png/pkg-plist
@@ -19,7 +19,7 @@ lib/libpng/libpng16.cmake
lib/libpng16.a
lib/libpng16.so
lib/libpng16.so.16
-lib/libpng16.so.16.49.0
+lib/libpng16.so.16.52.0
libdata/pkgconfig/libpng.pc
libdata/pkgconfig/libpng16.pc
share/man/man3/libpng.3.gz
diff --git a/graphics/pngwriter/Makefile b/graphics/pngwriter/Makefile
index 462f0c971fe2..e7d9407b108a 100644
--- a/graphics/pngwriter/Makefile
+++ b/graphics/pngwriter/Makefile
@@ -3,7 +3,7 @@ PORTVERSION= 0.7.0
PORTREVISION= 2
CATEGORIES= graphics devel
-MAINTAINER= rakuco@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= C++ library for creating PNG images
WWW= https://pngwriter.sourceforge.net/
diff --git a/graphics/podofo/Makefile b/graphics/podofo/Makefile
index 834a92a5298c..c8beffdfb75a 100644
--- a/graphics/podofo/Makefile
+++ b/graphics/podofo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= podofo
PORTVERSION= 0.10.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics print
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/graphics/poppler-glib/pkg-plist b/graphics/poppler-glib/pkg-plist
index 08b64963ccd7..58fd03fd56bb 100644
--- a/graphics/poppler-glib/pkg-plist
+++ b/graphics/poppler-glib/pkg-plist
@@ -16,6 +16,6 @@ include/poppler/glib/poppler.h
lib/girepository-1.0/Poppler-0.18.typelib
lib/libpoppler-glib.so
lib/libpoppler-glib.so.8
-lib/libpoppler-glib.so.8.29.0
+lib/libpoppler-glib.so.8.31.0
libdata/pkgconfig/poppler-glib.pc
share/gir-1.0/Poppler-0.18.gir
diff --git a/graphics/poppler-qt5/pkg-plist b/graphics/poppler-qt5/pkg-plist
index f6c2ea2ecf4c..84b5da57331a 100644
--- a/graphics/poppler-qt5/pkg-plist
+++ b/graphics/poppler-qt5/pkg-plist
@@ -9,5 +9,5 @@ include/poppler/qt5/poppler-qt5.h
include/poppler/qt5/poppler-version.h
lib/libpoppler-qt5.so
lib/libpoppler-qt5.so.1
-lib/libpoppler-qt5.so.1.38.0
+lib/libpoppler-qt5.so.1.39.0
libdata/pkgconfig/poppler-qt5.pc
diff --git a/graphics/poppler-qt6/pkg-plist b/graphics/poppler-qt6/pkg-plist
index 799a56b8851b..a4fea298027b 100644
--- a/graphics/poppler-qt6/pkg-plist
+++ b/graphics/poppler-qt6/pkg-plist
@@ -10,5 +10,5 @@ include/poppler/qt6/poppler-qt6.h
include/poppler/qt6/poppler-version.h
lib/libpoppler-qt6.so
lib/libpoppler-qt6.so.3
-lib/libpoppler-qt6.so.3.10.0
+lib/libpoppler-qt6.so.3.11.0
libdata/pkgconfig/poppler-qt6.pc
diff --git a/graphics/poppler/Makefile b/graphics/poppler/Makefile
index 106d2c809598..add7e0b93f64 100644
--- a/graphics/poppler/Makefile
+++ b/graphics/poppler/Makefile
@@ -1,6 +1,5 @@
PORTNAME= poppler
-DISTVERSION= 25.04.0
-PORTREVISION= 2
+DISTVERSION= 25.10.0
CATEGORIES= graphics print
MASTER_SITES= https://poppler.freedesktop.org/
@@ -57,7 +56,7 @@ CMAKE_OFF+= ${_POPPLER_SLAVES:N${_SLAVE_PORT}:tu:S/^/ENABLE_/}
PORTSCOUT= limitw:1,even
USES+= iconv
CMAKE_ON+= ENABLE_CPP
-PLIST_SUB+= SHLIB_VER=148
+PLIST_SUB+= SHLIB_VER=154
OPTIONS_DEFINE= CURL OPENJPEG GNUPG
OPTIONS_DEFAULT= OPENJPEG GNUPG
@@ -77,7 +76,7 @@ CMAKE_ARGS+= -DENABLE_LIBOPENJPEG:STRING="none" \
. if ${_SLAVE_PORT} == glib
USES+= gnome python:build
-USE_GNOME+= cairo glib20 introspection:Build libxml2
+USE_GNOME+= cairo glib20 introspection:build libxml2
BINARY_ALIAS+= python3=${PYTHON_CMD}
. elif ${_SLAVE_PORT} == qt5
USES+= qt:5
diff --git a/graphics/poppler/distinfo b/graphics/poppler/distinfo
index 2c310994dfb2..c57e6528ce42 100644
--- a/graphics/poppler/distinfo
+++ b/graphics/poppler/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744042785
-SHA256 (poppler-25.04.0.tar.xz) = b010c596dce127fba88532fd2f1043e55ea30601767952d0f2c0a80e7dc0da3d
-SIZE (poppler-25.04.0.tar.xz) = 1957260
+TIMESTAMP = 1764268443
+SHA256 (poppler-25.10.0.tar.xz) = 6b5e9bb64dabb15787a14db1675291c7afaf9387438cc93a4fb7f6aec4ee6fe0
+SIZE (poppler-25.10.0.tar.xz) = 1985796
diff --git a/graphics/poppler/files/patch-poppler_FlateStream.cc b/graphics/poppler/files/patch-poppler_FlateStream.cc
deleted file mode 100644
index 5e1b2da32a64..000000000000
--- a/graphics/poppler/files/patch-poppler_FlateStream.cc
+++ /dev/null
@@ -1,33 +0,0 @@
---- poppler/FlateStream.cc.orig 2025-04-09 19:16:40 UTC
-+++ poppler/FlateStream.cc
-@@ -133,18 +133,22 @@ int FlateStream::fill_buffer()
- return 0;
- }
-
--GooString *FlateStream::getPSFilter(int psLevel, const char *indent)
-+std::optional<std::string> FlateStream::getPSFilter(int psLevel, const char *indent)
- {
-- GooString *s;
--
- if (psLevel < 3 || pred) {
-- return NULL;
-+ return std::nullopt;
- }
-- if (!(s = str->getPSFilter(psLevel, indent))) {
-- return NULL;
-+
-+ auto inner = str->getPSFilter(psLevel, indent);
-+ if (!inner.has_value()) {
-+ return std::nullopt;
- }
-- s->append(indent)->append("<< >> /FlateDecode filter\n");
-- return s;
-+
-+ std::string result = *inner;
-+ result.append(indent);
-+ result.append("<< >> /FlateDecode filter\n");
-+
-+ return result;
- }
-
- bool FlateStream::isBinary(bool last) const
diff --git a/graphics/poppler/files/patch-poppler_FlateStream.h b/graphics/poppler/files/patch-poppler_FlateStream.h
deleted file mode 100644
index a8909b42032e..000000000000
--- a/graphics/poppler/files/patch-poppler_FlateStream.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- poppler/FlateStream.h.orig 2025-04-09 19:14:40 UTC
-+++ poppler/FlateStream.h
-@@ -45,7 +45,7 @@ class FlateStream : public FilterStream (public)
- int lookChar() override;
- int getRawChar() override;
- void getRawChars(int nChars, int *buffer) override;
-- GooString *getPSFilter(int psLevel, const char *indent) override;
-+ std::optional<std::string> getPSFilter(int psLevel, const char *indent) override;
- bool isBinary(bool last = true) const override;
-
- private:
diff --git a/graphics/poppler/pkg-plist b/graphics/poppler/pkg-plist
index 58019476d0d8..bcb50437f3a6 100644
--- a/graphics/poppler/pkg-plist
+++ b/graphics/poppler/pkg-plist
@@ -113,7 +113,7 @@ include/poppler/splash/SplashPattern.h
include/poppler/splash/SplashTypes.h
lib/libpoppler-cpp.so
lib/libpoppler-cpp.so.2
-lib/libpoppler-cpp.so.2.1.0
+lib/libpoppler-cpp.so.2.2.0
lib/libpoppler.so
lib/libpoppler.so.%%SHLIB_VER%%
lib/libpoppler.so.%%SHLIB_VER%%.0.0
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..95eb0cb1e269 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= 24
CATEGORIES= graphics
PKGNAMESUFFIX= 37
diff --git a/graphics/povray38/Makefile b/graphics/povray38/Makefile
index 8cb107401669..491b18c0abe4 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= 21
CATEGORIES= graphics
MASTER_SITES= https://github.com/POV-Ray/povray/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
PKGNAMESUFFIX= 38
diff --git a/graphics/pqiv/Makefile b/graphics/pqiv/Makefile
index 8bd843d9c227..15ed053decce 100644
--- a/graphics/pqiv/Makefile
+++ b/graphics/pqiv/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pqiv
-PORTVERSION= 2.13.2
-PORTREVISION= 3
+PORTVERSION= 2.13.3
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= danilo@FreeBSD.org
diff --git a/graphics/pqiv/distinfo b/graphics/pqiv/distinfo
index fccc1a9d8396..7e5efa58b415 100644
--- a/graphics/pqiv/distinfo
+++ b/graphics/pqiv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1730735101
-SHA256 (phillipberndt-pqiv-2.13.2_GH0.tar.gz) = 154cbbe0a62be12cee23b0a46a86b2305d8128fd19924308ad5e9d22fa5ad4f7
-SIZE (phillipberndt-pqiv-2.13.2_GH0.tar.gz) = 143704
+TIMESTAMP = 1764340654
+SHA256 (phillipberndt-pqiv-2.13.3_GH0.tar.gz) = f0ffaa33e93299b38058c507da2945976a4b350c92cf1c4b3649586444395dfd
+SIZE (phillipberndt-pqiv-2.13.3_GH0.tar.gz) = 143776
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/proj-data/Makefile b/graphics/proj-data/Makefile
index 223b0c8a142b..b590fe3f4ae5 100644
--- a/graphics/proj-data/Makefile
+++ b/graphics/proj-data/Makefile
@@ -1,5 +1,5 @@
PORTNAME= proj-data
-PORTVERSION= 1.22
+PORTVERSION= 1.24
CATEGORIES= graphics geography
MASTER_SITES= https://download.osgeo.org/proj/ \
https://github.com/OSGeo/PROJ-data/releases/download/${PORTVERSION}.0/
diff --git a/graphics/proj-data/distinfo b/graphics/proj-data/distinfo
index 496a6d118052..bc5de8542a15 100644
--- a/graphics/proj-data/distinfo
+++ b/graphics/proj-data/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749813014
-SHA256 (proj-data-1.22.tar.gz) = 4fe417fbef77fef7b2d4f305c348e5b8612209312880b54a5626a17c00966766
-SIZE (proj-data-1.22.tar.gz) = 791590547
+TIMESTAMP = 1765032664
+SHA256 (proj-data-1.24.tar.gz) = eadf412754a2a9a727d79579873fbe7dae802038d4c2a19e452a886d4eddd111
+SIZE (proj-data-1.24.tar.gz) = 792584182
diff --git a/graphics/proj-data/pkg-plist b/graphics/proj-data/pkg-plist
index b5df9d1d5ea0..e8e126ecd297 100644
--- a/graphics/proj-data/pkg-plist
+++ b/graphics/proj-data/pkg-plist
@@ -79,6 +79,7 @@
%%DATADIR%%/copyright_and_licenses.csv
%%DATADIR%%/cz_cuzk_CR-2005.tif
%%DATADIR%%/cz_cuzk_README.txt
+%%DATADIR%%/cz_cuzk_table_-y-x_3_v1710.tif
%%DATADIR%%/de_adv_BETA2007.tif
%%DATADIR%%/de_adv_README.txt
%%DATADIR%%/de_bkg_README.txt
@@ -169,6 +170,7 @@
%%DATADIR%%/fr_ign_ggker08v2.tif
%%DATADIR%%/fr_ign_ggm00v2.tif
%%DATADIR%%/fr_ign_ggm04v1.tif
+%%DATADIR%%/fr_ign_ggm23v2.tif
%%DATADIR%%/fr_ign_ggpf02-Bora.tif
%%DATADIR%%/fr_ign_ggpf02-Huahine.tif
%%DATADIR%%/fr_ign_ggpf02-Maiao.tif
@@ -227,8 +229,10 @@
%%DATADIR%%/no_kv_CD_above_Ell_ETRS89_v2023b.tif
%%DATADIR%%/no_kv_ETRS89NO_NGO48_TIN.json
%%DATADIR%%/no_kv_HREF2018B_NN2000_EUREF89.tif
+%%DATADIR%%/no_kv_HREF2018B_NN54_NN2000.tif
%%DATADIR%%/no_kv_NKGETRF14_EPSG7922_2000.tif
%%DATADIR%%/no_kv_README.txt
+%%DATADIR%%/no_kv_Svalbard_EUREF89_SVD2024.tif
%%DATADIR%%/no_kv_arcgp-2006-sk.tif
%%DATADIR%%/no_kv_href2008a.tif
%%DATADIR%%/nz_linz_README.txt
@@ -302,6 +306,7 @@
%%DATADIR%%/se_lantmateriet_SWEN17_RH2000.tif
%%DATADIR%%/si_gurs_README.txt
%%DATADIR%%/si_gurs_SLO-VRP2016-Koper.tif
+%%DATADIR%%/si_gurs_SLO-VTP2024.tif
%%DATADIR%%/sk_gku_JTSK03_to_JTSK.tif
%%DATADIR%%/sk_gku_README.txt
%%DATADIR%%/sk_gku_Slovakia_ETRS89h_to_Baltic1957.tif
diff --git a/graphics/proj/Makefile b/graphics/proj/Makefile
index 15672e8a0bcb..c642539a75b5 100644
--- a/graphics/proj/Makefile
+++ b/graphics/proj/Makefile
@@ -1,5 +1,6 @@
PORTNAME= proj
-DISTVERSION= 9.6.0
+DISTVERSION= 9.7.1
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= graphics geography
MASTER_SITES= https://github.com/OSGeo/PROJ/releases/download/${DISTVERSION}/ \
@@ -10,7 +11,7 @@ COMMENT= Cartographic Projections library
WWW= https://github.com/OSGeo/PROJ
LICENSE= MIT
-#LICENSE_FILE= ${WRKSRC}/COPYING
+LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= nlohmann-json>=3:devel/nlohmann-json
LIB_DEPENDS= libcurl.so:ftp/curl \
@@ -22,10 +23,11 @@ USES= compiler:c++17-lang cmake:testing cpe pathfix pkgconfig sqlite
CPE_VENDOR= proj_project
USE_LDCONFIG= yes
+CMAKE_OFF= BUILD_TESTING
+CMAKE_TESTING_OFF= TESTING_USE_NETWORK
CMAKE_TESTING_ON= BUILD_TESTING \
USE_EXTERNAL_GTEST
-CMAKE_TESTING_OFF= TESTING_USE_NETWORK
-CMAKE_OFF= BUILD_TESTING
+PLIST_SUB= DISTVERSION=${DISTVERSION}
.include <bsd.port.mk>
diff --git a/graphics/proj/distinfo b/graphics/proj/distinfo
index c2740b7caa10..3e5e148b04c7 100644
--- a/graphics/proj/distinfo
+++ b/graphics/proj/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742567635
-SHA256 (proj-9.6.0.tar.gz) = d8cae521c311c39513193657e75767f7cfbf2f91bd202fcd4a200028d3b57e14
-SIZE (proj-9.6.0.tar.gz) = 5830688
+TIMESTAMP = 1765135395
+SHA256 (proj-9.7.1.tar.gz) = 6c097dc803c561929cdfcc46e4bf9945ea977611fb31493ad14e88edaeae260f
+SIZE (proj-9.7.1.tar.gz) = 5915221
diff --git a/graphics/proj/pkg-plist b/graphics/proj/pkg-plist
index 8f3d5ba1db59..6876e9cb4a42 100644
--- a/graphics/proj/pkg-plist
+++ b/graphics/proj/pkg-plist
@@ -10,8 +10,8 @@ bin/projsync
include/geodesic.h
include/proj.h
include/proj/common.hpp
-include/proj/coordinates.hpp
include/proj/coordinateoperation.hpp
+include/proj/coordinates.hpp
include/proj/coordinatesystem.hpp
include/proj/crs.hpp
include/proj/datum.hpp
@@ -36,7 +36,7 @@ lib/cmake/proj4/proj4-targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/proj4/proj4-targets.cmake
lib/libproj.so
lib/libproj.so.25
-lib/libproj.so.25.9.6.0
+lib/libproj.so.25.%%DISTVERSION%%
libdata/pkgconfig/proj.pc
share/bash-completion/completions/projinfo
share/man/man1/cct.1.gz
diff --git a/graphics/py-PyOpenGL/Makefile b/graphics/py-PyOpenGL/Makefile
index 1c9f8d3c6e13..8ec037da46f9 100644
--- a/graphics/py-PyOpenGL/Makefile
+++ b/graphics/py-PyOpenGL/Makefile
@@ -1,6 +1,6 @@
PORTNAME= PyOpenGL
PORTVERSION= 3.1.7
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-actdiag/Makefile b/graphics/py-actdiag/Makefile
index bcf92240de46..f9df939a2add 100644
--- a/graphics/py-actdiag/Makefile
+++ b/graphics/py-actdiag/Makefile
@@ -1,6 +1,6 @@
PORTNAME= actdiag
PORTVERSION= 3.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-agx-emulsion/Makefile b/graphics/py-agx-emulsion/Makefile
new file mode 100644
index 000000000000..b0e71f013696
--- /dev/null
+++ b/graphics/py-agx-emulsion/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= agx-emulsion
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.1.0-alpha
+DISTVERSIONSUFFIX= -84-g0e0baf2
+CATEGORIES= graphics
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Spectral simulation of analog photography processes
+WWW= https://github.com/andreavolpato/agx-emulsion
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}openimageio>0:graphics/py-openimageio@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}colour-science>=0.4.6:graphics/py-colour-science@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dotmap>=1.3.30:devel/py-dotmap@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lmfit>=1.3.2:math/py-lmfit@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}magicgui>=0.10.0:x11-toolkits/py-magicgui@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}napari>=0.5.5:misc/py-napari@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numba>=0.61.0:devel/py-numba@${PY_FLAVOR} \
+ ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}opt-einsum>=3.4.0:math/py-opt-einsum@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyFFTW>=0.15.0:math/py-pyFFTW@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scikit-image>0:graphics/py-scikit-image@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scipy>=1.14.1:science/py-scipy@${PY_FLAVOR}
+
+USES= pyqt:5 python
+USE_PYTHON= distutils concurrent autoplist
+USE_PYQT= pyqt5
+
+USE_GITHUB= yes
+GH_ACCOUNT= andreavolpato
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/graphics/py-agx-emulsion/distinfo b/graphics/py-agx-emulsion/distinfo
new file mode 100644
index 000000000000..f981124db3f8
--- /dev/null
+++ b/graphics/py-agx-emulsion/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1748800955
+SHA256 (andreavolpato-agx-emulsion-v0.1.0-alpha-84-g0e0baf2_GH0.tar.gz) = 793a5341af93674f1d9ff210c129aa880c57eb1d24f6978bfe228cea862e5d72
+SIZE (andreavolpato-agx-emulsion-v0.1.0-alpha-84-g0e0baf2_GH0.tar.gz) = 24448040
diff --git a/graphics/py-agx-emulsion/pkg-descr b/graphics/py-agx-emulsion/pkg-descr
new file mode 100644
index 000000000000..8dabdfa49baf
--- /dev/null
+++ b/graphics/py-agx-emulsion/pkg-descr
@@ -0,0 +1,3 @@
+agx-emulsion experiments with the simulation of color film photography
+processes. The simulation emulates a negative emulsion starting from
+published data for film stocks.
diff --git a/graphics/py-albumentations/Makefile b/graphics/py-albumentations/Makefile
index f9c49c51c268..ca64d7df25eb 100644
--- a/graphics/py-albumentations/Makefile
+++ b/graphics/py-albumentations/Makefile
@@ -1,6 +1,6 @@
PORTNAME= albumentations
DISTVERSION= 2.0.5
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python # machine-learning
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-altair/Makefile b/graphics/py-altair/Makefile
index 9e72d3ae9ac3..eeb292391942 100644
--- a/graphics/py-altair/Makefile
+++ b/graphics/py-altair/Makefile
@@ -1,5 +1,5 @@
PORTNAME= altair
-PORTVERSION= 5.5.0
+PORTVERSION= 6.0.0
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -15,18 +15,18 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}jsonschema>=3.0:devel/py-jsonschema@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}narwhals>=1.14.2:math/py-narwhals@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}narwhals>=1.27.1:math/py-narwhals@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
.include <bsd.port.pre.mk>
-.if ${PYTHON_REL} < 31400
-RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.10.0:devel/py-typing-extensions@${PY_FLAVOR}
+.if ${PYTHON_REL} < 31500
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.12.0:devel/py-typing-extensions@${PY_FLAVOR}
.endif
.include <bsd.port.post.mk>
diff --git a/graphics/py-altair/distinfo b/graphics/py-altair/distinfo
index 125153029c0b..57a3da3c02b5 100644
--- a/graphics/py-altair/distinfo
+++ b/graphics/py-altair/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734888314
-SHA256 (altair-5.5.0.tar.gz) = d960ebe6178c56de3855a68c47b516be38640b73fb3b5111c2a9ca90546dd73d
-SIZE (altair-5.5.0.tar.gz) = 705305
+TIMESTAMP = 1763853414
+SHA256 (altair-6.0.0.tar.gz) = 614bf5ecbe2337347b590afb111929aa9c16c9527c4887d96c9bc7f6640756b4
+SIZE (altair-6.0.0.tar.gz) = 763834
diff --git a/graphics/py-blockdiag/Makefile b/graphics/py-blockdiag/Makefile
index 97cdddc2f29b..4bb8d4a659ac 100644
--- a/graphics/py-blockdiag/Makefile
+++ b/graphics/py-blockdiag/Makefile
@@ -1,6 +1,6 @@
PORTNAME= blockdiag
PORTVERSION= 3.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-blockdiagcontrib-cisco/Makefile b/graphics/py-blockdiagcontrib-cisco/Makefile
index 49fad20dd57f..7c5450d6955b 100644
--- a/graphics/py-blockdiagcontrib-cisco/Makefile
+++ b/graphics/py-blockdiagcontrib-cisco/Makefile
@@ -1,6 +1,6 @@
PORTNAME= blockdiagcontrib-cisco
PORTVERSION= 0.1.8
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-cairocffi/Makefile b/graphics/py-cairocffi/Makefile
index 1eaf534147ad..4d0d11c890a2 100644
--- a/graphics/py-cairocffi/Makefile
+++ b/graphics/py-cairocffi/Makefile
@@ -1,6 +1,5 @@
PORTNAME= cairocffi
-PORTVERSION= 1.4.0
-PORTREVISION= 1
+PORTVERSION= 1.7.1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -11,7 +10,8 @@ WWW= https://github.com/kozea/cairocffi
LICENSE= BSD3CLAUSE
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.1.0:devel/py-cffi@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.1.0:devel/py-cffi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}flit-core>0:devel/py-flit-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.1.0:devel/py-cffi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}xcffib>=0.3.2:x11/py-xcffib@${PY_FLAVOR}
TEST_DEPENDS= ${PYNUMPY} \
@@ -20,7 +20,7 @@ TEST_DEPENDS= ${PYNUMPY} \
USES= gnome python
USE_GNOME= cairo
-USE_PYTHON= autoplist distutils
+USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/graphics/py-cairocffi/distinfo b/graphics/py-cairocffi/distinfo
index 3958028587d6..26412de0978d 100644
--- a/graphics/py-cairocffi/distinfo
+++ b/graphics/py-cairocffi/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1668630352
-SHA256 (cairocffi-1.4.0.tar.gz) = 509339b32ccd8d7b00c2204c32736cde78db53a32e6a162d312478d25626cd9a
-SIZE (cairocffi-1.4.0.tar.gz) = 69851
+TIMESTAMP = 1741093793
+SHA256 (cairocffi-1.7.1.tar.gz) = 2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b
+SIZE (cairocffi-1.7.1.tar.gz) = 88096
diff --git a/graphics/py-cairocffi/files/patch-setup.cfg b/graphics/py-cairocffi/files/patch-setup.cfg
deleted file mode 100644
index d9a0b2b0a797..000000000000
--- a/graphics/py-cairocffi/files/patch-setup.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-# pytest-runner should be conditional on test arg provided to setup.py
-# it is only needed for tests, but we run pytest directly (for now)
-# TODO: Report/resolve upstream
-
---- setup.cfg.orig 2022-11-16 20:31:48 UTC
-+++ setup.cfg
-@@ -52,7 +52,6 @@ test =
- sphinx
- sphinx_rtd_theme
- test =
-- pytest
- flake8
- isort
- numpy
diff --git a/graphics/py-cairocffi/pkg-plist b/graphics/py-cairocffi/pkg-plist
deleted file mode 100644
index e4c1f94a7724..000000000000
--- a/graphics/py-cairocffi/pkg-plist
+++ /dev/null
@@ -1,6 +0,0 @@
-%%PYTHON_SITELIBDIR%%/cairocffi/_generated/__pycache__/ffi_pixbuf.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/cairocffi/_generated/__pycache__/ffi_pixbuf.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/cairocffi/_generated/__pycache__/ffi.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/cairocffi/_generated/__pycache__/ffi.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/cairocffi/_generated/ffi_pixbuf.py
-%%PYTHON_SITELIBDIR%%/cairocffi/_generated/ffi.py
diff --git a/graphics/py-cairosvg/Makefile b/graphics/py-cairosvg/Makefile
index 97afd649e745..19d35dec4b87 100644
--- a/graphics/py-cairosvg/Makefile
+++ b/graphics/py-cairosvg/Makefile
@@ -1,5 +1,6 @@
PORTNAME= cairosvg
PORTVERSION= 2.8.2
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-cartopy/Makefile b/graphics/py-cartopy/Makefile
index 3b22260d3ec8..7297c452048c 100644
--- a/graphics/py-cartopy/Makefile
+++ b/graphics/py-cartopy/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cartopy
PORTVERSION= 0.23.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-colorthief/Makefile b/graphics/py-colorthief/Makefile
index 99e0ef420dbf..5a4c0275df13 100644
--- a/graphics/py-colorthief/Makefile
+++ b/graphics/py-colorthief/Makefile
@@ -1,6 +1,6 @@
PORTNAME= colorthief
DISTVERSION= 0.2.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-colorz/Makefile b/graphics/py-colorz/Makefile
index af178d8e7fe2..5bc54be95b5e 100644
--- a/graphics/py-colorz/Makefile
+++ b/graphics/py-colorz/Makefile
@@ -1,6 +1,6 @@
PORTNAME= colorz
DISTVERSION= 1.0.3
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-colour-science/Makefile b/graphics/py-colour-science/Makefile
index ead829190094..51bdde202c5d 100644
--- a/graphics/py-colour-science/Makefile
+++ b/graphics/py-colour-science/Makefile
@@ -1,5 +1,6 @@
PORTNAME= colour-science
DISTVERSION= 0.4.6
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-contextily/Makefile b/graphics/py-contextily/Makefile
index a4bef9d821d0..0c1e08a2dbec 100644
--- a/graphics/py-contextily/Makefile
+++ b/graphics/py-contextily/Makefile
@@ -1,5 +1,5 @@
PORTNAME= contextily
-PORTVERSION= 1.6.2
+PORTVERSION= 1.7.0
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-contextily/distinfo b/graphics/py-contextily/distinfo
index 757d8d61a21b..6039b690e9d5 100644
--- a/graphics/py-contextily/distinfo
+++ b/graphics/py-contextily/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1725559849
-SHA256 (contextily-1.6.2.tar.gz) = 3c747925269be248a9b1a761859e05d1681286e04d5d0796bdaf1de3409474bb
-SIZE (contextily-1.6.2.tar.gz) = 22461478
+TIMESTAMP = 1764510974
+SHA256 (contextily-1.7.0.tar.gz) = 6534faa5702b89b46d0d81b4c538754f2d8b3dd8cc298454b11ccedfa67e73ac
+SIZE (contextily-1.7.0.tar.gz) = 22462157
diff --git a/graphics/py-descartes/Makefile b/graphics/py-descartes/Makefile
index 51e390ad2bc2..3730edbd5003 100644
--- a/graphics/py-descartes/Makefile
+++ b/graphics/py-descartes/Makefile
@@ -1,6 +1,6 @@
PORTNAME= descartes
PORTVERSION= 1.1.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-dj52-sorl-thumbnail/Makefile b/graphics/py-dj52-sorl-thumbnail/Makefile
new file mode 100644
index 000000000000..64060b76a523
--- /dev/null
+++ b/graphics/py-dj52-sorl-thumbnail/Makefile
@@ -0,0 +1,62 @@
+PORTNAME= sorl-thumbnail
+DISTVERSION= 12.11.0
+CATEGORIES= graphics python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= sorl_thumbnail-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Sorl-thumbnail provides an easy way to generate image thumbnails
+WWW= https://github.com/jazzband/sorl-thumbnail
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+PORTDOCS= *
+
+OPTIONS_DEFINE= DOCS
+OPTIONS_DEFAULT= PILLOW
+OPTIONS_SINGLE= IMAGELIB
+OPTIONS_GROUP= CACHING
+
+# An PGMAGICK option would still be possible as well, but the ports tree does
+# not yet have a py-pgmagick port.
+OPTIONS_SINGLE_IMAGELIB= GRAPHICSMAGICK IMAGEMAGICK PILLOW WAND
+OPTIONS_GROUP_CACHING= REDIS
+
+GRAPHICSMAGICK_DESC= Use GraphicsMagick for image processing (faster)
+IMAGEMAGICK_DESC= Use ImageMagick for image processing
+PILLOW_DESC= Use internal image processing
+REDIS_DESC= Use REDIS as Key Value Store
+WAND_DESC= Use Wand with ImageMagick
+
+DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
+
+GRAPHICSMAGICK_RUN_DEPENDS= ${LOCALBASE}/bin/gm:graphics/GraphicsMagick
+IMAGEMAGICK_USES= magick:6,run
+PILLOW_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR}
+REDIS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}redis>0:databases/py-redis@${PY_FLAVOR}
+WAND_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Wand>0:graphics/py-wand@${PY_FLAVOR}
+
+post-build-DOCS-on:
+ ${SETENV} PYTHONPATH=${WRKSRC} ${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} \
+ -d ${WRKDIR} -b html ${WRKSRC}/docs ${WRKSRC}/build/sphinx/html
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ (cd ${WRKSRC}/build/sphinx/html && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
+ "! -name .buildinfo -and ! -name objects.inv")
+
+.include <bsd.port.mk>
diff --git a/graphics/py-dj52-sorl-thumbnail/distinfo b/graphics/py-dj52-sorl-thumbnail/distinfo
new file mode 100644
index 000000000000..71659dc4d34c
--- /dev/null
+++ b/graphics/py-dj52-sorl-thumbnail/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1755414298
+SHA256 (sorl_thumbnail-12.11.0.tar.gz) = 191b89c27ecb40b5c2a35549d557d17c4841c6aff439b2e17b938b91eea463b3
+SIZE (sorl_thumbnail-12.11.0.tar.gz) = 667102
diff --git a/graphics/py-dj52-sorl-thumbnail/files/patch-pyproject.toml b/graphics/py-dj52-sorl-thumbnail/files/patch-pyproject.toml
new file mode 100644
index 000000000000..f38468089e04
--- /dev/null
+++ b/graphics/py-dj52-sorl-thumbnail/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+Relax version requirements.
+
+--- pyproject.toml.orig 2025-08-20 12:07:03 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["setuptools>=64", "setuptools_scm>=8"]
++requires = ["setuptools", "setuptools_scm>=8"]
+ build-backend = "setuptools.build_meta"
+
+ [project]
diff --git a/graphics/py-dj52-sorl-thumbnail/pkg-descr b/graphics/py-dj52-sorl-thumbnail/pkg-descr
new file mode 100644
index 000000000000..dbfc4c434b13
--- /dev/null
+++ b/graphics/py-dj52-sorl-thumbnail/pkg-descr
@@ -0,0 +1,16 @@
+The sorl-thumbnail package provides an easy way to generate image
+thumbnails.
+
+Some of its features:
+- Storage support
+- Pluggable Engine support for Pillow, GraphicsMagick, ImageMagick and Wand
+- Pluggable Key Value Store support (cached db and redis)
+- Pluggable Backend support
+- Admin integration with possibility to delete
+- Dummy generation (placeholders)
+- Flexible, simple syntax, generates no html
+- ImageField for model that deletes thumbnails
+- CSS style cropping options
+- Back smart cropping, and remove borders from the images when cropping
+- Margin calculation for vertical positioning
+- Alternative resolutions versions of a thumbnail
diff --git a/graphics/py-django-easy-thumbnails/Makefile b/graphics/py-django-easy-thumbnails/Makefile
index 1b3055f8b9b5..b8b200f3e97e 100644
--- a/graphics/py-django-easy-thumbnails/Makefile
+++ b/graphics/py-django-easy-thumbnails/Makefile
@@ -1,6 +1,6 @@
PORTNAME= easy-thumbnails
PORTVERSION= 2.8.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}django-
diff --git a/graphics/py-easyocr/Makefile b/graphics/py-easyocr/Makefile
new file mode 100644
index 000000000000..418ed2819c10
--- /dev/null
+++ b/graphics/py-easyocr/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= easyocr
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.7.2
+CATEGORIES= graphics python
+#MASTER_SITES= PYPI # no tarball
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= End-to-end multi-lingual Optical Character Recognition (OCR) solution
+WWW= https://github.com/jaidedai/easyocr
+
+LICENSE= GPLv3
+
+USES= python
+USE_PYTHON= distutils autoplist pytest
+
+RUN_DEPENDS= ${PYNUMPY} \
+ opencv>0:graphics/opencv \
+ ${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyclipper>0:math/py-pyclipper@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-bidi>0:textproc/py-python-bidi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytorch>0:misc/py-pytorch@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyyaml>0:devel/py-pyyaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scikit-image>=0:graphics/py-scikit-image@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}shapely>0:devel/py-shapely@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}torchvision>=0.5:misc/py-torchvision@${PY_FLAVOR} \
+
+USE_GITHUB= yes
+GH_ACCOUNT= jaidedai
+
+WRKSRC= ${WRKDIR}/EasyOCR-${DISTVERSION}
+
+NO_ARCH= yes
+
+TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+.include <bsd.port.mk>
diff --git a/graphics/py-easyocr/distinfo b/graphics/py-easyocr/distinfo
new file mode 100644
index 000000000000..b1fb76222f40
--- /dev/null
+++ b/graphics/py-easyocr/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1764405517
+SHA256 (jaidedai-easyocr-v1.7.2_GH0.tar.gz) = 1c20356483964c7c80ccf86f2a0957cfed47768e9bbc99b9ff2eb47cb9cb1448
+SIZE (jaidedai-easyocr-v1.7.2_GH0.tar.gz) = 79231425
diff --git a/graphics/py-easyocr/pkg-descr b/graphics/py-easyocr/pkg-descr
new file mode 100644
index 000000000000..a69382b5df06
--- /dev/null
+++ b/graphics/py-easyocr/pkg-descr
@@ -0,0 +1,8 @@
+EasyOCR is a Python package for out-of-the-box Optical Character
+Recognition (OCR) with 80+ supported languages and all common writing
+scripts, including Latin, Chinese, Arabic, Devanagari, Cyrillic, etc.
+
+This port provides:
+* the CLI OCR tool
+* the Python API for recognizing text in images through the Python
+ module EasyOCR
diff --git a/graphics/py-f3d/Makefile b/graphics/py-f3d/Makefile
index b14fe006e826..635c3bd73275 100644
--- a/graphics/py-f3d/Makefile
+++ b/graphics/py-f3d/Makefile
@@ -1,6 +1,6 @@
PORTNAME= f3d
DISTVERSIONPREFIX= v
-DISTVERSION= 3.2.0
+DISTVERSION= 3.3.0
CATEGORIES= graphics
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-f3d/distinfo b/graphics/py-f3d/distinfo
index 323a3c87394b..12e179028971 100644
--- a/graphics/py-f3d/distinfo
+++ b/graphics/py-f3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752181495
-SHA256 (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 2a3cff123821be41d99489e080a7153812e58a86598fa9f4988099660bf6a947
-SIZE (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 68125944
+TIMESTAMP = 1761666964
+SHA256 (f3d-app-f3d-v3.3.0_GH0.tar.gz) = f3feeaed716022bc3440b891afbd5eba82a69af7215f66bb9aa72344d7591126
+SIZE (f3d-app-f3d-v3.3.0_GH0.tar.gz) = 68866937
diff --git a/graphics/py-face_recognition/Makefile b/graphics/py-face_recognition/Makefile
index e7847e60b9ae..644179340cc9 100644
--- a/graphics/py-face_recognition/Makefile
+++ b/graphics/py-face_recognition/Makefile
@@ -1,6 +1,6 @@
PORTNAME= face_recognition
PORTVERSION= 1.3.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python devel
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-face_recognition_models/Makefile b/graphics/py-face_recognition_models/Makefile
index 18fb832eee6c..988b973bb7e1 100644
--- a/graphics/py-face_recognition_models/Makefile
+++ b/graphics/py-face_recognition_models/Makefile
@@ -1,6 +1,6 @@
PORTNAME= face_recognition_models
PORTVERSION= 0.3.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python devel
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,6 +12,8 @@ WWW= https://pypi.org/project/face_recognition_models/
LICENSE= CC0-1.0
LICENSE_FILE= ${WRKSRC}/LICENSE
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR}
+
USES= python
USE_PYTHON= autoplist distutils
diff --git a/graphics/py-fotokilof/Makefile b/graphics/py-fotokilof/Makefile
index 28cbc2944299..e2662eb3f10a 100644
--- a/graphics/py-fotokilof/Makefile
+++ b/graphics/py-fotokilof/Makefile
@@ -1,5 +1,6 @@
PORTNAME= fotokilof
PORTVERSION= 5.1.8
+PORTREVISION= 1
CATEGORIES= graphics
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-fury/Makefile b/graphics/py-fury/Makefile
index 264aadfb5fbf..830227df267f 100644
--- a/graphics/py-fury/Makefile
+++ b/graphics/py-fury/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fury
DISTVERSION= 0.12.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-gdal/Makefile b/graphics/py-gdal/Makefile
index 08fef0e30044..2c9eb2864306 100644
--- a/graphics/py-gdal/Makefile
+++ b/graphics/py-gdal/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gdal
-PORTVERSION= 3.11.3
+PORTVERSION= 3.11.5
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-gdal/distinfo b/graphics/py-gdal/distinfo
index 78aa21a8c962..de41f2831c5e 100644
--- a/graphics/py-gdal/distinfo
+++ b/graphics/py-gdal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752416412
-SHA256 (gdal-3.11.3.tar.gz) = 4c3ad0fae393b5ddb093a7e4b890077839b2a6acdbd19202657fe4e881886efa
-SIZE (gdal-3.11.3.tar.gz) = 878190
+TIMESTAMP = 1762586756
+SHA256 (gdal-3.11.5.tar.gz) = 20c26a250b0cacfb541779292fcd65169293102c5b96e30fe60e1c4f4afce0b1
+SIZE (gdal-3.11.5.tar.gz) = 878380
diff --git a/graphics/py-geomdl/Makefile b/graphics/py-geomdl/Makefile
index 7dbbdb102ef2..31b85c11ddf7 100644
--- a/graphics/py-geomdl/Makefile
+++ b/graphics/py-geomdl/Makefile
@@ -1,6 +1,6 @@
PORTNAME= geomdl
PORTVERSION= 5.2.10
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-geosnap/Makefile b/graphics/py-geosnap/Makefile
index 85e9dca52b38..324452715af3 100644
--- a/graphics/py-geosnap/Makefile
+++ b/graphics/py-geosnap/Makefile
@@ -1,5 +1,5 @@
PORTNAME= geosnap
-PORTVERSION= 0.15.3
+PORTVERSION= 0.16.0
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -23,7 +23,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}contextily>=0:graphics/py-contextily@${PY_FL
${PYTHON_PKGNAMEPREFIX}mapclassify>=0:graphics/py-mapclassify@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}matplotlib>=0:math/py-matplotlib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pandana>=0:graphics/py-pandana@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pandarm>=0:graphics/py-pandarm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pandas>=0,1:math/py-pandas@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}platformdirs>=0:devel/py-platformdirs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pooch>=0:devel/py-pooch@${PY_FLAVOR} \
diff --git a/graphics/py-geosnap/distinfo b/graphics/py-geosnap/distinfo
index b979359f7564..4a18350f402f 100644
--- a/graphics/py-geosnap/distinfo
+++ b/graphics/py-geosnap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752266148
-SHA256 (geosnap-0.15.3.tar.gz) = f08a7b9c15aec554023cf28c4bef66bbbbafc7db5d5a9e3e2aebd70b15eb06b1
-SIZE (geosnap-0.15.3.tar.gz) = 29917823
+TIMESTAMP = 1764510976
+SHA256 (geosnap-0.16.0.tar.gz) = b37698cf1eedef3f70106d31d871b24a6eb44cf9ac3c358423d18106ccb68753
+SIZE (geosnap-0.16.0.tar.gz) = 29917628
diff --git a/graphics/py-giddy/Makefile b/graphics/py-giddy/Makefile
index 7094c5c1397a..11b21fabae54 100644
--- a/graphics/py-giddy/Makefile
+++ b/graphics/py-giddy/Makefile
@@ -1,5 +1,5 @@
PORTNAME= giddy
-PORTVERSION= 2.3.5
+PORTVERSION= 2.3.8
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -15,12 +15,15 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.2:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}esda>=2.1.1:science/py-esda@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}libpysal>=4.0.1:science/py-libpysal@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}quantecon>=0.4.7:finance/py-quantecon@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}scipy>=1.3:science/py-scipy@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}esda>=2.7<2.9:science/py-esda@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}libpysal>=4.12:science/py-libpysal@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mapclassify>=2.7:graphics/py-mapclassify@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}matplotlib>=0:math/py-matplotlib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}quantecon>=0.8:finance/py-quantecon@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scipy>=1.11,1:science/py-scipy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}seaborn>=0:math/py-seaborn@${PY_FLAVOR}
-USES= python
+USES= python:3.11+
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
diff --git a/graphics/py-giddy/distinfo b/graphics/py-giddy/distinfo
index 30e994fb0fae..a9b71c6f0757 100644
--- a/graphics/py-giddy/distinfo
+++ b/graphics/py-giddy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1708449372
-SHA256 (giddy-2.3.5.tar.gz) = e2b87b003aea7bff67095e152f23cafb9d26f08193e383538709777d3ba9940b
-SIZE (giddy-2.3.5.tar.gz) = 11165667
+TIMESTAMP = 1765032800
+SHA256 (giddy-2.3.8.tar.gz) = a5da015ffb4bdc07794a14b6871cec39f6b948a3fea0fd030572bde154cb5af8
+SIZE (giddy-2.3.8.tar.gz) = 11171979
diff --git a/graphics/py-glfw/Makefile b/graphics/py-glfw/Makefile
index e5ae7fcb970c..dcd5c53dc24b 100644
--- a/graphics/py-glfw/Makefile
+++ b/graphics/py-glfw/Makefile
@@ -1,5 +1,5 @@
PORTNAME= glfw
-PORTVERSION= 2.9.0
+PORTVERSION= 2.10.0
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-glfw/distinfo b/graphics/py-glfw/distinfo
index 7fb8413162fe..f15e1b57d925 100644
--- a/graphics/py-glfw/distinfo
+++ b/graphics/py-glfw/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745774273
-SHA256 (glfw-2.9.0.tar.gz) = 077111a150ff09bc302c5e4ae265a5eb6aeaff0c8b01f727f7fb34e3764bb8e2
-SIZE (glfw-2.9.0.tar.gz) = 31453
+TIMESTAMP = 1764176229
+SHA256 (glfw-2.10.0.tar.gz) = 801e55d8581b34df9aa2cfea43feb06ff617576e2a8cc5dac23ee75b26d10abe
+SIZE (glfw-2.10.0.tar.gz) = 31475
diff --git a/graphics/py-haishoku/Makefile b/graphics/py-haishoku/Makefile
index 0a81272deb1a..1c48b9d0076d 100644
--- a/graphics/py-haishoku/Makefile
+++ b/graphics/py-haishoku/Makefile
@@ -1,6 +1,6 @@
PORTNAME= haishoku
DISTVERSION= 1.1.8
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-imagecodecs/Makefile b/graphics/py-imagecodecs/Makefile
index e844ddf5387d..efcb1b1d7057 100644
--- a/graphics/py-imagecodecs/Makefile
+++ b/graphics/py-imagecodecs/Makefile
@@ -1,5 +1,6 @@
PORTNAME= imagecodecs
PORTVERSION= 2024.12.30
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -44,7 +45,7 @@ LIB_DEPENDS= libaec.so:science/libaec \
libzstd.so:archivers/zstd
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR}
-USES= jpeg localbase python:3.9+
+USES= jpeg localbase python
USE_PYTHON= autoplist concurrent cython3 pep517
CPPFLAGS+= -I${LOCALBASE}/include/jxrlib \
diff --git a/graphics/py-imageio/Makefile b/graphics/py-imageio/Makefile
index 722b14b48f9b..840f9463c7e4 100644
--- a/graphics/py-imageio/Makefile
+++ b/graphics/py-imageio/Makefile
@@ -1,5 +1,6 @@
PORTNAME= imageio
PORTVERSION= 2.37.0
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI \
https://github.com/imageio/imageio/releases/download/v${PORTVERSION}/
@@ -28,7 +29,7 @@ TEST_DEPENDS= opencv>=0:graphics/opencv \
# filesystems/py-fsspec[github]
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR}
-USES= python:3.9+
+USES= python
USE_PYTHON= autoplist concurrent pep517 pytest
NO_ARCH= yes
diff --git a/graphics/py-img2pdf/Makefile b/graphics/py-img2pdf/Makefile
index 4b51a2ddc65f..6b42d79626ac 100644
--- a/graphics/py-img2pdf/Makefile
+++ b/graphics/py-img2pdf/Makefile
@@ -1,5 +1,6 @@
PORTNAME= img2pdf
-DISTVERSION= 0.6.1
+DISTVERSION= 0.6.3
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -11,8 +12,7 @@ WWW= https://gitlab.mister-muffin.de/josch/img2pdf
LICENSE= LGPL3+
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${PY_SETUPTOOLS} \
- ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.4<4:devel/py-flit-core
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pikepdf>0:textproc/py-pikepdf@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR}
TEST_DEPENDS= ${PY_NUMPY} \
diff --git a/graphics/py-img2pdf/distinfo b/graphics/py-img2pdf/distinfo
index 280871d5df5f..db57d1092660 100644
--- a/graphics/py-img2pdf/distinfo
+++ b/graphics/py-img2pdf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747416899
-SHA256 (img2pdf-0.6.1.tar.gz) = 306e279eb832bc159d7d6294b697a9fbd11b4be1f799b14b3b2174fb506af289
-SIZE (img2pdf-0.6.1.tar.gz) = 106513
+TIMESTAMP = 1763037629
+SHA256 (img2pdf-0.6.3.tar.gz) = 219518020f5bd242bdc46493941ea3f756f664c2e86f2454721e74353f58cd95
+SIZE (img2pdf-0.6.3.tar.gz) = 120350
diff --git a/graphics/py-mapclassify/Makefile b/graphics/py-mapclassify/Makefile
index e358fe2de757..a20d7907827a 100644
--- a/graphics/py-mapclassify/Makefile
+++ b/graphics/py-mapclassify/Makefile
@@ -1,5 +1,6 @@
PORTNAME= mapclassify
PORTVERSION= 2.10.0
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-mayavi/Makefile b/graphics/py-mayavi/Makefile
index 4231c09f8271..3436526944e5 100644
--- a/graphics/py-mayavi/Makefile
+++ b/graphics/py-mayavi/Makefile
@@ -19,6 +19,8 @@ LICENSE_FILE_LGPL3= ${WRKSRC}/image_LICENSE_OOo.txt
LICENSE_FILE_BSD2CLAUSE= ${WRKSRC}/LICENSE_YORICK.txt
LICENSE_FILE_APACHE11= ${WRKSRC}/LICENSE_COLORBREWER.txt
+BROKEN_i386= stage fails: Building TVTK classes... Fatal Python error: Illegal instruction
+
BUILD_DEPENDS= ${PYNUMPY} \
${PY_SPHINX} \
sphinx-build:textproc/py-sphinx@${PY_FLAVOR}
diff --git a/graphics/py-mcomix/Makefile b/graphics/py-mcomix/Makefile
index 6c1598471011..b9da1c41cf79 100644
--- a/graphics/py-mcomix/Makefile
+++ b/graphics/py-mcomix/Makefile
@@ -1,8 +1,8 @@
PORTNAME= mcomix
-DISTVERSION= 2.2.1
-PORTREVISION= 3
+DISTVERSION= 3.1.1
+PORTREVISION= 1
CATEGORIES= graphics
-MASTER_SITES= SF/${PORTNAME}/MComix-${PORTVERSION}
+MASTER_SITES= SF/${PORTNAME}/MComix-${DISTVERSION}
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= shoesoft@gmx.net
@@ -12,14 +12,17 @@ WWW= https://sourceforge.net/projects/mcomix/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=5.2.0:graphics/py-pillow@${PY_FLAVOR}
-RUN_DEPENDS:= ${BUILD_DEPENDS}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
-NO_ARCH= yes
USES= desktop-file-utils gnome python
USE_GNOME= gtk30 pygobject3
+USE_PYTHON= autoplist pep517
-USE_PYTHON= autoplist distutils
+NO_ARCH= yes
OPTIONS_DEFINE= RAR
OPTIONS_DEFAULT=RAR
@@ -27,4 +30,7 @@ OPTIONS_DEFAULT=RAR
RAR_DESC= RAR (.cbr) comic book archives support
RAR_RUN_DEPENDS=${LOCALBASE}/lib/libunrar.so:archivers/libunrar
+post-install:
+ (cd ${WRKSRC} && ${COPYTREE_SHARE} share ${STAGEDIR}${PREFIX})
+
.include <bsd.port.mk>
diff --git a/graphics/py-mcomix/distinfo b/graphics/py-mcomix/distinfo
index 5a756ce66f8b..8a6f11cac61c 100644
--- a/graphics/py-mcomix/distinfo
+++ b/graphics/py-mcomix/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1689346249
-SHA256 (mcomix-2.2.1.tar.gz) = 7e69e53e134237a611de55b660230401b1225958a071f143ab5b434357933640
-SIZE (mcomix-2.2.1.tar.gz) = 531734
+TIMESTAMP = 1757158830
+SHA256 (mcomix-3.1.1.tar.gz) = a10aaaed7bc07deb74efde93bf9a8a27e1bcbf1824a0519b264cfee582becef8
+SIZE (mcomix-3.1.1.tar.gz) = 669463
diff --git a/graphics/py-mcomix/pkg-plist b/graphics/py-mcomix/pkg-plist
new file mode 100644
index 000000000000..197fd81e037e
--- /dev/null
+++ b/graphics/py-mcomix/pkg-plist
@@ -0,0 +1,31 @@
+share/applications/mcomix.desktop
+share/icons/hicolor/16x16/apps/mcomix.png
+share/icons/hicolor/16x16/mimetypes/application-x-cb7.png
+share/icons/hicolor/16x16/mimetypes/application-x-cbr.png
+share/icons/hicolor/16x16/mimetypes/application-x-cbt.png
+share/icons/hicolor/16x16/mimetypes/application-x-cbz.png
+share/icons/hicolor/22x22/apps/mcomix.png
+share/icons/hicolor/22x22/mimetypes/application-x-cb7.png
+share/icons/hicolor/22x22/mimetypes/application-x-cbr.png
+share/icons/hicolor/22x22/mimetypes/application-x-cbt.png
+share/icons/hicolor/22x22/mimetypes/application-x-cbz.png
+share/icons/hicolor/24x24/apps/mcomix.png
+share/icons/hicolor/24x24/mimetypes/application-x-cb7.png
+share/icons/hicolor/24x24/mimetypes/application-x-cbr.png
+share/icons/hicolor/24x24/mimetypes/application-x-cbt.png
+share/icons/hicolor/24x24/mimetypes/application-x-cbz.png
+share/icons/hicolor/256x256/apps/mcomix.png
+share/icons/hicolor/32x32/apps/mcomix.png
+share/icons/hicolor/32x32/mimetypes/application-x-cb7.png
+share/icons/hicolor/32x32/mimetypes/application-x-cbr.png
+share/icons/hicolor/32x32/mimetypes/application-x-cbt.png
+share/icons/hicolor/32x32/mimetypes/application-x-cbz.png
+share/icons/hicolor/48x48/apps/mcomix.png
+share/icons/hicolor/48x48/mimetypes/application-x-cb7.png
+share/icons/hicolor/48x48/mimetypes/application-x-cbr.png
+share/icons/hicolor/48x48/mimetypes/application-x-cbt.png
+share/icons/hicolor/48x48/mimetypes/application-x-cbz.png
+share/icons/hicolor/scalable/apps/mcomix.svg
+share/man/man1/mcomix.1.gz
+share/metainfo/mcomix.metainfo.xml
+share/mime/packages/mcomix.xml
diff --git a/graphics/py-moderngl-window/Makefile b/graphics/py-moderngl-window/Makefile
index 4ed7d576ca2f..dfdbb6f95dfd 100644
--- a/graphics/py-moderngl-window/Makefile
+++ b/graphics/py-moderngl-window/Makefile
@@ -1,5 +1,6 @@
PORTNAME= moderngl-window
DISTVERSION= 3.1.0
+PORTREVISION= 1
CATEGORIES= graphics
#MASTER_SITES= PYPI # no tests
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-moderngl/Makefile b/graphics/py-moderngl/Makefile
index ce7ae0009617..837ce11e488d 100644
--- a/graphics/py-moderngl/Makefile
+++ b/graphics/py-moderngl/Makefile
@@ -1,5 +1,6 @@
PORTNAME= moderngl
DISTVERSION= 5.12.0
+PORTREVISION= 1
CATEGORIES= graphics
#MASTER_SITES= PYPI # no tests
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-momepy/Makefile b/graphics/py-momepy/Makefile
index fafc81c8aa09..b622de024dbb 100644
--- a/graphics/py-momepy/Makefile
+++ b/graphics/py-momepy/Makefile
@@ -1,6 +1,5 @@
PORTNAME= momepy
-PORTVERSION= 0.5.4
-PORTREVISION= 4
+PORTVERSION= 0.10.0
CATEGORIES= graphics python
MASTER_SITES= PYPI \
https://github.com/pysal/momepy/releases/download/v${PORTVERSION}/
@@ -14,18 +13,28 @@ WWW= https://docs.momepy.org/en/stable/ \
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.2:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}geopandas>=0.8.0:graphics/py-geopandas@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}libpysal>=4.2.0:science/py-libpysal@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}networkx>=2.3:math/py-networkx@${PY_FLAVOR} \
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}geopandas>=0.14.0:graphics/py-geopandas@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}libpysal>=4.12.0:science/py-libpysal@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}networkx>=3.2,2:math/py-networkx@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pygeos>=0:graphics/py-pygeos@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}tqdm>=4.27.0:misc/py-tqdm@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}pandas>=2.0,1:math/py-pandas@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}shapely>=2:devel/py-shapely@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tqdm>=4.65:misc/py-tqdm@${PY_FLAVOR}
-USES= python
+USES= python:3.11+
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
+OPTIONS_DEFINE= PLUS
+PLUS_DESC= Extra features
+
+PLUS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}esda>=0:science/py-esda@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}inequality>=0:science/py-inequality@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mapclassify>=0:graphics/py-mapclassify@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numba>=0:devel/py-numba@${PY_FLAVOR}
+
.include <bsd.port.mk>
diff --git a/graphics/py-momepy/distinfo b/graphics/py-momepy/distinfo
index 9ad834a74145..0796ec9f9b2b 100644
--- a/graphics/py-momepy/distinfo
+++ b/graphics/py-momepy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1664767962
-SHA256 (momepy-0.5.4.tar.gz) = 0160fccfe92f7acb15cd5a2e4ff855c989f34b9afe6c4c5060d082ff97895d4f
-SIZE (momepy-0.5.4.tar.gz) = 256673
+TIMESTAMP = 1755204781
+SHA256 (momepy-0.10.0.tar.gz) = d7b62de1ee420518491ce3cd2bc21815a149cc2a5e6132f122486e8542a74248
+SIZE (momepy-0.10.0.tar.gz) = 30085049
diff --git a/graphics/py-mpl-interactions/Makefile b/graphics/py-mpl-interactions/Makefile
index b31453c40a43..5d2673ae9721 100644
--- a/graphics/py-mpl-interactions/Makefile
+++ b/graphics/py-mpl-interactions/Makefile
@@ -1,5 +1,6 @@
PORTNAME= mpl-interactions
DISTVERSION= 0.24.2
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-mpl-scatter-density/Makefile b/graphics/py-mpl-scatter-density/Makefile
index 1df53274fcb3..16bca02ef23e 100644
--- a/graphics/py-mpl-scatter-density/Makefile
+++ b/graphics/py-mpl-scatter-density/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mpl-scatter-density
PORTVERSION= 0.7
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-napari-console/Makefile b/graphics/py-napari-console/Makefile
index d0a4887cd29d..516ec0ab934c 100644
--- a/graphics/py-napari-console/Makefile
+++ b/graphics/py-napari-console/Makefile
@@ -1,5 +1,5 @@
PORTNAME= napari-console
-DISTVERSION= 0.1.3
+DISTVERSION= 0.1.4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-napari-console/distinfo b/graphics/py-napari-console/distinfo
index 4668caf35695..a5c3ff04f3fd 100644
--- a/graphics/py-napari-console/distinfo
+++ b/graphics/py-napari-console/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734757183
-SHA256 (napari_console-0.1.3.tar.gz) = ba4f7e1cdca65a7924631372a5e58884e2e35a2b9092c79b98acb9c2dfe1254f
-SIZE (napari_console-0.1.3.tar.gz) = 20010
+TIMESTAMP = 1763481432
+SHA256 (napari_console-0.1.4.tar.gz) = e185e4d36d8171ae23ca383dc69c38df76592a984d6c99ad08372d188a1fbb9b
+SIZE (napari_console-0.1.4.tar.gz) = 20152
diff --git a/graphics/py-nwdiag/Makefile b/graphics/py-nwdiag/Makefile
index c646b1940429..95676ea700fa 100644
--- a/graphics/py-nwdiag/Makefile
+++ b/graphics/py-nwdiag/Makefile
@@ -1,6 +1,6 @@
PORTNAME= nwdiag
PORTVERSION= 3.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-opencolorio/Makefile b/graphics/py-opencolorio/Makefile
index cf62c4ac05f9..6ca6e604f265 100644
--- a/graphics/py-opencolorio/Makefile
+++ b/graphics/py-opencolorio/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 0
+PORTREVISION= 1
CATEGORIES= graphics multimedia python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-openimageio/Makefile b/graphics/py-openimageio/Makefile
index 19fb1ec74e47..9ddd29b860c8 100644
--- a/graphics/py-openimageio/Makefile
+++ b/graphics/py-openimageio/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 8
+PORTREVISION= 11
CATEGORIES= graphics multimedia python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-openshadinglanguage/Makefile b/graphics/py-openshadinglanguage/Makefile
index 48c55b7de384..54c1ca18f122 100644
--- a/graphics/py-openshadinglanguage/Makefile
+++ b/graphics/py-openshadinglanguage/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 5
+PORTREVISION= 7
CATEGORIES= graphics multimedia python
# Note this port shares its PORTREVISION with graphics/openshadinglanguage!
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-openslide-python/Makefile b/graphics/py-openslide-python/Makefile
index 002976c3bf79..4d9723146101 100644
--- a/graphics/py-openslide-python/Makefile
+++ b/graphics/py-openslide-python/Makefile
@@ -1,7 +1,7 @@
PORTNAME= openslide-python
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
#MASTER_SITES= PYPI # no tarball
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-optimize-images/Makefile b/graphics/py-optimize-images/Makefile
index 6e17ad54cfa9..4a6c1d9027a6 100644
--- a/graphics/py-optimize-images/Makefile
+++ b/graphics/py-optimize-images/Makefile
@@ -1,6 +1,6 @@
PORTNAME= optimize-images
PORTVERSION= 1.5.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pandarm/Makefile b/graphics/py-pandarm/Makefile
new file mode 100644
index 000000000000..10178e91f69f
--- /dev/null
+++ b/graphics/py-pandarm/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= pandarm
+PORTVERSION= 0.0.3
+CATEGORIES= graphics python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Pandas routing machine
+WWW= https://github.com/oturns/pandarm
+
+LICENSE= AGPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools>=40.8:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.2:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}geopandas>=0:graphics/py-geopandas@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pandas>=2,1:math/py-pandas@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scikit-learn>=0.18:science/py-scikit-learn@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tables>=3.1:devel/py-tables@${PY_FLAVOR}
+
+USES= compiler:c++11-lang python
+USE_PYTHON= autoplist concurrent cython3 pep517
+
+post-install:
+ ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+.include <bsd.port.mk>
diff --git a/graphics/py-pandarm/distinfo b/graphics/py-pandarm/distinfo
new file mode 100644
index 000000000000..e257b0ff11e8
--- /dev/null
+++ b/graphics/py-pandarm/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1765032802
+SHA256 (pandarm-0.0.3.tar.gz) = 2aa4d069326480a189b5ce7c8d2b43005c6abf861f3f67b880ac8e13fbf34f8f
+SIZE (pandarm-0.0.3.tar.gz) = 12783812
diff --git a/graphics/py-pandarm/files/patch-pyproject.toml b/graphics/py-pandarm/files/patch-pyproject.toml
new file mode 100644
index 000000000000..5a9669386ce9
--- /dev/null
+++ b/graphics/py-pandarm/files/patch-pyproject.toml
@@ -0,0 +1,36 @@
+--- pyproject.toml.orig 2025-11-28 23:32:04 UTC
++++ pyproject.toml
+@@ -1,7 +1,7 @@ build-backend = "setuptools.build_meta"
+ [build-system]
+ # Requirements for building the compiled package
+ build-backend = "setuptools.build_meta"
+-requires = ["wheel", "setuptools >=40.8", "setuptools_scm[toml]>=6.2", "cython >=3", "numpy >=2.0"]
++requires = ["wheel", "setuptools >=40.8", "setuptools_scm[toml]>=6.2", "cython >=3", "numpy"]
+
+ [tool.setuptools_scm]
+
+@@ -9,7 +9,7 @@ dependencies = [
+ name = "pandarm"
+ dynamic = ["version"]
+ dependencies = [
+- "numpy >=2",
++ "numpy",
+ "pandas >=2",
+ "geopandas",
+ "scikit-learn >=0.18",
+@@ -19,7 +19,7 @@ classifiers = [
+ "Programming Language :: Python :: 3",
+ "License :: OSI Approved :: GNU Affero General Public License v3"
+ ]
+-license-files = ["LICENSE"]
++license = {file = "LICENSE"}
+ requires-python = ">=3.10"
+
+ [tool.setuptools.packages.find]
+@@ -74,4 +74,4 @@ exclude_lines = [
+ "raise NotImplementedError",
+ "except ModuleNotFoundError:",
+ "except ImportError",
+-]
+\ No newline at end of file
++]
diff --git a/graphics/py-pandarm/pkg-descr b/graphics/py-pandarm/pkg-descr
new file mode 100644
index 000000000000..7280c12d35d3
--- /dev/null
+++ b/graphics/py-pandarm/pkg-descr
@@ -0,0 +1,14 @@
+A pandas-centric interface to highly performant travel network analysis
+leveraging contraction hierarchies provided by code from the Open Source Routing
+Machine (OSRM). Hence, the pandas routing machine, pandarm. This package is a
+friendly fork of the pandana library, originally written by Fletcher Foti and
+UrbanSim Inc. Despite fantastic work by the original authors, maintaining
+open-source software is a great deal of work and the pandana library is no
+longer compatible with the current pydata stack (specifically as of numpy
+version 2.0). This fork reinstates compatibility and brings along a few new
+modern touches and enhancements. Pull requests are very welcome.
+
+Main features of the package include:
+- multi-threaded calculation of shortest path routes and distances
+- network aggregations (i.e. accessibility metrics)
+- network-based isochrones
diff --git a/graphics/py-pdf2image/Makefile b/graphics/py-pdf2image/Makefile
index c4a5999385e1..aa8a170dfd07 100644
--- a/graphics/py-pdf2image/Makefile
+++ b/graphics/py-pdf2image/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pdf2image
PORTVERSION= 1.17.0
-PORTREVISION= 3
+PORTREVISION= 5
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-photocollage/Makefile b/graphics/py-photocollage/Makefile
index 4026f06d13ef..ebbe46c07cf7 100644
--- a/graphics/py-photocollage/Makefile
+++ b/graphics/py-photocollage/Makefile
@@ -1,6 +1,6 @@
PORTNAME= photocollage
DISTVERSION= 1.4.5
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pillow-heif/Makefile b/graphics/py-pillow-heif/Makefile
index 0da79191396e..e0e4b11f3b92 100644
--- a/graphics/py-pillow-heif/Makefile
+++ b/graphics/py-pillow-heif/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pillow-heif
-PORTVERSION= 0.22.0
+PORTVERSION= 1.1.1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -15,9 +15,9 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
LIB_DEPENDS= libheif.so:graphics/libheif
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=10.1.0:graphics/py-pillow@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=11.1.0:graphics/py-pillow@${PY_FLAVOR}
-USES= localbase python:3.9+
+USES= localbase python
USE_PYTHON= autoplist concurrent pep517
LDFLAGS+= -lheif
diff --git a/graphics/py-pillow-heif/distinfo b/graphics/py-pillow-heif/distinfo
index c5e0378157c0..79a3e6c835c0 100644
--- a/graphics/py-pillow-heif/distinfo
+++ b/graphics/py-pillow-heif/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742405500
-SHA256 (pillow_heif-0.22.0.tar.gz) = 61d473929340d3073722f6316b7fbbdb11132faa6bac0242328e8436cc55b39a
-SIZE (pillow_heif-0.22.0.tar.gz) = 18551571
+TIMESTAMP = 1762586856
+SHA256 (pillow_heif-1.1.1.tar.gz) = f60e8c8a8928556104cec4fff39d43caa1da105625bdb53b11ce3c89d09b6bde
+SIZE (pillow_heif-1.1.1.tar.gz) = 18271952
diff --git a/graphics/py-pillow/Makefile b/graphics/py-pillow/Makefile
index ac2b8f95de43..05078af782ac 100644
--- a/graphics/py-pillow/Makefile
+++ b/graphics/py-pillow/Makefile
@@ -1,5 +1,6 @@
PORTNAME= pillow
PORTVERSION= 11.3.0
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pointpats/Makefile b/graphics/py-pointpats/Makefile
index 1d7f63df153e..61599c2b9360 100644
--- a/graphics/py-pointpats/Makefile
+++ b/graphics/py-pointpats/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pointpats
-PORTVERSION= 2.4.0
+PORTVERSION= 2.5.2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -15,11 +15,13 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.2:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libpysal>=4:science/py-libpysal@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}matplotlib>=0:math/py-matplotlib@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pandas>=0,1:math/py-pandas@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}scipy>=1.8:science/py-scipy@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}geopandas>=0.12:graphics/py-geopandas@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}libpysal>=4.8:science/py-libpysal@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}matplotlib>=3.6:math/py-matplotlib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numpy>=1.24,1:math/py-numpy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pandas>=1.4,1:math/py-pandas@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scipy>=1.10:science/py-scipy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}shapely>=2:devel/py-shapely@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist concurrent pep517
diff --git a/graphics/py-pointpats/distinfo b/graphics/py-pointpats/distinfo
index 70249263e9ac..a418e25d93a6 100644
--- a/graphics/py-pointpats/distinfo
+++ b/graphics/py-pointpats/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1696048438
-SHA256 (pointpats-2.4.0.tar.gz) = df6344e19136d7256abc99aaac404be961ae6f5c316fa05ca1b6e17892c59e27
-SIZE (pointpats-2.4.0.tar.gz) = 4269592
+TIMESTAMP = 1762586858
+SHA256 (pointpats-2.5.2.tar.gz) = 6be0be63c893b542d4b6b00609bb8378c38b58245c1cc53a95283500c3d4a663
+SIZE (pointpats-2.5.2.tar.gz) = 4472957
diff --git a/graphics/py-proplot/Makefile b/graphics/py-proplot/Makefile
index fbbe34dcbf34..667fcc1c9ef5 100644
--- a/graphics/py-proplot/Makefile
+++ b/graphics/py-proplot/Makefile
@@ -1,5 +1,6 @@
PORTNAME= proplot
PORTVERSION= 0.9.7
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pycollada/Makefile b/graphics/py-pycollada/Makefile
index 37e4ea3a82bc..3aaac872f68e 100644
--- a/graphics/py-pycollada/Makefile
+++ b/graphics/py-pycollada/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pycollada
DISTVERSION= 0.6
-PORTREVISION= 6
+PORTREVISION= 8
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyganim/Makefile b/graphics/py-pyganim/Makefile
index 78d68be40f5a..939fe66d5cb9 100644
--- a/graphics/py-pyganim/Makefile
+++ b/graphics/py-pyganim/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyganim
PORTVERSION= 0.9.2
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pygeoapi/Makefile b/graphics/py-pygeoapi/Makefile
index 2268fc8d4053..6c4e49642141 100644
--- a/graphics/py-pygeoapi/Makefile
+++ b/graphics/py-pygeoapi/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pygeoapi
-PORTVERSION= 0.19.0
+PORTVERSION= 0.22.0
CATEGORIES= graphics geography python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pygeoapi/distinfo b/graphics/py-pygeoapi/distinfo
index ececabb9ca8f..4ea4f7c156dd 100644
--- a/graphics/py-pygeoapi/distinfo
+++ b/graphics/py-pygeoapi/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742576854
-SHA256 (pygeoapi-0.19.0.tar.gz) = b9a2cd68f4c288f24ed27ad532310967df83cff9f9fc4276fd7bf67f568c8e31
-SIZE (pygeoapi-0.19.0.tar.gz) = 304116
+TIMESTAMP = 1765570030
+SHA256 (pygeoapi-0.22.0.tar.gz) = 43689d6c89e6bd7536c9384db4617fa499f82823394a656dd50c2ea126c92150
+SIZE (pygeoapi-0.22.0.tar.gz) = 324148
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-pygraphviz/Makefile b/graphics/py-pygraphviz/Makefile
index ffcc65be7ad9..0fb772d2b566 100644
--- a/graphics/py-pygraphviz/Makefile
+++ b/graphics/py-pygraphviz/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pygraphviz
PORTVERSION= 1.6
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyinsane2/Makefile b/graphics/py-pyinsane2/Makefile
index 8d8737a3f29d..60d700ee493e 100644
--- a/graphics/py-pyinsane2/Makefile
+++ b/graphics/py-pyinsane2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyinsane2
DISTVERSION= 2.0.13
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyocr/Makefile b/graphics/py-pyocr/Makefile
index 28975c4409bc..40987b8b1e83 100644
--- a/graphics/py-pyocr/Makefile
+++ b/graphics/py-pyocr/Makefile
@@ -1,5 +1,6 @@
PORTNAME= pyocr
DISTVERSION= 0.8.5
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyogrio/Makefile b/graphics/py-pyogrio/Makefile
new file mode 100644
index 000000000000..47cb754a836f
--- /dev/null
+++ b/graphics/py-pyogrio/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= pyogrio
+PORTVERSION= 0.12.1
+CATEGORIES= graphics python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Vectorized spatial vector file format I/O using GDAL/OGR
+WWW= https://pyogrio.readthedocs.io/en/latest/ \
+ https://github.com/geopandas/pyogrio
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PY_TOMLI} \
+ ${PYTHON_PKGNAMEPREFIX}versioneer>=0.28:devel/py-versioneer@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+LIB_DEPENDS= libgdal.so:graphics/gdal
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>=0:security/py-certifi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent cython3 pep517
+
+OPTIONS_DEFINE= GEOPANDAS
+OPTIONS_DEFAULT=GEOPANDAS
+GEOPANDAS_DESC= GeoPandas support
+
+GEOPANDAS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}geopandas>=0:graphics/py-geopandas@${PY_FLAVOR}
+
+post-install:
+ ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+.include <bsd.port.mk>
diff --git a/graphics/py-pyogrio/distinfo b/graphics/py-pyogrio/distinfo
new file mode 100644
index 000000000000..338e5c2ee295
--- /dev/null
+++ b/graphics/py-pyogrio/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1765032630
+SHA256 (pyogrio-0.12.1.tar.gz) = e548ab705bb3e5383693717de1e6c76da97f3762ab92522cb310f93128a75ff1
+SIZE (pyogrio-0.12.1.tar.gz) = 303289
diff --git a/graphics/py-pyogrio/files/patch-pyproject.toml b/graphics/py-pyogrio/files/patch-pyproject.toml
new file mode 100644
index 000000000000..520da6d2e1b9
--- /dev/null
+++ b/graphics/py-pyogrio/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig 2025-11-28 18:23:16 UTC
++++ pyproject.toml
+@@ -2,7 +2,7 @@ requires = [
+ requires = [
+ "setuptools",
+ "Cython>=3.1",
+- "versioneer[toml]==0.28",
++ "versioneer[toml]>=0.28",
+ # tomli is used by versioneer
+ "tomli; python_version < '3.11'",
+ ]
diff --git a/graphics/py-pyogrio/pkg-descr b/graphics/py-pyogrio/pkg-descr
new file mode 100644
index 000000000000..18433683b332
--- /dev/null
+++ b/graphics/py-pyogrio/pkg-descr
@@ -0,0 +1,18 @@
+Pyogrio provides fast, bulk-oriented read and write access to GDAL/OGR vector
+data sources, such as ESRI Shapefile, GeoPackage, GeoJSON, and several others.
+Vector data sources typically have geometries, such as points, lines, or
+polygons, and associated records with potentially many columns worth of data.
+
+The typical use is to read or write these data sources to/from GeoPandas
+GeoDataFrames. Because the geometry column is optional, reading or writing only
+non-spatial data is also possible. Hence, GeoPackage attribute tables, DBF
+files, or CSV files are also supported.
+
+Pyogrio is fast because it uses pre-compiled bindings for GDAL/OGR to read and
+write the data records in bulk. This approach avoids multiple steps of
+converting to and from Python data types within Python, so performance becomes
+primarily limited by the underlying I/O speed of data source drivers in
+GDAL/OGR.
+
+We have seen >5-10x speedups reading files and >5-20x speedups writing files
+compared to using row-per-row approaches (e.g. Fiona).
diff --git a/graphics/py-pypillowfight/Makefile b/graphics/py-pypillowfight/Makefile
index 3db4378b5f2c..7ad21f75407c 100644
--- a/graphics/py-pypillowfight/Makefile
+++ b/graphics/py-pypillowfight/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pypillowfight
DISTVERSION= 0.3.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyproj/Makefile b/graphics/py-pyproj/Makefile
index bca88cf33e6e..fce72b1915be 100644
--- a/graphics/py-pyproj/Makefile
+++ b/graphics/py-pyproj/Makefile
@@ -1,5 +1,6 @@
PORTNAME= pyproj
-PORTVERSION= 3.7.1
+PORTVERSION= 3.7.2
+PORTREVISION= 1
CATEGORIES= graphics geography python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,13 +13,13 @@ WWW= https://pyproj4.github.io/pyproj/stable/ \
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= proj>=9.2.0,1:graphics/proj \
+BUILD_DEPENDS= proj>=9.4.0,1:graphics/proj \
${PYTHON_PKGNAMEPREFIX}setuptools>=61.0.0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
LIB_DEPENDS= libproj.so:graphics/proj
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>=0:security/py-certifi@${PY_FLAVOR}
-USES= python:3.10+
+USES= python:3.11+
USE_PYTHON= autoplist concurrent cython3 pep517
MAKE_ENV= PROJ_DIR=${LOCALBASE}
diff --git a/graphics/py-pyproj/distinfo b/graphics/py-pyproj/distinfo
index 0130431f365d..b637bdac1f08 100644
--- a/graphics/py-pyproj/distinfo
+++ b/graphics/py-pyproj/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739930196
-SHA256 (pyproj-3.7.1.tar.gz) = 60d72facd7b6b79853f19744779abcd3f804c4e0d4fa8815469db20c9f640a47
-SIZE (pyproj-3.7.1.tar.gz) = 226339
+TIMESTAMP = 1757120780
+SHA256 (pyproj-3.7.2.tar.gz) = 39a0cf1ecc7e282d1d30f36594ebd55c9fae1fda8a2622cee5d100430628f88c
+SIZE (pyproj-3.7.2.tar.gz) = 226279
diff --git a/graphics/py-pyproj/files/patch-pyproject.toml b/graphics/py-pyproj/files/patch-pyproject.toml
new file mode 100644
index 000000000000..c62909e7efe9
--- /dev/null
+++ b/graphics/py-pyproj/files/patch-pyproject.toml
@@ -0,0 +1,12 @@
+--- pyproject.toml.orig 2025-08-14 11:05:05 UTC
++++ pyproject.toml
+@@ -13,8 +13,7 @@ maintainers = [
+ maintainers = [
+ {name = "pyproj contributors"},
+ ]
+-license = "MIT"
+-license-files = ["LICENSE", "LICENSE_proj"]
++license = {text = "MIT"}
+ keywords = [
+ "GIS",
+ "map",
diff --git a/graphics/py-pyqtgraph/Makefile b/graphics/py-pyqtgraph/Makefile
index ca9fd36892fa..d9fa1ce9374f 100644
--- a/graphics/py-pyqtgraph/Makefile
+++ b/graphics/py-pyqtgraph/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyqtgraph
DISTVERSION= 0.13.7
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics science python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyrsgis/Makefile b/graphics/py-pyrsgis/Makefile
index 059671ce35cd..fc2245ce39cb 100644
--- a/graphics/py-pyrsgis/Makefile
+++ b/graphics/py-pyrsgis/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyrsgis
PORTVERSION= 0.4.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pytesseract/Makefile b/graphics/py-pytesseract/Makefile
index 363a3275c4f2..6af70194188f 100644
--- a/graphics/py-pytesseract/Makefile
+++ b/graphics/py-pytesseract/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pytesseract
PORTVERSION= 0.3.13
-PORTREVISION= 1
+PORTREVISION= 2
DISTVERSIONPREFIX= v
CATEGORIES= graphics python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-python-barcode/Makefile b/graphics/py-python-barcode/Makefile
index 9aa0c45db718..103ef5a83e04 100644
--- a/graphics/py-python-barcode/Makefile
+++ b/graphics/py-python-barcode/Makefile
@@ -1,5 +1,6 @@
PORTNAME= python-barcode
PORTVERSION= 0.15.1
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-python-poppler-qt5/Makefile b/graphics/py-python-poppler-qt5/Makefile
index 907b010a0d10..82d739b7a562 100644
--- a/graphics/py-python-poppler-qt5/Makefile
+++ b/graphics/py-python-poppler-qt5/Makefile
@@ -1,7 +1,7 @@
PORTNAME= python-poppler-qt5
DISTVERSIONPREFIX= v
DISTVERSION= 21.3.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pyvista/Makefile b/graphics/py-pyvista/Makefile
index 80aa88554f1c..9f36906e3555 100644
--- a/graphics/py-pyvista/Makefile
+++ b/graphics/py-pyvista/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pyvista
DISTVERSION= 0.34.2
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-qpageview/Makefile b/graphics/py-qpageview/Makefile
index 6a19c6072df3..5e4219be8874 100644
--- a/graphics/py-qpageview/Makefile
+++ b/graphics/py-qpageview/Makefile
@@ -1,7 +1,6 @@
PORTNAME= qpageview
DISTVERSIONPREFIX= v
-DISTVERSION= 0.6.2
-PORTREVISION= 3
+DISTVERSION= 1.0.1
CATEGORIES= graphics python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,13 +11,13 @@ WWW= https://qpageview.org/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-poppler-qt5>=0:graphics/py-python-poppler-qt5@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
-USES= pyqt:5 python qt:5
+USES= pyqt:6 python qt:6
USE_GITHUB= yes
GH_ACCOUNT= frescobaldi
-USE_PYQT= pyqt5
-USE_PYTHON= autoplist distutils
+USE_PYQT= pyqt6
+USE_PYTHON= autoplist pep517
NO_ARCH= yes
diff --git a/graphics/py-qpageview/distinfo b/graphics/py-qpageview/distinfo
index 2ca2c24d0a9d..5fef5ae365ee 100644
--- a/graphics/py-qpageview/distinfo
+++ b/graphics/py-qpageview/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1653158600
-SHA256 (frescobaldi-qpageview-v0.6.2_GH0.tar.gz) = 5ac3140396f11b15d6438ce34d5ce77f8b7e76f7dcd4c0439c85740d9e5d3674
-SIZE (frescobaldi-qpageview-v0.6.2_GH0.tar.gz) = 159098
+TIMESTAMP = 1754919691
+SHA256 (frescobaldi-qpageview-v1.0.1_GH0.tar.gz) = 67888cbc5c66205ff0d64ea0c612e70ca48171dcd79643d033ac64f9e1f8a607
+SIZE (frescobaldi-qpageview-v1.0.1_GH0.tar.gz) = 160218
diff --git a/graphics/py-rasterio/Makefile b/graphics/py-rasterio/Makefile
index 47404cbbfd52..95516722e799 100644
--- a/graphics/py-rasterio/Makefile
+++ b/graphics/py-rasterio/Makefile
@@ -40,10 +40,4 @@ S3_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>=1.2.4:www/py-boto3@${PY_FLAVOR}
post-install:
${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
-.include <bsd.port.pre.mk>
-
-.if ${PYTHON_REL} < 31000
-RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=0:devel/py-importlib-metadata@${PY_FLAVOR}
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/graphics/py-rawpy/Makefile b/graphics/py-rawpy/Makefile
index 2b1902e4e7a8..fa2fad0c1854 100644
--- a/graphics/py-rawpy/Makefile
+++ b/graphics/py-rawpy/Makefile
@@ -1,5 +1,5 @@
PORTNAME= rawpy
-PORTVERSION= 0.25.0
+PORTVERSION= 0.25.1
DISTVERSIONPREFIX= v
CATEGORIES= graphics python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-rawpy/distinfo b/graphics/py-rawpy/distinfo
index ae770f072946..4c70303ac5db 100644
--- a/graphics/py-rawpy/distinfo
+++ b/graphics/py-rawpy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747715442
-SHA256 (letmaik-rawpy-v0.25.0_GH0.tar.gz) = a97feea139a42d89024c983d1321ed5c374a2bdd8cb45f73d6bea37402c08998
-SIZE (letmaik-rawpy-v0.25.0_GH0.tar.gz) = 75984021
+TIMESTAMP = 1757120782
+SHA256 (letmaik-rawpy-v0.25.1_GH0.tar.gz) = 664d9d2d6c1692f1c129fc24ea9c430552f915853cd53ec76f5ad4d9b0a401f9
+SIZE (letmaik-rawpy-v0.25.1_GH0.tar.gz) = 75984071
diff --git a/graphics/py-rich-pixels/Makefile b/graphics/py-rich-pixels/Makefile
index 08b799f35d2c..7967514dbe14 100644
--- a/graphics/py-rich-pixels/Makefile
+++ b/graphics/py-rich-pixels/Makefile
@@ -1,5 +1,6 @@
PORTNAME= rich-pixels
DISTVERSION= 3.0.1
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-rlpycairo/Makefile b/graphics/py-rlpycairo/Makefile
new file mode 100644
index 000000000000..f0948ef6c85e
--- /dev/null
+++ b/graphics/py-rlpycairo/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= rlpycairo
+DISTVERSION= 0.4.0
+CATEGORIES= graphics print python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Plugin backend renderer for reportlab.graphics.renderPM
+WWW= https://hg.reportlab.com/hg-public/rlPyCairo
+
+LICENSE= BSD3CLAUSE
+#LICENSE_FILE= Not yet packaged in sdist
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cairo>=1.20:graphics/py-cairo@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}freetype-py>=2.3:print/py-freetype-py@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/graphics/py-rlpycairo/distinfo b/graphics/py-rlpycairo/distinfo
new file mode 100644
index 000000000000..69fb4d18e22e
--- /dev/null
+++ b/graphics/py-rlpycairo/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1763826583
+SHA256 (rlpycairo-0.4.0.tar.gz) = 07c2c3c47828e83d9c09657a54ecbcd1a97aac9dc199780234456d3473faadc7
+SIZE (rlpycairo-0.4.0.tar.gz) = 7692
diff --git a/graphics/py-rlpycairo/files/patch-pyproject.toml b/graphics/py-rlpycairo/files/patch-pyproject.toml
new file mode 100644
index 000000000000..147aefdc5c00
--- /dev/null
+++ b/graphics/py-rlpycairo/files/patch-pyproject.toml
@@ -0,0 +1,13 @@
+Normalize the bdist wheel name to avoid staging errors.
+
+--- pyproject.toml.orig 2025-09-30 16:12:51 UTC
++++ pyproject.toml
+@@ -3,7 +3,7 @@ build-backend = "setuptools.build_meta"
+ build-backend = "setuptools.build_meta"
+
+ [project]
+-name = "rlPyCairo"
++name = "rlpycairo"
+ description="Plugin backend renderer for reportlab.graphics.renderPM"
+ readme = "README.txt"
+ authors=[
diff --git a/graphics/py-rlpycairo/pkg-descr b/graphics/py-rlpycairo/pkg-descr
new file mode 100644
index 000000000000..1728e67c719e
--- /dev/null
+++ b/graphics/py-rlpycairo/pkg-descr
@@ -0,0 +1,7 @@
+This is a plugin for the ReportLab PDF Toolkit, which constructs rich PDF
+documents, and is also used for the creation of charts in a variety of bitmap
+and vector formats.
+
+This plugin is intended to replace most of the usage of the libart based
+C extension _renderPM which has been shown to have issues when rendering
+complex documents.
diff --git a/graphics/py-s2/files/patch-swig b/graphics/py-s2/files/patch-swig
new file mode 100644
index 000000000000..f9d4927c756e
--- /dev/null
+++ b/graphics/py-s2/files/patch-swig
@@ -0,0 +1,17 @@
+Obtained from: https://github.com/swig/swig/issues/3260#issuecomment-3272521479
+
+--- s2_common.i.orig 2025-02-02 07:37:37 UTC
++++ s2_common.i
+@@ -170,11 +170,9 @@ class S2PolygonLayerOptions { (public)
+ if (SWIG_IsOK(res)) {
+ loops.push_back(loop->Clone());
+ } else {
+- SWIG_Python_TypeError(SWIG_TypePrettyName($descriptor(S2Loop *)), element);
+- SWIG_Python_ArgFail(i);
++ %argument_fail(SWIG_TypeError, "$type", $symname, $argnum);
+ Py_DECREF(element);
+ Py_DECREF(iterator);
+- SWIG_fail;
+ }
+ Py_DECREF(element);
+ }
diff --git a/graphics/py-scikit-image/Makefile b/graphics/py-scikit-image/Makefile
index 7508f070e973..92d7f6c761ef 100644
--- a/graphics/py-scikit-image/Makefile
+++ b/graphics/py-scikit-image/Makefile
@@ -1,9 +1,9 @@
PORTNAME= scikit-image
-PORTVERSION= 0.19.3
-DISTVERSIONPREFIX= v
-PORTREVISION= 3
+PORTVERSION= 0.25.2
CATEGORIES= graphics python
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= scikit_image-${DISTVERSION}
MAINTAINER= makc@FreeBSD.org
COMMENT= Image processing in Python
@@ -13,25 +13,25 @@ LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYNUMPY} \
- ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pythran>0:devel/py-pythran@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lazy_loader>=0.4:devel/py-lazy_loader@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}meson-python>=0.16:devel/meson-python@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pythran>=0.16:devel/py-pythran@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYNUMPY} \
- ${PY_PILLOW} \
- ${PYTHON_PKGNAMEPREFIX}imageio>=2.4.1:graphics/py-imageio@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}tifffile>=2019.7.26:graphics/py-tifffile@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}scipy>=1.4.1:science/py-scipy@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}networkx>=2.2:math/py-networkx@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}matplotlib>=1.1:math/py-matplotlib@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pywavelets>=1.5.0:math/py-pywavelets@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}cloudpickle>=0.2.1:devel/py-cloudpickle@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}imageio>2.35.0:graphics/py-imageio@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lazy_loader>=0.4:devel/py-lazy_loader@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}networkx>=3.0:math/py-networkx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=21:devel/py-packaging@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pillow>=10.1:graphics/py-pillow@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scipy>=1.11.4:science/py-scipy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tifffile>=2022.8.12:graphics/py-tifffile@${PY_FLAVOR}
USES= compiler:c++11-lang python shebangfix
-USE_GITHUB= yes
-USE_PYTHON= autoplist concurrent cython cython_run pep517
+USE_PYTHON= autoplist cython3 pep517
-SHEBANG_FILES= skimage/scripts/skivi
+BINARY_ALIAS= python=${PYTHON_CMD} \
+ python3=${PYTHON_CMD}
post-install:
@${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/skimage -name "*.so" -exec ${STRIP_CMD} {} \;
diff --git a/graphics/py-scikit-image/distinfo b/graphics/py-scikit-image/distinfo
index 3ee07516de0e..8b324c686a50 100644
--- a/graphics/py-scikit-image/distinfo
+++ b/graphics/py-scikit-image/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1662028806
-SHA256 (scikit-image-scikit-image-v0.19.3_GH0.tar.gz) = 4eb877c98d1395769daef5bc2ba8a7efd3f736c87086aecb3775a9174593398b
-SIZE (scikit-image-scikit-image-v0.19.3_GH0.tar.gz) = 22978982
+TIMESTAMP = 1758404066
+SHA256 (scikit_image-0.25.2.tar.gz) = e5a37e6cd4d0c018a7a55b9d601357e3382826d3888c10d0213fc63bff977dde
+SIZE (scikit_image-0.25.2.tar.gz) = 22693594
diff --git a/graphics/py-scikit-image/files/patch-pyproject.toml b/graphics/py-scikit-image/files/patch-pyproject.toml
index 018f5fbe0a7d..71596ab88d03 100644
--- a/graphics/py-scikit-image/files/patch-pyproject.toml
+++ b/graphics/py-scikit-image/files/patch-pyproject.toml
@@ -1,42 +1,23 @@
---- pyproject.toml.orig 2022-06-12 15:28:34 UTC
+--- pyproject.toml.orig 2025-02-18 17:45:36 UTC
+++ pyproject.toml
-@@ -1,37 +1,10 @@ requires = [
- [build-system]
- requires = [
- "wheel",
-- "setuptools<=59.4",
-+ "setuptools",
- "packaging",
- "Cython>=0.29.24,<3.0",
- "pythran",
-
-- # We follow scipy for much of these pinnings
-- # https://github.com/scipy/scipy/blob/master/pyproject.toml
-- # numpy 1.19 was the first minor release to provide aarch64 wheels, but
-- # wheels require fixes contained in numpy 1.19.2
-- "numpy==1.19.2; python_version=='3.7' and platform_machine=='aarch64'",
-- "numpy==1.19.2; python_version=='3.8' and platform_machine=='aarch64'",
-- # aarch64 for py39 and py310 are covered by the default requirement below
--
-- # arm64 on Darwin supports Python 3.8 and above requires numpy>=1.20.0
-- "numpy==1.20.0; python_version=='3.8' and platform_machine=='arm64' and platform_system=='Darwin'",
-- "numpy==1.20.0; python_version=='3.9' and platform_machine=='arm64' and platform_system=='Darwin'",
-- # arm64 for py310 is covered by the default requirement below
--
-- # default numpy requirements
-- "numpy==1.17.3; python_version=='3.7' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64' and platform_python_implementation != 'PyPy'",
-- "numpy==1.17.3; python_version=='3.8' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64' and platform_python_implementation != 'PyPy'",
-- "numpy==1.19.3; python_version=='3.9' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_python_implementation != 'PyPy'",
-- "numpy==1.21.4; python_version=='3.10' and platform_python_implementation != 'PyPy'",
--
-- # First PyPy versions for which there are numpy wheels
-- "numpy==1.20.0; python_version=='3.7' and platform_python_implementation=='PyPy'",
--
-- # For Python versions which aren't yet officially supported,
-- # we specify an unpinned NumPy which allows source distributions
-- # to be used and allows wheels to be used as soon as they
-- # become available.
-- "numpy; python_version>='3.11'",
-- "numpy; python_version>='3.8' and platform_python_implementation=='PyPy'",
-+ "numpy",
+@@ -50,9 +50,9 @@ build = [
+ 'ninja>=1.11.1.1',
+ 'Cython>=3.0.8',
+ 'pythran>=0.16',
+- 'numpy>=2.0',
++ 'numpy>=1.24',
+ # Developer UI
+- 'spin==0.13',
++ 'spin>=0.13',
+ 'build>=1.2.1',
+ ]
+ data = ['pooch>=1.6.0']
+@@ -120,7 +120,7 @@ requires = [
+ 'Cython>=3.0.8',
+ 'pythran>=0.16',
+ 'lazy_loader>=0.4',
+- 'numpy>=2.0',
++ 'numpy>=1.24',
]
+
+ [tool.spin]
diff --git a/graphics/py-seqdiag/Makefile b/graphics/py-seqdiag/Makefile
index 85d04a589768..44142e2242c1 100644
--- a/graphics/py-seqdiag/Makefile
+++ b/graphics/py-seqdiag/Makefile
@@ -1,6 +1,6 @@
PORTNAME= seqdiag
PORTVERSION= 3.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-sorl-thumbnail/Makefile b/graphics/py-sorl-thumbnail/Makefile
index 1662b18e46fe..f959fa203be9 100644
--- a/graphics/py-sorl-thumbnail/Makefile
+++ b/graphics/py-sorl-thumbnail/Makefile
@@ -1,9 +1,9 @@
PORTNAME= sorl-thumbnail
-PORTVERSION= 12.10.0
-PORTREVISION= 3
+DISTVERSION= 12.11.0
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= sorl_thumbnail-${DISTVERSION}
MAINTAINER= ports@caomhin.org
COMMENT= Sorl-thumbnail provides an easy way to generate image thumbnails
@@ -12,11 +12,15 @@ WWW= https://github.com/jazzband/sorl-thumbnail
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools-scm>0:devel/py-setuptools-scm@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR}
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
USES= python
-USE_PYTHON= autoplist concurrent distutils
+USE_PYTHON= autoplist concurrent pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
PORTDOCS= *
@@ -26,11 +30,12 @@ OPTIONS_DEFAULT= PILLOW
OPTIONS_SINGLE= IMAGELIB
OPTIONS_GROUP= CACHING
+# An PGMAGICK option would still be possible as well, but the ports tree does
+# not yet have a py-pgmagick port.
OPTIONS_SINGLE_IMAGELIB= GRAPHICSMAGICK IMAGEMAGICK PILLOW WAND
OPTIONS_GROUP_CACHING= REDIS
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
-DOCS_VARS= PYDISTUTILS_BUILD_TARGET+="build_sphinx -a -E"
GRAPHICSMAGICK_RUN_DEPENDS= ${LOCALBASE}/bin/gm:graphics/GraphicsMagick
IMAGEMAGICK_USES= magick:6,run
@@ -44,6 +49,10 @@ PILLOW_DESC= Use internal image processing
REDIS_DESC= Use REDIS as Key Value Store
WAND_DESC= Use Wand with ImageMagick
+post-build-DOCS-on:
+ ${SETENV} PYTHONPATH=${WRKSRC} ${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} \
+ -d ${WRKDIR} -b html ${WRKSRC}/docs ${WRKSRC}/build/sphinx/html
+
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/build/sphinx/html && \
diff --git a/graphics/py-sorl-thumbnail/distinfo b/graphics/py-sorl-thumbnail/distinfo
index 503ab119ce1b..71659dc4d34c 100644
--- a/graphics/py-sorl-thumbnail/distinfo
+++ b/graphics/py-sorl-thumbnail/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1704566157
-SHA256 (sorl-thumbnail-12.10.0.tar.gz) = de95a49217fdfeced222fa3ceaa01d312ee2f8aad56ba34d6c70f2dee9a84938
-SIZE (sorl-thumbnail-12.10.0.tar.gz) = 665255
+TIMESTAMP = 1755414298
+SHA256 (sorl_thumbnail-12.11.0.tar.gz) = 191b89c27ecb40b5c2a35549d557d17c4841c6aff439b2e17b938b91eea463b3
+SIZE (sorl_thumbnail-12.11.0.tar.gz) = 667102
diff --git a/graphics/py-sorl-thumbnail/files/patch-pyproject.toml b/graphics/py-sorl-thumbnail/files/patch-pyproject.toml
new file mode 100644
index 000000000000..f38468089e04
--- /dev/null
+++ b/graphics/py-sorl-thumbnail/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+Relax version requirements.
+
+--- pyproject.toml.orig 2025-08-20 12:07:03 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["setuptools>=64", "setuptools_scm>=8"]
++requires = ["setuptools", "setuptools_scm>=8"]
+ build-backend = "setuptools.build_meta"
+
+ [project]
diff --git a/graphics/py-spectra/Makefile b/graphics/py-spectra/Makefile
index 67ee13b9e32a..1f5ef0654c65 100644
--- a/graphics/py-spectra/Makefile
+++ b/graphics/py-spectra/Makefile
@@ -1,6 +1,6 @@
PORTNAME= spectra
DISTVERSION= 0.0.11
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-term-image/Makefile b/graphics/py-term-image/Makefile
index 2c23c964d8c9..1fe853971830 100644
--- a/graphics/py-term-image/Makefile
+++ b/graphics/py-term-image/Makefile
@@ -1,5 +1,6 @@
PORTNAME= term-image
DISTVERSION= 0.7.2
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-termtosvg/Makefile b/graphics/py-termtosvg/Makefile
index 947259a2c182..c7a0ab8ce1a6 100644
--- a/graphics/py-termtosvg/Makefile
+++ b/graphics/py-termtosvg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= termtosvg
PORTVERSION= 1.1.0
-PORTREVISION= 1
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-tifffile/Makefile b/graphics/py-tifffile/Makefile
index ff9827739709..152e0ca4559b 100644
--- a/graphics/py-tifffile/Makefile
+++ b/graphics/py-tifffile/Makefile
@@ -1,5 +1,5 @@
PORTNAME= tifffile
-PORTVERSION= 2025.6.1
+PORTVERSION= 2025.10.4
CATEGORIES= graphics python
MASTER_SITES= PYPI \
https://github.com/cgohlke/tifffile/releases/download/v${PORTVERSION}/
@@ -33,6 +33,6 @@ XML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}defusedxml>=0:devel/py-defusedxml@${PY_F
${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${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}
+ ${PYTHON_PKGNAMEPREFIX}zarr>=3.1.3:devel/py-zarr@${PY_FLAVOR}
.include <bsd.port.mk>
diff --git a/graphics/py-tifffile/distinfo b/graphics/py-tifffile/distinfo
index 97f4cd55b741..c1b77ce940e2 100644
--- a/graphics/py-tifffile/distinfo
+++ b/graphics/py-tifffile/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749813096
-SHA256 (tifffile-2025.6.1.tar.gz) = 63cff7cf7305c26e3f3451c0b05fd95a09252beef4f1663227d4b70cb75c5fdb
-SIZE (tifffile-2025.6.1.tar.gz) = 369769
+TIMESTAMP = 1759774683
+SHA256 (tifffile-2025.10.4.tar.gz) = 2e437c16ab211be5bcdc79f71b4907359115f1f83b5d919e7c297c29725d3e38
+SIZE (tifffile-2025.10.4.tar.gz) = 369486
diff --git a/graphics/py-toyplot/Makefile b/graphics/py-toyplot/Makefile
index 94dbbb9c78ab..94a3478f8ac9 100644
--- a/graphics/py-toyplot/Makefile
+++ b/graphics/py-toyplot/Makefile
@@ -1,6 +1,6 @@
PORTNAME= toyplot
PORTVERSION= 0.19.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-ueberzug/Makefile b/graphics/py-ueberzug/Makefile
index b1a3826c1e03..50c27d488603 100644
--- a/graphics/py-ueberzug/Makefile
+++ b/graphics/py-ueberzug/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ueberzug
DISTVERSION= 18.1.8
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-urbanaccess/Makefile b/graphics/py-urbanaccess/Makefile
index 570e52558291..1b2dda23f307 100644
--- a/graphics/py-urbanaccess/Makefile
+++ b/graphics/py-urbanaccess/Makefile
@@ -1,6 +1,6 @@
PORTNAME= urbanaccess
PORTVERSION= 0.2.2
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-vispy/Makefile b/graphics/py-vispy/Makefile
index ebb2547c4f29..23511cc3beee 100644
--- a/graphics/py-vispy/Makefile
+++ b/graphics/py-vispy/Makefile
@@ -1,12 +1,13 @@
PORTNAME= vispy
-DISTVERSION= 0.14.3
+DISTVERSION= 0.15.2
CATEGORIES= graphics science python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= High-performance interactive 2D/3D data visualization library
-WWW= https://vispy.org/
+WWW= https://vispy.org/ \
+ https://github.com/vispy/vispy
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
diff --git a/graphics/py-vispy/distinfo b/graphics/py-vispy/distinfo
index 59c9ad4bec40..b8b8d91699b1 100644
--- a/graphics/py-vispy/distinfo
+++ b/graphics/py-vispy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1725682365
-SHA256 (vispy-0.14.3.tar.gz) = efbbb847a908baf7e7169ab9bf296138a39364f367e6cb0a8ec03ad71699d31d
-SIZE (vispy-0.14.3.tar.gz) = 2508703
+TIMESTAMP = 1758440133
+SHA256 (vispy-0.15.2.tar.gz) = d52d10c0697f48990555cea2a2bad3f9f5a772391856fda364ea4bbc69fd075c
+SIZE (vispy-0.15.2.tar.gz) = 2513383
diff --git a/graphics/py-vispy/files/patch-pyproject.toml b/graphics/py-vispy/files/patch-pyproject.toml
index 05cbb6a12162..5987351b45c0 100644
--- a/graphics/py-vispy/files/patch-pyproject.toml
+++ b/graphics/py-vispy/files/patch-pyproject.toml
@@ -1,11 +1,15 @@
---- pyproject.toml.orig 2024-09-07 04:18:42 UTC
+--- pyproject.toml.orig 2025-05-19 13:17:34 UTC
+++ pyproject.toml
-@@ -3,7 +3,7 @@ requires = [
- "wheel",
- "setuptools>=42",
+@@ -1,9 +1,9 @@ requires = [
+ [build-system]
+ requires = [
+- "setuptools>=69.4.0",
++ "setuptools",
# see https://numpy.org/devdocs/dev/depending_on_numpy.html#numpy-2-0-specific-advice
-- "numpy>=2.0.0rc2",
+- "numpy>=2.0.0",
+- "setuptools_scm[toml]>=8.1",
+ "numpy",
- "setuptools_scm[toml]>=7.1",
++ "setuptools_scm[toml]",
"Cython>=3.0.0"
]
+
diff --git a/graphics/py-visvis/Makefile b/graphics/py-visvis/Makefile
index 761e3603f0ce..1337bbdd0a9c 100644
--- a/graphics/py-visvis/Makefile
+++ b/graphics/py-visvis/Makefile
@@ -1,6 +1,6 @@
PORTNAME= visvis
PORTVERSION= 1.15.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-willow/Makefile b/graphics/py-willow/Makefile
index 04bcee8c222d..9095d10f254c 100644
--- a/graphics/py-willow/Makefile
+++ b/graphics/py-willow/Makefile
@@ -1,5 +1,5 @@
PORTNAME= willow
-PORTVERSION= 1.10.0
+PORTVERSION= 1.12.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>=1.0.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: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..efc5d5772799 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 = 1762586860
+SHA256 (willow-1.12.0.tar.gz) = db29c8d2f19b9d91f4ce22881521055aa2f6070131d64b4098cb86a98e851a70
+SIZE (willow-1.12.0.tar.gz) = 113747
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/qcomicbook/Makefile b/graphics/qcomicbook/Makefile
index 87efa8d5c40b..502985f088d1 100644
--- a/graphics/qcomicbook/Makefile
+++ b/graphics/qcomicbook/Makefile
@@ -1,6 +1,6 @@
PORTNAME= QComicBook
PORTVERSION= 0.9.1
-PORTREVISION= 52
+PORTREVISION= 53
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/qgis-ltr/Makefile b/graphics/qgis-ltr/Makefile
index 75968353d2f4..540a438a5e91 100644
--- a/graphics/qgis-ltr/Makefile
+++ b/graphics/qgis-ltr/Makefile
@@ -1,6 +1,6 @@
PORTNAME= qgis
-DISTVERSION= 3.40.8
-PORTREVISION= 1
+DISTVERSION= 3.40.13
+PORTREVISION= 2
CATEGORIES= graphics geography
MASTER_SITES= https://qgis.org/downloads/
PKGNAMESUFFIX= -ltr
@@ -57,7 +57,6 @@ LIB_DEPENDS= libabsl_log_internal_check_op.so:devel/abseil \
libqt5keychain.so:security/qtkeychain@qt5 \
libqwt.so:x11-toolkits/qwt6@qt5 \
librttopo.so:devel/librttopo \
- libspatialindex.so:devel/spatialindex \
libspatialite.so:databases/spatialite \
libsz.so:science/libaec \
libxerces-c.so:textproc/xerces-c3 \
@@ -135,9 +134,14 @@ CMAKE_ARGS+= -DCMAKE_BUILD_TYPE:STRING=Release \
-DQWT_INCLUDE_DIR:PATH=${LOCALBASE}/include/qt5/qwt6 \
-DQWT_LIBRARY:FILEPATH=${LOCALBASE}/lib/qt5/libqwt.so \
-DQGIS_MANUAL_SUBDIR:PATH=share/man
+# [2025-10-25] Use internal spatialindex, as the one in the ports is too new:
+# -- Found Spatialindex: /usr/local/lib/libspatialindex.so (2.1.0)
+# CMake Error at CMakeLists.txt:460 (message):
+# Cannot build QGIS using libspatialindex >= 2.1, see
+# https://github.com/libspatialindex/libspatialindex/issues/276
CMAKE_ON= USE_OPENCL WITH_3D WITH_ASTYLE WITH_BINDINGS WITH_COPC \
WITH_CUSTOM_WIDGETS WITH_DRACO WITH_EPT WITH_INTERNAL_LAZPERF \
- WITH_POSTGRESQL WITH_QTWEBENGINE
+ WITH_POSTGRESQL WITH_QTWEBENGINE WITH_INTERNAL_SPATIALINDEX
CMAKE_OFF= ENABLE_TESTS USE_CCACHE WITH_INTERNAL_MDAL WITH_QTWEBKIT WITH_QWTPOLAR
CONFLICTS_INSTALL= qgis
diff --git a/graphics/qgis-ltr/distinfo b/graphics/qgis-ltr/distinfo
index 8ac8d3d21e2b..6fd8251baa3c 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 = 1763841419
+SHA256 (qgis-3.40.13.tar.bz2) = 2934325e873de4c3c9deba131c40eb3edf10f1f04d0016e2177ad2de90949ef0
+SIZE (qgis-3.40.13.tar.bz2) = 183637998
diff --git a/graphics/qgis-ltr/pkg-plist b/graphics/qgis-ltr/pkg-plist
index 6a327cab3626..923f8192989a 100644
--- a/graphics/qgis-ltr/pkg-plist
+++ b/graphics/qgis-ltr/pkg-plist
@@ -1339,6 +1339,7 @@ include/qgis/qgsprocessingfeedback.h
include/qgis/qgsprocessingfieldmapwidgetwrapper.h
include/qgis/qgsprocessinggui.h
include/qgis/qgsprocessingguiregistry.h
+include/qgis/qgsprocessingguiutils.h
include/qgis/qgsprocessinghelpeditorwidget.h
include/qgis/qgsprocessinghistoryprovider.h
include/qgis/qgsprocessinghistorywidget.h
diff --git a/graphics/qgis/Makefile b/graphics/qgis/Makefile
index 638e671201a6..b3c22b1badc8 100644
--- a/graphics/qgis/Makefile
+++ b/graphics/qgis/Makefile
@@ -1,6 +1,6 @@
PORTNAME= qgis
-DISTVERSION= 3.44.0
-PORTREVISION= 1
+DISTVERSION= 3.44.5
+PORTREVISION= 2
CATEGORIES= graphics geography
MASTER_SITES= https://qgis.org/downloads/
@@ -55,7 +55,6 @@ LIB_DEPENDS= libabsl_log_internal_check_op.so:devel/abseil \
libqt5keychain.so:security/qtkeychain@qt5 \
libqwt.so:x11-toolkits/qwt6@qt5 \
librttopo.so:devel/librttopo \
- libspatialindex.so:devel/spatialindex \
libspatialite.so:databases/spatialite \
libsz.so:science/libaec \
libxerces-c.so:textproc/xerces-c3 \
@@ -133,10 +132,15 @@ CMAKE_ARGS+= -DCMAKE_BUILD_TYPE:STRING=Release \
-DQWT_INCLUDE_DIR:PATH=${LOCALBASE}/include/qt5/qwt6 \
-DQWT_LIBRARY:FILEPATH=${LOCALBASE}/lib/qt5/libqwt.so \
-DQGIS_MANUAL_SUBDIR:PATH=share/man
+# [2025-10-25] Use internal spatialindex, as the one in the ports is too new:
+# -- Found Spatialindex: /usr/local/lib/libspatialindex.so (2.1.0)
+# CMake Error at CMakeLists.txt:460 (message):
+# Cannot build QGIS using libspatialindex >= 2.1, see
+# https://github.com/libspatialindex/libspatialindex/issues/276
CMAKE_ON= USE_OPENCL WITH_ASTYLE WITH_BINDINGS WITH_COPC \
WITH_CUSTOM_WIDGETS WITH_DRACO WITH_EPT \
WITH_INTERNAL_LAZPERF WITH_INTERNAL_MDAL \
- WITH_POSTGRESQL WITH_QTWEBENGINE
+ WITH_POSTGRESQL WITH_QTWEBENGINE WITH_INTERNAL_SPATIALINDEX
CMAKE_OFF= BUILD_WITH_QT6 ENABLE_TESTS USE_CCACHE WITH_QTWEBKIT \
WITH_QWTPOLAR
diff --git a/graphics/qgis/distinfo b/graphics/qgis/distinfo
index f5668280b11f..0075b1fbfed7 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 = 1763793833
+SHA256 (qgis-3.44.5.tar.bz2) = f1e4d52789b65cd5678a6e9b9c10bdf04df930b847a827bbf8f873db98019f2f
+SIZE (qgis-3.44.5.tar.bz2) = 190602610
diff --git a/graphics/qimgv/Makefile b/graphics/qimgv/Makefile
index 279d3910b26d..8c451cf9da5d 100644
--- a/graphics/qimgv/Makefile
+++ b/graphics/qimgv/Makefile
@@ -1,5 +1,6 @@
PORTNAME= qimgv
-PORTVERSION= 1.03.g20241011
+PORTVERSION= 1.03.g20250905
+PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= kenrap@kennethraplee.com
@@ -14,29 +15,22 @@ USES= cmake compiler:c++17-lang desktop-file-utils \
localbase:ldflags
USE_GITHUB= yes
GH_ACCOUNT= easymodo
-GH_TAGNAME= a4d475fae07847be7c106cb628fb97dad51ab920
+GH_TAGNAME= 6bdfad1f47be2cd5eb54c6da45073f8eee55963f
LDFLAGS+= -linotify
-OPTIONS_DEFINE= EXIV2 KDE5 OPENCV VIDEO
+OPTIONS_DEFINE= EXIV2 OPENCV VIDEO
OPTIONS_DEFAULT= EXIV2 OPENCV QT6 VIDEO
OPTIONS_SINGLE= QT
OPTIONS_SINGLE_QT= QT5 QT6
OPTIONS_SUB= yes
-KDE5_DESC= ${KDE_DESC} (require QT5)
OPENCV_DESC= Enables high quality scaling options
VIDEO_DESC= Enables video playback via mpv
EXIV2_LIB_DEPENDS= libexiv2.so:graphics/exiv2
EXIV2_CMAKE_BOOL= EXIV2
-KDE5_IMPLIES= QT5
-KDE5_PREVENTS= QT6
-KDE5_USES= kde:5 xorg
-KDE5_USE= kde=windowsystem xorg=x11
-KDE5_CMAKE_BOOL= KDE_SUPPORT
-
OPENCV_LIB_DEPENDS= libopencv_core.so:graphics/opencv \
libopencv_imgproc.so:graphics/opencv
OPENCV_CMAKE_BOOL= OPENCV_SUPPORT
@@ -56,5 +50,7 @@ VIDEO_CMAKE_BOOL= VIDEO_SUPPORT
post-patch:
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
${WRKSRC}/qimgv/settings.cpp
+ @${REINPLACE_CMD} -e 's|^Exec=|Exec=QT_SCALE_FACTOR_ROUNDING_POLICY=RoundPreferFloor |' \
+ ${WRKSRC}/qimgv/distrib/qimgv.desktop
.include <bsd.port.mk>
diff --git a/graphics/qimgv/distinfo b/graphics/qimgv/distinfo
index 41be25409f16..8fc5fe839618 100644
--- a/graphics/qimgv/distinfo
+++ b/graphics/qimgv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1731897531
-SHA256 (easymodo-qimgv-1.03.g20241011-a4d475fae07847be7c106cb628fb97dad51ab920_GH0.tar.gz) = a2bc98b196195ce62077e66665078aa160b441805292dbceaef06e6770bb4b78
-SIZE (easymodo-qimgv-1.03.g20241011-a4d475fae07847be7c106cb628fb97dad51ab920_GH0.tar.gz) = 1086541
+TIMESTAMP = 1763672435
+SHA256 (easymodo-qimgv-1.03.g20250905-6bdfad1f47be2cd5eb54c6da45073f8eee55963f_GH0.tar.gz) = 040227c0707b264b04e7eaf3df7187ef321491a74a13c76a9065fc7713f5167f
+SIZE (easymodo-qimgv-1.03.g20250905-6bdfad1f47be2cd5eb54c6da45073f8eee55963f_GH0.tar.gz) = 1098596
diff --git a/graphics/qimgv/files/patch-qimgv_main.cpp b/graphics/qimgv/files/patch-qimgv_main.cpp
new file mode 100644
index 000000000000..caabf2d90e04
--- /dev/null
+++ b/graphics/qimgv/files/patch-qimgv_main.cpp
@@ -0,0 +1,15 @@
+--- qimgv/main.cpp.orig 2025-09-05 05:00:37 UTC
++++ qimgv/main.cpp
+@@ -84,7 +84,12 @@ int main(int argc, char *argv[]) {
+ QCoreApplication::setApplicationName("qimgv");
+ QCoreApplication::setApplicationVersion(appVersion.toString());
+ QApplication::setEffectEnabled(Qt::UI_AnimateCombo, false);
++
++# if (QT_VERSION_MAJOR == 6)
++ QGuiApplication::setDesktopFileName(QCoreApplication::applicationName());
++# else
+ QGuiApplication::setDesktopFileName(QCoreApplication::applicationName() + ".desktop");
++#endif
+
+ // needed for mpv
+ #ifndef _MSC_VER
diff --git a/graphics/qimgv/pkg-plist b/graphics/qimgv/pkg-plist
index 38d5c72c0966..fcf1d6062ba4 100644
--- a/graphics/qimgv/pkg-plist
+++ b/graphics/qimgv/pkg-plist
@@ -15,5 +15,6 @@ share/metainfo/qimgv.appdata.xml
%%DATADIR%%/translations/de_DE.qm
%%DATADIR%%/translations/es_ES.qm
%%DATADIR%%/translations/fr_FR.qm
+%%DATADIR%%/translations/tr_TR.qm
%%DATADIR%%/translations/uk_UA.qm
%%DATADIR%%/translations/zh_CN.qm
diff --git a/graphics/qt5-3d/distinfo b/graphics/qt5-3d/distinfo
index 2e9a974e18e7..3342854eba96 100644
--- a/graphics/qt5-3d/distinfo
+++ b/graphics/qt5-3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749567085
-SHA256 (KDE/Qt/5.15.17/kde-qt3d-5.15.17p0.tar.xz) = a38d89ca3039054f1e0c9ee9229cf59bf49fc8276558b68b34922a1f9ddc4c72
-SIZE (KDE/Qt/5.15.17/kde-qt3d-5.15.17p0.tar.xz) = 118379748
+TIMESTAMP = 1762399675
+SHA256 (KDE/Qt/5.15.18/kde-qt3d-5.15.18p0.tar.xz) = 1039d7d87dac51f81e48a6f0387c395360c9001718ef0de92a5aca7ffcc8c093
+SIZE (KDE/Qt/5.15.18/kde-qt3d-5.15.18p0.tar.xz) = 118373792
diff --git a/graphics/qt5-graphicaleffects/distinfo b/graphics/qt5-graphicaleffects/distinfo
index 3920a863d942..5dc76dc6756b 100644
--- a/graphics/qt5-graphicaleffects/distinfo
+++ b/graphics/qt5-graphicaleffects/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749567088
-SHA256 (KDE/Qt/5.15.17/kde-qtgraphicaleffects-5.15.17p0.tar.xz) = feed24be775dde51e1f6d8d7d6801c449da42aa6560f591cc3dc0a2b0b1fec3f
-SIZE (KDE/Qt/5.15.17/kde-qtgraphicaleffects-5.15.17p0.tar.xz) = 14018756
+TIMESTAMP = 1762399677
+SHA256 (KDE/Qt/5.15.18/kde-qtgraphicaleffects-5.15.18p0.tar.xz) = d50259ae50a44b8491d911980b864aecf72a787a1a81aae791e20657a2718693
+SIZE (KDE/Qt/5.15.18/kde-qtgraphicaleffects-5.15.18p0.tar.xz) = 14018732
diff --git a/graphics/qt5-imageformats/distinfo b/graphics/qt5-imageformats/distinfo
index 248711cf9276..a188351d9a1d 100644
--- a/graphics/qt5-imageformats/distinfo
+++ b/graphics/qt5-imageformats/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749567091
-SHA256 (KDE/Qt/5.15.17/kde-qtimageformats-5.15.17p2.tar.xz) = dd4f019306e04b09112ca1902f91adecd8e432c5b6be6bf1211b913c50739ebe
-SIZE (KDE/Qt/5.15.17/kde-qtimageformats-5.15.17p2.tar.xz) = 1883928
+TIMESTAMP = 1762399678
+SHA256 (KDE/Qt/5.15.18/kde-qtimageformats-5.15.18p2.tar.xz) = 0b48c805907cff4964af324f76e8cf96e3d64cddbb8a12fca0d5c212b4e90f80
+SIZE (KDE/Qt/5.15.18/kde-qtimageformats-5.15.18p2.tar.xz) = 1899640
diff --git a/graphics/qt5-opengl/distinfo b/graphics/qt5-opengl/distinfo
index d79a4e8b9bf5..ffcd854bf108 100644
--- a/graphics/qt5-opengl/distinfo
+++ b/graphics/qt5-opengl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749567094
-SHA256 (KDE/Qt/5.15.17/kde-qtbase-5.15.17p123.tar.xz) = 223c4155b2b92a1bf7d400728b07a491969b2a6ccf40ef25903dd40b0420954c
-SIZE (KDE/Qt/5.15.17/kde-qtbase-5.15.17p123.tar.xz) = 51414240
+TIMESTAMP = 1762399680
+SHA256 (KDE/Qt/5.15.18/kde-qtbase-5.15.18p109.tar.xz) = c75497b69bdde3236e94f371ec2eda119497eed96db4c4ebee3893783cac4530
+SIZE (KDE/Qt/5.15.18/kde-qtbase-5.15.18p109.tar.xz) = 51472948
diff --git a/graphics/qt5-pixeltool/distinfo b/graphics/qt5-pixeltool/distinfo
index 2e86d4d43d35..a5e51974da42 100644
--- a/graphics/qt5-pixeltool/distinfo
+++ b/graphics/qt5-pixeltool/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749567096
-SHA256 (KDE/Qt/5.15.17/kde-qttools-5.15.17p3.tar.xz) = 80bdd342b06cbeff3aaece2e37519870c23b071c290d03265f635e9799edfcf2
-SIZE (KDE/Qt/5.15.17/kde-qttools-5.15.17p3.tar.xz) = 8927352
+TIMESTAMP = 1762399682
+SHA256 (KDE/Qt/5.15.18/kde-qttools-5.15.18p3.tar.xz) = db53d167fdba59b695978531842e894b608691e56ea5960eb6b4c373e5d3f193
+SIZE (KDE/Qt/5.15.18/kde-qttools-5.15.18p3.tar.xz) = 8926804
diff --git a/graphics/qt5-svg/distinfo b/graphics/qt5-svg/distinfo
index 02666c01bb4f..732e84f2cc60 100644
--- a/graphics/qt5-svg/distinfo
+++ b/graphics/qt5-svg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749567099
-SHA256 (KDE/Qt/5.15.17/kde-qtsvg-5.15.17p5.tar.xz) = c94586bdb3c6b052d71f4f4d609b02b58a809902636379b81ff7dea9502cebed
-SIZE (KDE/Qt/5.15.17/kde-qtsvg-5.15.17p5.tar.xz) = 1865688
+TIMESTAMP = 1762399684
+SHA256 (KDE/Qt/5.15.18/kde-qtsvg-5.15.18p5.tar.xz) = ec8f67923f878afe77bfe051b3421d36fa0b09253a3ecfca0ca1a0c96772a447
+SIZE (KDE/Qt/5.15.18/kde-qtsvg-5.15.18p5.tar.xz) = 1865296
diff --git a/graphics/qt5-wayland/distinfo b/graphics/qt5-wayland/distinfo
index 46612e5cd851..f79170aaae08 100644
--- a/graphics/qt5-wayland/distinfo
+++ b/graphics/qt5-wayland/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749567102
-SHA256 (KDE/Qt/5.15.17/kde-qtwayland-5.15.17p57.tar.xz) = 208f8a17bfbcf81810a0eed7d404eb70413ebfdecac73a1bdf25ed3dea5fe1a3
-SIZE (KDE/Qt/5.15.17/kde-qtwayland-5.15.17p57.tar.xz) = 539092
+TIMESTAMP = 1762399685
+SHA256 (KDE/Qt/5.15.18/kde-qtwayland-5.15.18p55.tar.xz) = 931195eb8e6f9f0be096cd7b9772f199d96ba42af3a7bdbb6d2ebfb4a76d691a
+SIZE (KDE/Qt/5.15.18/kde-qtwayland-5.15.18p55.tar.xz) = 539116
diff --git a/graphics/qt6-3d/Makefile b/graphics/qt6-3d/Makefile
index d92a2dbf6830..e94c04ce9f98 100644
--- a/graphics/qt6-3d/Makefile
+++ b/graphics/qt6-3d/Makefile
@@ -1,6 +1,5 @@
PORTNAME= 3d
DISTVERSION= ${QT6_VERSION}
-PORTREVISION= 2
CATEGORIES= graphics
PKGNAMEPREFIX= qt6-
diff --git a/graphics/qt6-3d/distinfo b/graphics/qt6-3d/distinfo
index 231aa0fba277..5e2d2d8c0d6a 100644
--- a/graphics/qt6-3d/distinfo
+++ b/graphics/qt6-3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749158712
-SHA256 (KDE/Qt/6.9.1/qt3d-everywhere-src-6.9.1.tar.xz) = 9c46497a60147bb326a58b67b1f543bdf81b8aceed908b44d3dde896d79c4784
-SIZE (KDE/Qt/6.9.1/qt3d-everywhere-src-6.9.1.tar.xz) = 141817908
+TIMESTAMP = 1759303310
+SHA256 (KDE/Qt/6.9.3/qt3d-everywhere-src-6.9.3.tar.xz) = 7e8664ddf21a79d4eeaebf76dddf017ed31142a2df005cf4ac784dff10627fff
+SIZE (KDE/Qt/6.9.3/qt3d-everywhere-src-6.9.3.tar.xz) = 141820300
diff --git a/graphics/qt6-3d/pkg-plist b/graphics/qt6-3d/pkg-plist
index 5be5d29981db..c0b717194e24 100644
--- a/graphics/qt6-3d/pkg-plist
+++ b/graphics/qt6-3d/pkg-plist
@@ -1406,12 +1406,6 @@ lib/cmake/Qt63DRenderPrivate/Qt63DRenderPrivateTargets.cmake
lib/cmake/Qt63DRenderPrivate/Qt63DRenderPrivateVersionlessAliasTargets.cmake
lib/cmake/Qt63DRenderPrivate/Qt63DRenderPrivateVersionlessTargets.cmake
lib/cmake/Qt6BuildInternals/StandaloneTests/Qt3DTestsConfig.cmake
-lib/cmake/Qt6Qml/QmlPlugins/Qt63DQuickLogicpluginAdditionalTargetInfo.cmake
-lib/cmake/Qt6Qml/QmlPlugins/Qt63DQuickLogicpluginConfig.cmake
-lib/cmake/Qt6Qml/QmlPlugins/Qt63DQuickLogicpluginConfigVersion.cmake
-lib/cmake/Qt6Qml/QmlPlugins/Qt63DQuickLogicpluginConfigVersionImpl.cmake
-lib/cmake/Qt6Qml/QmlPlugins/Qt63DQuickLogicpluginTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/Qt6Qml/QmlPlugins/Qt63DQuickLogicpluginTargets.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquickscene2dpluginAdditionalTargetInfo.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquickscene2dpluginConfig.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquickscene2dpluginConfigVersion.cmake
@@ -1448,6 +1442,12 @@ lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dinputpluginConfigVersion.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dinputpluginConfigVersionImpl.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dinputpluginTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dinputpluginTargets.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dlogicpluginAdditionalTargetInfo.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dlogicpluginConfig.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dlogicpluginConfigVersion.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dlogicpluginConfigVersionImpl.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dlogicpluginTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dlogicpluginTargets.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3drenderpluginAdditionalTargetInfo.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3drenderpluginConfig.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3drenderpluginConfigVersion.cmake
@@ -1572,7 +1572,7 @@ lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3drenderpluginTargets.cmake
%%QT_QMLDIR%%/Qt3D/Input/libquick3dinputplugin.so
%%QT_QMLDIR%%/Qt3D/Input/plugins.qmltypes
%%QT_QMLDIR%%/Qt3D/Input/qmldir
-%%QT_QMLDIR%%/Qt3D/Logic/lib3dquicklogicplugin.so
+%%QT_QMLDIR%%/Qt3D/Logic/libquick3dlogicplugin.so
%%QT_QMLDIR%%/Qt3D/Logic/plugins.qmltypes
%%QT_QMLDIR%%/Qt3D/Logic/qmldir
%%QT_QMLDIR%%/Qt3D/Render/libquick3drenderplugin.so
diff --git a/graphics/qt6-imageformats/distinfo b/graphics/qt6-imageformats/distinfo
index c4ff0b43a29a..d612fb9b4f82 100644
--- a/graphics/qt6-imageformats/distinfo
+++ b/graphics/qt6-imageformats/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749159278
-SHA256 (KDE/Qt/6.9.1/qtimageformats-everywhere-src-6.9.1.tar.xz) = ebe9f238daaf9bb752c7233edadf4af33fc4fa30d914936812b6410d3af1577c
-SIZE (KDE/Qt/6.9.1/qtimageformats-everywhere-src-6.9.1.tar.xz) = 2039560
+TIMESTAMP = 1759303322
+SHA256 (KDE/Qt/6.9.3/qtimageformats-everywhere-src-6.9.3.tar.xz) = 4fb26bdbfbd4b8e480087896514e11c33aba7b6b39246547355ea340c4572ffe
+SIZE (KDE/Qt/6.9.3/qtimageformats-everywhere-src-6.9.3.tar.xz) = 2030812
diff --git a/graphics/qt6-lottie/distinfo b/graphics/qt6-lottie/distinfo
index 793146f6f402..2438db7d0924 100644
--- a/graphics/qt6-lottie/distinfo
+++ b/graphics/qt6-lottie/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749162753
-SHA256 (KDE/Qt/6.9.1/qtlottie-everywhere-src-6.9.1.tar.xz) = 8ee88c2e0773c96109c179d7e75a46ba7bc548b5bc8be409a23cbaddafa18ba2
-SIZE (KDE/Qt/6.9.1/qtlottie-everywhere-src-6.9.1.tar.xz) = 99436
+TIMESTAMP = 1759303331
+SHA256 (KDE/Qt/6.9.3/qtlottie-everywhere-src-6.9.3.tar.xz) = 116e105574f0bb442b80251fa60b88d1c9fe55db64e11b549e8fc2063b90df33
+SIZE (KDE/Qt/6.9.3/qtlottie-everywhere-src-6.9.3.tar.xz) = 83520
diff --git a/graphics/qt6-quickeffectmaker/distinfo b/graphics/qt6-quickeffectmaker/distinfo
index 52b2a7170925..b0ce32592367 100644
--- a/graphics/qt6-quickeffectmaker/distinfo
+++ b/graphics/qt6-quickeffectmaker/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749162778
-SHA256 (KDE/Qt/6.9.1/qtquickeffectmaker-everywhere-src-6.9.1.tar.xz) = 39b617c40642bb44f54e781ecea9338f2cf2b794c552df0b7a8795cabad15d31
-SIZE (KDE/Qt/6.9.1/qtquickeffectmaker-everywhere-src-6.9.1.tar.xz) = 4358748
+TIMESTAMP = 1759303342
+SHA256 (KDE/Qt/6.9.3/qtquickeffectmaker-everywhere-src-6.9.3.tar.xz) = 6bf0361d24a0865cba9d94ff169c64cd69ac5d90c85260c29ec84ee5c2a59912
+SIZE (KDE/Qt/6.9.3/qtquickeffectmaker-everywhere-src-6.9.3.tar.xz) = 4343072
diff --git a/graphics/qt6-svg/Makefile b/graphics/qt6-svg/Makefile
index 322b0d874e19..7eee8e4edde8 100644
--- a/graphics/qt6-svg/Makefile
+++ b/graphics/qt6-svg/Makefile
@@ -1,12 +1,8 @@
PORTNAME= svg
DISTVERSION= ${QT6_VERSION}
-PORTREVISION= 1
CATEGORIES= graphics
PKGNAMEPREFIX= qt6-
-PATCH_SITES= https://github.com/qt/qtsvg/commit/
-PATCHFILES+= 07b3434f91c95d196f687c51e1a58a95a0b1ef2e.patch:-p1 # PR 287659
-
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt6 classes for displaying the contents of SVG files
diff --git a/graphics/qt6-svg/distinfo b/graphics/qt6-svg/distinfo
index a4042baa311f..e761d58b9734 100644
--- a/graphics/qt6-svg/distinfo
+++ b/graphics/qt6-svg/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1750609163
-SHA256 (KDE/Qt/6.9.1/qtsvg-everywhere-src-6.9.1.tar.xz) = 2dfc5de5fd891ff2afd9861e519bf1a26e6deb729b3133f68a28ba763c9abbd5
-SIZE (KDE/Qt/6.9.1/qtsvg-everywhere-src-6.9.1.tar.xz) = 2017876
-SHA256 (KDE/Qt/6.9.1/07b3434f91c95d196f687c51e1a58a95a0b1ef2e.patch) = 924277fa003f477372446f7ca6fc9e6139f47216a0eebd27e9c129f5d36a5855
-SIZE (KDE/Qt/6.9.1/07b3434f91c95d196f687c51e1a58a95a0b1ef2e.patch) = 1890
+TIMESTAMP = 1759303352
+SHA256 (KDE/Qt/6.9.3/qtsvg-everywhere-src-6.9.3.tar.xz) = db76aa3358cbbe6fce7da576ff4669cb9801920188c750d3b12783bbe97026e2
+SIZE (KDE/Qt/6.9.3/qtsvg-everywhere-src-6.9.3.tar.xz) = 2004192
diff --git a/graphics/qt6-wayland/distinfo b/graphics/qt6-wayland/distinfo
index 80bc8f5217e5..1c253fc89fc5 100644
--- a/graphics/qt6-wayland/distinfo
+++ b/graphics/qt6-wayland/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749159376
-SHA256 (KDE/Qt/6.9.1/qtwayland-everywhere-src-6.9.1.tar.xz) = 7d21ea0e687180ebb19b9a1f86ae9cfa7a25b4f02d5db05ec834164409932e3e
-SIZE (KDE/Qt/6.9.1/qtwayland-everywhere-src-6.9.1.tar.xz) = 1152868
+TIMESTAMP = 1759303362
+SHA256 (KDE/Qt/6.9.3/qtwayland-everywhere-src-6.9.3.tar.xz) = e413d4bc9263e80a465761debf8cb8317aa6b01e814b20046a05258e6573dadd
+SIZE (KDE/Qt/6.9.3/qtwayland-everywhere-src-6.9.3.tar.xz) = 1138368
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/qt6-wayland/pkg-plist b/graphics/qt6-wayland/pkg-plist
index 211c136cf60b..a48b95ead2b8 100644
--- a/graphics/qt6-wayland/pkg-plist
+++ b/graphics/qt6-wayland/pkg-plist
@@ -641,6 +641,7 @@ lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateAdditionalTargetInfo.cm
lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateConfig.cmake
lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateConfigVersion.cmake
lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateConfigVersionImpl.cmake
+lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateExtraProperties.cmake
lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateTargets.cmake
lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateVersionlessAliasTargets.cmake
lib/cmake/Qt6WaylandGlobalPrivate/Qt6WaylandGlobalPrivateVersionlessTargets.cmake
diff --git a/graphics/qtqr/Makefile b/graphics/qtqr/Makefile
index 4774bebe1851..27cdea034238 100644
--- a/graphics/qtqr/Makefile
+++ b/graphics/qtqr/Makefile
@@ -1,5 +1,6 @@
PORTNAME= qtqr
DISTVERSION= 2.1
+PORTREVISION= 1
CATEGORIES= graphics python
MASTER_SITES= https://launchpad.net/qr-tools/2.0/${PORTVERSION}/+download/ \
LOCAL/ehaupt
diff --git a/graphics/qview/Makefile b/graphics/qview/Makefile
index 3dbdf74b94ca..8c7701c8acdb 100644
--- a/graphics/qview/Makefile
+++ b/graphics/qview/Makefile
@@ -1,5 +1,6 @@
PORTNAME= qview
PORTVERSION= 6.1
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://github.com/jurplel/qView/releases/download/${PORTVERSION}/
DISTNAME= qView-${PORTVERSION}
diff --git a/graphics/rapid-photo-downloader/Makefile b/graphics/rapid-photo-downloader/Makefile
index 371462930bea..d13f6e37621e 100644
--- a/graphics/rapid-photo-downloader/Makefile
+++ b/graphics/rapid-photo-downloader/Makefile
@@ -1,6 +1,6 @@
PORTNAME= rapid-photo-downloader
DISTVERSION= 0.9.26
-PORTREVISION= 11
+PORTREVISION= 12
CATEGORIES= graphics
MASTER_SITES= https://launchpad.net/rapid/pyqt/${PORTVERSION}/+download/
diff --git a/graphics/resvg-capi/Makefile b/graphics/resvg-capi/Makefile
index 390d5d26ce36..338437fb4a87 100644
--- a/graphics/resvg-capi/Makefile
+++ b/graphics/resvg-capi/Makefile
@@ -1,6 +1,7 @@
PORTNAME= resvg-c-api
-DISTVERSION= 0.45.0
-PORTREVISION= 3
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.45.1
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/resvg-capi/distinfo b/graphics/resvg-capi/distinfo
index 816e6fff7a67..fe3bb83a612e 100644
--- a/graphics/resvg-capi/distinfo
+++ b/graphics/resvg-capi/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1740649222
+TIMESTAMP = 1762709803
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
SIZE (rust/crates/adler2-2.0.0.crate) = 13529
SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb
@@ -163,5 +163,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.14.crate) = 99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028
SIZE (rust/crates/zune-jpeg-0.4.14.crate) = 63388
-SHA256 (linebender-resvg-0.45.0_GH0.tar.gz) = 871a1583da6af849f8bafd44abc0a75fa7bc9d8ccb242b9e0eae5b5cd4e156c1
-SIZE (linebender-resvg-0.45.0_GH0.tar.gz) = 8342828
+SHA256 (linebender-resvg-v0.45.1_GH0.tar.gz) = 02915519b7409f43110f3cbdc5f87724efd58da1d8516914bdabf060c8a9a178
+SIZE (linebender-resvg-v0.45.1_GH0.tar.gz) = 8341152
diff --git a/graphics/resvg/Makefile b/graphics/resvg/Makefile
index 146bca64fbf9..46d5925ff27b 100644
--- a/graphics/resvg/Makefile
+++ b/graphics/resvg/Makefile
@@ -1,6 +1,7 @@
PORTNAME= resvg
-DISTVERSION= 0.45.0
-PORTREVISION= 3
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.45.1
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/resvg/distinfo b/graphics/resvg/distinfo
index 3e086cde160a..2cf64ed7e05d 100644
--- a/graphics/resvg/distinfo
+++ b/graphics/resvg/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1740649199
+TIMESTAMP = 1762709686
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
SIZE (rust/crates/adler2-2.0.0.crate) = 13529
SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb
@@ -163,5 +163,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.14.crate) = 99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028
SIZE (rust/crates/zune-jpeg-0.4.14.crate) = 63388
-SHA256 (RazrFalcon-resvg-0.45.0_GH0.tar.gz) = 871a1583da6af849f8bafd44abc0a75fa7bc9d8ccb242b9e0eae5b5cd4e156c1
-SIZE (RazrFalcon-resvg-0.45.0_GH0.tar.gz) = 8342828
+SHA256 (RazrFalcon-resvg-v0.45.1_GH0.tar.gz) = 02915519b7409f43110f3cbdc5f87724efd58da1d8516914bdabf060c8a9a178
+SIZE (RazrFalcon-resvg-v0.45.1_GH0.tar.gz) = 8341152
diff --git a/graphics/rubygem-clutter-gdk/Makefile b/graphics/rubygem-clutter-gdk/Makefile
index 235451820569..457337104a5d 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.4
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-clutter-gdk/distinfo b/graphics/rubygem-clutter-gdk/distinfo
index 1314ab9403ff..eac412a8864b 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 = 1765033000
+SHA256 (rubygem/clutter-gdk-4.3.4.gem) = 863a75a5029958c5d79808ddeac3909d81d7c767554eb3d9c00e433b177db2df
+SIZE (rubygem/clutter-gdk-4.3.4.gem) = 14848
diff --git a/graphics/rubygem-clutter-gtk/Makefile b/graphics/rubygem-clutter-gtk/Makefile
index f5cf5b826e15..f296b64696fc 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.4
CATEGORIES= graphics rubygems
MASTER_SITES= RG
@@ -15,7 +15,8 @@ BUILD_DEPENDS= rubygem-rake>=0:devel/rubygem-rake
LIB_DEPENDS= libclutter-gtk-1.0.so:graphics/clutter-gtk3
RUN_DEPENDS= rubygem-clutter>=${PORTVERSION}<${PORTVERSION}_99:graphics/rubygem-clutter \
rubygem-clutter-gdk>=${PORTVERSION}<${PORTVERSION}_99:graphics/rubygem-clutter-gdk \
- rubygem-gtk3>=${PORTVERSION}<${PORTVERSION}_99:x11-toolkits/rubygem-gtk3
+ rubygem-gtk3>=${PORTVERSION}<${PORTVERSION}_99:x11-toolkits/rubygem-gtk3 \
+ rubygem-rake>=0:devel/rubygem-rake
USES= gem
diff --git a/graphics/rubygem-clutter-gtk/distinfo b/graphics/rubygem-clutter-gtk/distinfo
index 036e8e361244..5a6626d459f3 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 = 1765033002
+SHA256 (rubygem/clutter-gtk-4.3.4.gem) = 647c13663d63e19ec7f5e0ba793037597cdf5e3984cba85e538fd9e10a10fbe1
+SIZE (rubygem/clutter-gtk-4.3.4.gem) = 31232
diff --git a/graphics/rubygem-clutter/Makefile b/graphics/rubygem-clutter/Makefile
index eca647d5202f..ea690cab786e 100644
--- a/graphics/rubygem-clutter/Makefile
+++ b/graphics/rubygem-clutter/Makefile
@@ -1,5 +1,5 @@
PORTNAME= clutter
-PORTVERSION= 4.2.9
+PORTVERSION= 4.3.4
CATEGORIES= graphics rubygems
MASTER_SITES= RG
@@ -15,7 +15,8 @@ BUILD_DEPENDS= rubygem-rake>=0:devel/rubygem-rake
LIB_DEPENDS= libclutter-1.0.so:graphics/clutter
RUN_DEPENDS= rubygem-cairo-gobject>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-cairo-gobject \
rubygem-gobject-introspection>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-gobject-introspection \
- rubygem-pango>=${PORTVERSION}<${PORTVERSION}_99:x11-toolkits/rubygem-pango
+ rubygem-pango>=${PORTVERSION}<${PORTVERSION}_99:x11-toolkits/rubygem-pango \
+ rubygem-rake>=0:devel/rubygem-rake
USES= gem
diff --git a/graphics/rubygem-clutter/distinfo b/graphics/rubygem-clutter/distinfo
index 375e22a98c6b..3b5c55ed6384 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 = 1765032998
+SHA256 (rubygem/clutter-4.3.4.gem) = 8e8ceca855ad07566d3754878eaebe5b08ca65b804d8329438b82982727ef04a
+SIZE (rubygem/clutter-4.3.4.gem) = 42496
diff --git a/graphics/rubygem-gdk_pixbuf2/Makefile b/graphics/rubygem-gdk_pixbuf2/Makefile
index 1c7f9e691c19..d6ebb8c49624 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.4
CATEGORIES= graphics rubygems
MASTER_SITES= RG
@@ -12,7 +12,8 @@ LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING.LIB
BUILD_DEPENDS= rubygem-rake>=0:devel/rubygem-rake
-RUN_DEPENDS= rubygem-gio2>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-gio2
+RUN_DEPENDS= rubygem-gio2>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-gio2 \
+ rubygem-rake>=0:devel/rubygem-rake
USES= gem gnome
USE_GNOME= gdkpixbuf
diff --git a/graphics/rubygem-gdk_pixbuf2/distinfo b/graphics/rubygem-gdk_pixbuf2/distinfo
index 16f8128b42ff..51e932efc7ab 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 = 1765033004
+SHA256 (rubygem/gdk_pixbuf2-4.3.4.gem) = ad63068a69abf2f5820418ec7a24f63287996f62541bdf35784259fd5dd115a5
+SIZE (rubygem/gdk_pixbuf2-4.3.4.gem) = 34816
diff --git a/graphics/rubygem-graphene1/Makefile b/graphics/rubygem-graphene1/Makefile
new file mode 100644
index 000000000000..f142eea8bcae
--- /dev/null
+++ b/graphics/rubygem-graphene1/Makefile
@@ -0,0 +1,20 @@
+PORTNAME= graphene1
+PORTVERSION= 4.3.4
+CATEGORIES= graphics rubygems
+MASTER_SITES= RG
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Ruby binding of graphene1
+WWW= https://ruby-gnome.github.io/ \
+ https://github.com/ruby-gnome/ruby-gnome
+
+LICENSE= LGPL21+
+LICENSE_FILE= ${WRKSRC}/COPYING.LIB
+
+RUN_DEPENDS= rubygem-gobject-introspection>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-gobject-introspection
+
+USES= gem
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/graphics/rubygem-graphene1/distinfo b/graphics/rubygem-graphene1/distinfo
new file mode 100644
index 000000000000..8a82add970e3
--- /dev/null
+++ b/graphics/rubygem-graphene1/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1765033006
+SHA256 (rubygem/graphene1-4.3.4.gem) = a00853943b03721861b400c7ad4e3f35471318d0ff779ed9a3db241604976e43
+SIZE (rubygem/graphene1-4.3.4.gem) = 15872
diff --git a/graphics/rubygem-graphene1/pkg-descr b/graphics/rubygem-graphene1/pkg-descr
new file mode 100644
index 000000000000..6f04a617ba6e
--- /dev/null
+++ b/graphics/rubygem-graphene1/pkg-descr
@@ -0,0 +1 @@
+Ruby/Graphene1 is a Ruby binding of Graphene.
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-image_processing/Makefile b/graphics/rubygem-image_processing/Makefile
index 70fb10a9bb8f..4e92fdcf1dee 100644
--- a/graphics/rubygem-image_processing/Makefile
+++ b/graphics/rubygem-image_processing/Makefile
@@ -10,15 +10,11 @@ WWW= https://github.com/janko/image_processing
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= rubygem-mini_magick4${PKGNAMESUFFIX}>=4.9.5<6:graphics/rubygem-mini_magick4@${FLAVOR} \
- rubygem-ruby-vips${PKGNAMESUFFIX}>=2.0.17<3:graphics/rubygem-ruby-vips@${FLAVOR}
+RUN_DEPENDS= rubygem-mini_magick4${PKGNAMESUFFIX}>=4.9.5<6:graphics/rubygem-mini_magick4 \
+ rubygem-ruby-vips${PKGNAMESUFFIX}>=2.0.17<3:graphics/rubygem-ruby-vips
USES= gem
NO_ARCH= yes
-FLAVORS= x11 nox11
-FLAVOR?= ${FLAVORS:[1]}
-nox11_PKGNAMESUFFIX= -nox11
-
.include <bsd.port.mk>
diff --git a/graphics/rubygem-invisible_captcha/Makefile b/graphics/rubygem-invisible_captcha/Makefile
index 00e37dcd82a9..be90c3e2e44f 100644
--- a/graphics/rubygem-invisible_captcha/Makefile
+++ b/graphics/rubygem-invisible_captcha/Makefile
@@ -1,6 +1,5 @@
PORTNAME= invisible_captcha
-PORTVERSION= 2.1.0
-PORTREVISION= 1
+PORTVERSION= 2.3.0
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-invisible_captcha/distinfo b/graphics/rubygem-invisible_captcha/distinfo
index e213eb73e5e5..f29740e6a87a 100644
--- a/graphics/rubygem-invisible_captcha/distinfo
+++ b/graphics/rubygem-invisible_captcha/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1695537083
-SHA256 (rubygem/invisible_captcha-2.1.0.gem) = 02b452f3eb1b691d155ba3e8e97e1be0e6b6be62e8bc94957234b9cde0852b1e
-SIZE (rubygem/invisible_captcha-2.1.0.gem) = 25600
+TIMESTAMP = 1755674924
+SHA256 (rubygem/invisible_captcha-2.3.0.gem) = 309ee5a5e891ecfb732c85b12f1aa9252a648df6f2761b3b41205e824e30ff15
+SIZE (rubygem/invisible_captcha-2.3.0.gem) = 26112
diff --git a/graphics/rubygem-mini_magick/Makefile b/graphics/rubygem-mini_magick/Makefile
index 0a42560e840d..5b92f0991eb5 100644
--- a/graphics/rubygem-mini_magick/Makefile
+++ b/graphics/rubygem-mini_magick/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mini_magick
-PORTVERSION= 5.3.0
+PORTVERSION= 5.3.1
CATEGORIES= graphics rubygems
MASTER_SITES= RG
@@ -13,11 +13,8 @@ LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
RUN_DEPENDS= rubygem-logger>=0:devel/rubygem-logger
USES= gem magick:${FLAVOR}
+USES= gem magick
NO_ARCH= yes
-FLAVORS= x11 nox11
-FLAVOR?= ${FLAVORS:[1]}
-nox11_PKGNAMESUFFIX= -nox11
-
.include <bsd.port.mk>
diff --git a/graphics/rubygem-mini_magick/distinfo b/graphics/rubygem-mini_magick/distinfo
index eb2346034f41..a91b61b3bb29 100644
--- a/graphics/rubygem-mini_magick/distinfo
+++ b/graphics/rubygem-mini_magick/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752416430
-SHA256 (rubygem/mini_magick-5.3.0.gem) = 6f13309c90f9ebe204b4c3f04d0a5a9265c5f734950894e83fa2480d4aa79ba4
-SIZE (rubygem/mini_magick-5.3.0.gem) = 21504
+TIMESTAMP = 1757121820
+SHA256 (rubygem/mini_magick-5.3.1.gem) = 29395dfd76badcabb6403ee5aff6f681e867074f8f28ce08d78661e9e4a351c4
+SIZE (rubygem/mini_magick-5.3.1.gem) = 21504
diff --git a/graphics/rubygem-mini_magick4/Makefile b/graphics/rubygem-mini_magick4/Makefile
index 84fa9dfbb1ba..e6c139bd6aff 100644
--- a/graphics/rubygem-mini_magick4/Makefile
+++ b/graphics/rubygem-mini_magick4/Makefile
@@ -2,7 +2,7 @@ PORTNAME= mini_magick
PORTVERSION= 4.13.2
CATEGORIES= graphics rubygems
MASTER_SITES= RG
-PKGNAMESUFFIX?= 4
+PKGNAMESUFFIX= 4
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Manipulate images with minimal use of memory via ImageMagick
@@ -11,14 +11,10 @@ WWW= https://github.com/minimagick/minimagick
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
-USES= gem magick:${FLAVOR}
+USES= gem magick
NO_ARCH= yes
-FLAVORS= x11 nox11
-FLAVOR?= ${FLAVORS:[1]}
-nox11_PKGNAMESUFFIX= 4-nox11
-
PORTSCOUT= limit:^4\.
.include <bsd.port.mk>
diff --git a/graphics/rubygem-rmagick/Makefile b/graphics/rubygem-rmagick/Makefile
index ad764e200ef8..534c3eee81b3 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.4
CATEGORIES= graphics rubygems
MASTER_SITES= RG
diff --git a/graphics/rubygem-rmagick/distinfo b/graphics/rubygem-rmagick/distinfo
index 198ff93eee6b..192915ad6b93 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 = 1757122056
+SHA256 (rubygem/rmagick-6.1.4.gem) = 038593dd017bcb538c80a1a03800963c8050b808903daa57fce4f74259b30f65
+SIZE (rubygem/rmagick-6.1.4.gem) = 270336
diff --git a/graphics/rubygem-rsvg2/Makefile b/graphics/rubygem-rsvg2/Makefile
index dc987a42ad72..9e60c32cb24d 100644
--- a/graphics/rubygem-rsvg2/Makefile
+++ b/graphics/rubygem-rsvg2/Makefile
@@ -1,5 +1,5 @@
PORTNAME= rsvg2
-PORTVERSION= 4.2.9
+PORTVERSION= 4.3.4
CATEGORIES= graphics rubygems
MASTER_SITES= RG
@@ -13,7 +13,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING.LIB
BUILD_DEPENDS= rubygem-rake>=0:devel/rubygem-rake
RUN_DEPENDS= rubygem-cairo-gobject>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-cairo-gobject \
- rubygem-gdk_pixbuf2>=${PORTVERSION}<${PORTVERSION}_99:graphics/rubygem-gdk_pixbuf2
+ rubygem-gdk_pixbuf2>=${PORTVERSION}<${PORTVERSION}_99:graphics/rubygem-gdk_pixbuf2 \
+ rubygem-rake>=0:devel/rubygem-rake
USES= gem gnome
USE_GNOME= librsvg2
diff --git a/graphics/rubygem-rsvg2/distinfo b/graphics/rubygem-rsvg2/distinfo
index 5fbb855a785e..bbbc6c762364 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 = 1765033008
+SHA256 (rubygem/rsvg2-4.3.4.gem) = 535ac3f14173fdb08e4ada332869f292df725419242436eeda5de46af77bc453
+SIZE (rubygem/rsvg2-4.3.4.gem) = 29696
diff --git a/graphics/rubygem-ruby-vips/Makefile b/graphics/rubygem-ruby-vips/Makefile
index 833b7511e194..3d1aefc812a2 100644
--- a/graphics/rubygem-ruby-vips/Makefile
+++ b/graphics/rubygem-ruby-vips/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ruby-vips
-PORTVERSION= 2.2.4
+PORTVERSION= 2.2.5
CATEGORIES= graphics rubygems
MASTER_SITES= RG
@@ -10,7 +10,7 @@ WWW= https://github.com/libvips/ruby-vips
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-LIB_DEPENDS= libvips.so:graphics/vips@${FLAVOR}
+LIB_DEPENDS= libvips.so:graphics/vips
RUN_DEPENDS= rubygem-ffi>=1.12<2:devel/rubygem-ffi \
rubygem-logger>=0:devel/rubygem-logger
@@ -19,10 +19,6 @@ USE_GNOME= glib20
NO_ARCH= yes
-FLAVORS= x11 nox11
-FLAVOR?= ${FLAVORS:[1]}
-nox11_PKGNAMESUFFIX= -nox11
-
SHEBANG_FILES= example/*.rb
.include <bsd.port.mk>
diff --git a/graphics/rubygem-ruby-vips/distinfo b/graphics/rubygem-ruby-vips/distinfo
index 74bfe6081a6c..2af459ee3cda 100644
--- a/graphics/rubygem-ruby-vips/distinfo
+++ b/graphics/rubygem-ruby-vips/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749813978
-SHA256 (rubygem/ruby-vips-2.2.4.gem) = a305d34c8b38bf93fcb45e9c652dfba4464f3ff86d9a2ccfe3361841e7ea1c49
-SIZE (rubygem/ruby-vips-2.2.4.gem) = 70144
+TIMESTAMP = 1757121822
+SHA256 (rubygem/ruby-vips-2.2.5.gem) = f3c547a172c36ba26b8614c809f5823bc6199623ec6204ec7c3bce29037f7758
+SIZE (rubygem/ruby-vips-2.2.5.gem) = 73728
diff --git a/graphics/rx/Makefile b/graphics/rx/Makefile
index 8037ea3f3db3..cecd64b39f53 100644
--- a/graphics/rx/Makefile
+++ b/graphics/rx/Makefile
@@ -1,7 +1,7 @@
PORTNAME= rx
DISTVERSIONPREFIX= v
DISTVERSION= 0.5.2
-PORTREVISION= 37
+PORTREVISION= 40
CATEGORIES= graphics
PKGNAMESUFFIX= -editor
diff --git a/graphics/s2/Makefile b/graphics/s2/Makefile
index cc20ee33633a..4ccc7a76861a 100644
--- a/graphics/s2/Makefile
+++ b/graphics/s2/Makefile
@@ -1,7 +1,7 @@
PORTNAME= s2
PORTVERSION= 0.12.0
-PORTREVISION= 1
DISTVERSIONPREFIX= v
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= sunpoet@FreeBSD.org
@@ -16,21 +16,23 @@ NOT_FOR_ARCHS= i386
NOT_FOR_ARCHS_REASON= is currently 64-bit only
LIB_DEPENDS= libabsl_base.so:devel/abseil
+TEST_DEPENDS= googletest>=1.10:devel/googletest
-USES= cmake compiler:c++17-lang localbase ssl
+USES= cmake:testing compiler:c++17-lang localbase ssl
CMAKE_ARGS= -DCMAKE_CXX_STANDARD=17
CMAKE_OFF= BUILD_TESTS \
S2_USE_SYSTEM_INCLUDES \
WITH_PYTHON
CMAKE_ON= BUILD_SHARED_LIBS
+CMAKE_TESTING_ON= BUILD_TESTS
USE_LDCONFIG= yes
PLIST_SUB= PORTVERSION=${PORTVERSION}
+USE_GITHUB= yes
GH_ACCOUNT= google
GH_PROJECT= s2geometry
-USE_GITHUB= yes
OPTIONS_DEFINE= EXAMPLES
diff --git a/graphics/s2/files/patch-CMakeLists.txt b/graphics/s2/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..d10c4d130c5e
--- /dev/null
+++ b/graphics/s2/files/patch-CMakeLists.txt
@@ -0,0 +1,58 @@
+--- CMakeLists.txt.orig 2025-02-02 07:37:37 UTC
++++ CMakeLists.txt
+@@ -206,7 +206,7 @@ add_library(s2
+ src/s2/util/math/mathutil.cc
+ src/s2/util/units/length-units.cc)
+
+-if (GOOGLETEST_ROOT)
++if (BUILD_TESTS)
+ add_library(s2testing STATIC
+ src/s2/gmock_matchers.cc
+ src/s2/s2builderutil_testing.cc
+@@ -244,7 +244,7 @@ target_link_libraries(
+ absl::vlog_is_on
+ ${CMAKE_THREAD_LIBS_INIT})
+
+-if (GOOGLETEST_ROOT)
++if (BUILD_TESTS)
+ target_link_libraries(
+ s2testing
+ absl::check
+@@ -454,7 +454,7 @@ install(FILES src/s2/util/units/length-units.h
+ src/s2/util/units/physical-units.h
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/s2/util/units")
+
+-if (GOOGLETEST_ROOT)
++if (BUILD_TESTS)
+ set(S2_TARGETS s2 s2testing)
+ else()
+ set(S2_TARGETS s2)
+@@ -477,15 +477,7 @@ if (BUILD_TESTS)
+ DESTINATION share/s2/)
+
+ if (BUILD_TESTS)
+- if (NOT GOOGLETEST_ROOT)
+- message(FATAL_ERROR "BUILD_TESTS requires GOOGLETEST_ROOT")
+- endif()
+- message("GOOGLETEST_ROOT: ${GOOGLETEST_ROOT}")
+-
+- add_subdirectory(${GOOGLETEST_ROOT}/googlemock build_gmock)
+- include_directories(${GOOGLETEST_ROOT}/googlemock/include)
+- include_directories(${GOOGLETEST_ROOT}/googletest/include)
+-
++ find_package(GTest REQUIRED)
+ set(S2TestFiles
+ src/s2/encoded_s2cell_id_vector_test.cc
+ src/s2/encoded_s2point_vector_test.cc
+@@ -630,7 +622,10 @@ if (BUILD_TESTS)
+ absl::status
+ absl::strings
+ absl::synchronization
+- gmock_main)
++ GTest::gtest
++ GTest::gtest_main
++ GTest::gmock
++ GTest::gmock_main)
+ add_test(${test} ${test})
+ endforeach()
+ endif()
diff --git a/graphics/sane-airscan/Makefile b/graphics/sane-airscan/Makefile
index 004ffed64082..667928a4931f 100644
--- a/graphics/sane-airscan/Makefile
+++ b/graphics/sane-airscan/Makefile
@@ -1,6 +1,5 @@
PORTNAME= sane-airscan
-DISTVERSION= 0.99.29
-PORTREVISION= 1
+DISTVERSION= 0.99.36
CATEGORIES= graphics
MAINTAINER= henry.hu.sh@gmail.com
@@ -17,10 +16,9 @@ LIB_DEPENDS= libavahi-client.so:net/avahi-app \
libtiff.so:graphics/tiff
USES= gnome jpeg meson pkgconfig
-USE_GNOME= libxml2
-
USE_GITHUB= yes
GH_ACCOUNT= alexpevzner
+USE_GNOME= libxml2
post-install:
@${MV} ${STAGEDIR}${PREFIX}/etc/sane.d/airscan.conf \
diff --git a/graphics/sane-airscan/distinfo b/graphics/sane-airscan/distinfo
index 1a39ae500211..0f04014a5b2f 100644
--- a/graphics/sane-airscan/distinfo
+++ b/graphics/sane-airscan/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1719644469
-SHA256 (alexpevzner-sane-airscan-0.99.29_GH0.tar.gz) = e8aa43005ed495fc0db65e2ff51b29cef11a45fc6d8c385294b3394b848db65f
-SIZE (alexpevzner-sane-airscan-0.99.29_GH0.tar.gz) = 211753
+TIMESTAMP = 1753920000
+SHA256 (alexpevzner-sane-airscan-0.99.36_GH0.tar.gz) = 43d3436c0199496ee18aca4f875fe3926a40a0fae781bc280cdb96f7b5068ac0
+SIZE (alexpevzner-sane-airscan-0.99.36_GH0.tar.gz) = 218775
diff --git a/graphics/sane-backends/Makefile b/graphics/sane-backends/Makefile
index 81f78de12fda..c4e8a535c2f6 100644
--- a/graphics/sane-backends/Makefile
+++ b/graphics/sane-backends/Makefile
@@ -1,6 +1,6 @@
PORTNAME= sane-backends
DISTVERSION= 1.4.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= https://gitlab.com/-/project/429008/uploads/843c156420e211859e974f78f64c3ea3/
diff --git a/graphics/satty/Makefile b/graphics/satty/Makefile
index 142fae6204be..5e5b2f8bfa77 100644
--- a/graphics/satty/Makefile
+++ b/graphics/satty/Makefile
@@ -1,7 +1,7 @@
PORTNAME= satty
DISTVERSIONPREFIX= v
-DISTVERSION= 0.19.0
-PORTREVISION= 2
+DISTVERSION= 0.20.0
+PORTREVISION= 1
CATEGORIES= graphics wayland
MASTER_SITES= CRATESIO
@@ -18,7 +18,6 @@ USE_GITHUB= yes
USE_GNOME= gdkpixbuf gtk40 libadwaita
GH_ACCOUNT= gabm
GH_PROJECT= Satty
-CARGO_ENV= SOURCE_DIR="${WRKSRC}"
PLIST_FILES= bin/${PORTNAME} \
share/applications/${PORTNAME}.desktop \
share/icons/hicolor/scalable/apps/${PORTNAME}.svg
diff --git a/graphics/satty/Makefile.crates b/graphics/satty/Makefile.crates
index f2393cf69b9e..0d2c86cc0066 100644
--- a/graphics/satty/Makefile.crates
+++ b/graphics/satty/Makefile.crates
@@ -1,52 +1,51 @@
-CARGO_CRATES= addr2line-0.24.2 \
- adler2-2.0.0 \
- android-tzdata-0.1.1 \
+CARGO_CRATES= addr2line-0.25.1 \
+ adler2-2.0.1 \
android_system_properties-0.1.5 \
- anstream-0.6.18 \
- anstyle-1.0.10 \
- anstyle-parse-0.2.6 \
- anstyle-query-1.1.2 \
- anstyle-wincon-3.0.7 \
- anyhow-1.0.98 \
+ anstream-0.6.21 \
+ anstyle-1.0.13 \
+ anstyle-parse-0.2.7 \
+ anstyle-query-1.1.4 \
+ anstyle-wincon-3.0.10 \
+ anyhow-1.0.100 \
arraydeque-0.5.1 \
arrayvec-0.7.6 \
- autocfg-1.4.0 \
- backtrace-0.3.75 \
+ autocfg-1.5.0 \
+ backtrace-0.3.76 \
bitflags-1.3.2 \
- bitflags-2.9.1 \
- bumpalo-3.17.0 \
- bytemuck-1.23.0 \
- bytemuck_derive-1.9.3 \
- byteorder-1.5.0 \
+ bitflags-2.9.4 \
+ bumpalo-3.19.0 \
+ bytemuck-1.24.0 \
+ bytemuck_derive-1.10.2 \
byteorder-lite-0.1.0 \
- bytes-1.10.1 \
- cairo-rs-0.20.10 \
- cairo-sys-rs-0.20.10 \
- cc-1.2.22 \
- cfg-expr-0.17.2 \
- cfg-if-1.0.0 \
- chrono-0.4.41 \
- clap-4.5.38 \
- clap_builder-4.5.38 \
- clap_complete-4.5.50 \
+ cairo-rs-0.21.2 \
+ cairo-sys-rs-0.21.2 \
+ cc-1.2.40 \
+ cfg-expr-0.20.3 \
+ cfg-if-1.0.3 \
+ chrono-0.4.42 \
+ clap-4.5.48 \
+ clap_builder-4.5.48 \
+ clap_complete-4.5.58 \
clap_complete_fig-4.5.2 \
- clap_complete_nushell-4.5.5 \
- clap_derive-4.5.32 \
- clap_lex-0.7.4 \
- colorchoice-1.0.3 \
+ clap_complete_nushell-4.5.8 \
+ clap_derive-4.5.47 \
+ clap_lex-0.7.5 \
+ colorchoice-1.0.4 \
core-foundation-sys-0.8.7 \
core_maths-0.1.1 \
- crc32fast-1.4.2 \
+ crc32fast-1.5.0 \
dlib-0.5.2 \
+ either-1.15.0 \
endi-1.1.0 \
epoxy-0.1.0 \
equivalent-1.0.2 \
- femtovg-0.14.0 \
+ femtovg-0.18.1 \
field-offset-0.3.6 \
- flate2-1.1.1 \
+ find-msvc-tools-0.1.3 \
+ flate2-1.1.4 \
flume-0.11.1 \
fnv-1.0.7 \
- fontconfig-0.9.0 \
+ fontconfig-0.10.0 \
fragile-2.0.1 \
futures-0.3.31 \
futures-channel-0.3.31 \
@@ -57,124 +56,129 @@ CARGO_CRATES= addr2line-0.24.2 \
futures-sink-0.3.31 \
futures-task-0.3.31 \
futures-util-0.3.31 \
- gdk-pixbuf-0.20.10 \
- gdk-pixbuf-sys-0.20.10 \
- gdk4-0.9.6 \
- gdk4-sys-0.9.6 \
+ gdk-pixbuf-0.21.2 \
+ gdk-pixbuf-sys-0.21.2 \
+ gdk4-0.10.1 \
+ gdk4-sys-0.10.1 \
getrandom-0.2.16 \
- gimli-0.31.1 \
- gio-0.20.10 \
- gio-sys-0.20.10 \
+ gimli-0.32.3 \
+ gio-0.21.2 \
+ gio-sys-0.21.2 \
gl_generator-0.9.0 \
- glib-0.20.10 \
- glib-macros-0.20.10 \
- glib-sys-0.20.10 \
+ glib-0.21.3 \
+ glib-macros-0.21.2 \
+ glib-sys-0.21.2 \
glow-0.16.0 \
- gobject-sys-0.20.10 \
- graphene-rs-0.20.10 \
- graphene-sys-0.20.10 \
- gsk4-0.9.6 \
- gsk4-sys-0.9.6 \
- gtk4-0.9.6 \
- gtk4-macros-0.9.5 \
- gtk4-sys-0.9.6 \
- gvdb-0.6.1 \
- hashbrown-0.15.3 \
+ gobject-sys-0.21.2 \
+ graphene-rs-0.21.2 \
+ graphene-sys-0.21.2 \
+ gsk4-0.10.1 \
+ gsk4-sys-0.10.1 \
+ gtk4-0.10.1 \
+ gtk4-macros-0.10.1 \
+ gtk4-sys-0.10.1 \
+ gvdb-0.9.0 \
+ hashbrown-0.16.0 \
heck-0.5.0 \
hex_color-3.0.0 \
- iana-time-zone-0.1.63 \
+ iana-time-zone-0.1.64 \
iana-time-zone-haiku-0.1.2 \
- image-0.25.6 \
- imgref-1.11.0 \
- indexmap-2.9.0 \
+ image-0.25.8 \
+ imgref-1.12.0 \
+ indexmap-2.11.4 \
+ io-uring-0.7.10 \
is_terminal_polyfill-1.70.1 \
+ itertools-0.14.0 \
itoa-1.0.15 \
- js-sys-0.3.77 \
+ js-sys-0.3.81 \
keycode-1.0.0 \
keycode_macro-1.0.0 \
khronos_api-2.2.0 \
lazy_static-1.5.0 \
- libadwaita-0.7.2 \
- libadwaita-sys-0.7.2 \
- libc-0.2.172 \
- libloading-0.8.7 \
+ libadwaita-0.8.0 \
+ libadwaita-sys-0.8.0 \
+ libc-0.2.176 \
+ libloading-0.8.9 \
libm-0.2.15 \
- lock_api-0.4.12 \
- log-0.4.27 \
- lru-0.12.5 \
- memchr-2.7.4 \
+ lock_api-0.4.14 \
+ log-0.4.28 \
+ lru-0.16.1 \
+ memchr-2.7.6 \
memoffset-0.9.1 \
- miniz_oxide-0.8.8 \
- mio-1.0.3 \
+ miniz_oxide-0.8.9 \
+ mio-1.0.4 \
+ moxcms-0.7.6 \
nanorand-0.7.0 \
num-traits-0.2.19 \
- object-0.36.7 \
+ object-0.37.3 \
once_cell-1.21.3 \
- pango-0.20.10 \
- pango-sys-0.20.10 \
- parking_lot-0.12.3 \
- parking_lot_core-0.9.10 \
+ once_cell_polyfill-1.70.1 \
+ pango-0.21.3 \
+ pango-sys-0.21.2 \
pin-project-lite-0.2.16 \
pin-utils-0.1.0 \
pkg-config-0.3.32 \
ppv-lite86-0.2.21 \
- proc-macro-crate-3.3.0 \
- proc-macro2-1.0.95 \
- quick-xml-0.31.0 \
- quote-1.0.40 \
+ proc-macro-crate-3.4.0 \
+ proc-macro2-1.0.101 \
+ pxfm-0.1.24 \
+ quick-xml-0.38.3 \
+ quote-1.0.41 \
rand-0.8.5 \
rand_chacha-0.3.1 \
rand_core-0.6.4 \
- redox_syscall-0.5.12 \
- relm4-0.9.1 \
- relm4-css-0.9.0 \
- relm4-icons-0.9.0 \
- relm4-macros-0.9.1 \
+ relm4-0.10.0 \
+ relm4-css-0.10.0 \
+ relm4-icons-0.10.0 \
+ relm4-icons-build-0.10.0 \
+ relm4-macros-0.10.0 \
resource-0.6.0 \
resource_list_proc_macro-0.6.0 \
- rgb-0.8.50 \
- rustc-demangle-0.1.24 \
+ rgb-0.8.52 \
+ rustc-demangle-0.1.26 \
rustc_version-0.4.1 \
- rustversion-1.0.20 \
+ rustversion-1.0.22 \
rustybuzz-0.20.1 \
ryu-1.0.20 \
- safe-transmute-0.11.3 \
same-file-1.0.6 \
scopeguard-1.2.0 \
- semver-1.0.26 \
- serde-1.0.219 \
- serde_derive-1.0.219 \
- serde_json-1.0.140 \
- serde_spanned-0.6.8 \
+ semver-1.0.27 \
+ serde-1.0.228 \
+ serde_core-1.0.228 \
+ serde_derive-1.0.228 \
+ serde_json-1.0.145 \
+ serde_spanned-0.6.9 \
+ serde_spanned-1.0.2 \
shared_library-0.1.9 \
shlex-1.3.0 \
- signal-hook-registry-1.4.5 \
- slab-0.4.9 \
+ simd-adler32-0.3.7 \
+ slab-0.4.11 \
slotmap-1.0.7 \
- smallvec-1.15.0 \
- socket2-0.5.9 \
+ smallvec-1.15.1 \
spin-0.9.8 \
- static_assertions-1.1.0 \
strsim-0.11.1 \
- syn-2.0.101 \
- system-deps-7.0.3 \
- target-lexicon-0.12.16 \
- thiserror-2.0.12 \
- thiserror-impl-2.0.12 \
- tokio-1.45.0 \
- tokio-macros-2.5.0 \
- toml-0.8.22 \
- toml_datetime-0.6.9 \
- toml_edit-0.22.26 \
- toml_write-0.1.1 \
+ syn-2.0.106 \
+ system-deps-7.0.5 \
+ target-lexicon-0.13.2 \
+ thiserror-2.0.17 \
+ thiserror-impl-2.0.17 \
+ tokio-1.47.1 \
+ toml-0.8.23 \
+ toml-0.9.7 \
+ toml_datetime-0.6.11 \
+ toml_datetime-0.7.2 \
+ toml_edit-0.22.27 \
+ toml_edit-0.23.6 \
+ toml_parser-1.0.3 \
+ toml_writer-1.0.3 \
tracing-0.1.41 \
- tracing-attributes-0.1.28 \
- tracing-core-0.1.33 \
+ tracing-attributes-0.1.30 \
+ tracing-core-0.1.34 \
ttf-parser-0.25.1 \
unicode-bidi-0.3.18 \
unicode-bidi-mirroring-0.4.0 \
unicode-ccc-0.4.0 \
- unicode-ident-1.0.18 \
+ unicode-ident-1.0.19 \
unicode-properties-0.1.3 \
unicode-script-0.5.7 \
unicode-segmentation-1.12.0 \
@@ -182,46 +186,47 @@ CARGO_CRATES= addr2line-0.24.2 \
version-compare-0.2.0 \
version_check-0.9.5 \
walkdir-2.5.0 \
- wasi-0.11.0+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.100 \
- wasm-bindgen-backend-0.2.100 \
- wasm-bindgen-macro-0.2.100 \
- wasm-bindgen-macro-support-0.2.100 \
- wasm-bindgen-shared-0.2.100 \
- web-sys-0.3.77 \
- winapi-util-0.1.9 \
- windows-core-0.61.0 \
- windows-implement-0.60.0 \
- windows-interface-0.59.1 \
- windows-link-0.1.1 \
- windows-result-0.3.2 \
- windows-strings-0.4.0 \
- windows-sys-0.52.0 \
+ wasi-0.11.1+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.104 \
+ wasm-bindgen-backend-0.2.104 \
+ wasm-bindgen-macro-0.2.104 \
+ wasm-bindgen-macro-support-0.2.104 \
+ wasm-bindgen-shared-0.2.104 \
+ web-sys-0.3.81 \
+ winapi-util-0.1.11 \
+ windows-core-0.62.2 \
+ windows-implement-0.60.2 \
+ windows-interface-0.59.3 \
+ windows-link-0.2.1 \
+ windows-result-0.4.1 \
+ windows-strings-0.5.1 \
windows-sys-0.59.0 \
+ windows-sys-0.60.2 \
+ windows-sys-0.61.2 \
windows-targets-0.52.6 \
- windows-targets-0.53.0 \
+ windows-targets-0.53.5 \
windows_aarch64_gnullvm-0.52.6 \
- windows_aarch64_gnullvm-0.53.0 \
+ windows_aarch64_gnullvm-0.53.1 \
windows_aarch64_msvc-0.52.6 \
- windows_aarch64_msvc-0.53.0 \
+ windows_aarch64_msvc-0.53.1 \
windows_i686_gnu-0.52.6 \
- windows_i686_gnu-0.53.0 \
+ windows_i686_gnu-0.53.1 \
windows_i686_gnullvm-0.52.6 \
- windows_i686_gnullvm-0.53.0 \
+ windows_i686_gnullvm-0.53.1 \
windows_i686_msvc-0.52.6 \
- windows_i686_msvc-0.53.0 \
+ windows_i686_msvc-0.53.1 \
windows_x86_64_gnu-0.52.6 \
- windows_x86_64_gnu-0.53.0 \
+ windows_x86_64_gnu-0.53.1 \
windows_x86_64_gnullvm-0.52.6 \
- windows_x86_64_gnullvm-0.53.0 \
+ windows_x86_64_gnullvm-0.53.1 \
windows_x86_64_msvc-0.52.6 \
- windows_x86_64_msvc-0.53.0 \
- winnow-0.7.10 \
+ windows_x86_64_msvc-0.53.1 \
+ winnow-0.7.13 \
xdg-3.0.0 \
xml-rs-0.7.0 \
yeslogic-fontconfig-sys-6.0.0 \
- zerocopy-0.8.25 \
- zerocopy-derive-0.8.25 \
- zvariant-4.2.0 \
- zvariant_derive-4.2.0 \
- zvariant_utils-2.1.0
+ zerocopy-0.8.27 \
+ zerocopy-derive-0.8.27 \
+ zvariant-5.7.0 \
+ zvariant_derive-5.7.0 \
+ zvariant_utils-3.2.1
diff --git a/graphics/satty/distinfo b/graphics/satty/distinfo
index c47bd8ce968f..4022bd617d4a 100644
--- a/graphics/satty/distinfo
+++ b/graphics/satty/distinfo
@@ -1,102 +1,100 @@
-TIMESTAMP = 1747336749
-SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
-SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
-SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
-SIZE (rust/crates/adler2-2.0.0.crate) = 13529
-SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
-SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+TIMESTAMP = 1759948529
+SHA256 (rust/crates/addr2line-0.25.1.crate) = 1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b
+SIZE (rust/crates/addr2line-0.25.1.crate) = 43134
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
-SHA256 (rust/crates/anstream-0.6.18.crate) = 8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b
-SIZE (rust/crates/anstream-0.6.18.crate) = 29681
-SHA256 (rust/crates/anstyle-1.0.10.crate) = 55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9
-SIZE (rust/crates/anstyle-1.0.10.crate) = 15725
-SHA256 (rust/crates/anstyle-parse-0.2.6.crate) = 3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9
-SIZE (rust/crates/anstyle-parse-0.2.6.crate) = 22343
-SHA256 (rust/crates/anstyle-query-1.1.2.crate) = 79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c
-SIZE (rust/crates/anstyle-query-1.1.2.crate) = 9969
-SHA256 (rust/crates/anstyle-wincon-3.0.7.crate) = ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e
-SIZE (rust/crates/anstyle-wincon-3.0.7.crate) = 12400
-SHA256 (rust/crates/anyhow-1.0.98.crate) = e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487
-SIZE (rust/crates/anyhow-1.0.98.crate) = 53334
+SHA256 (rust/crates/anstream-0.6.21.crate) = 43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a
+SIZE (rust/crates/anstream-0.6.21.crate) = 29516
+SHA256 (rust/crates/anstyle-1.0.13.crate) = 5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78
+SIZE (rust/crates/anstyle-1.0.13.crate) = 17651
+SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2
+SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707
+SHA256 (rust/crates/anstyle-query-1.1.4.crate) = 9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2
+SIZE (rust/crates/anstyle-query-1.1.4.crate) = 10192
+SHA256 (rust/crates/anstyle-wincon-3.0.10.crate) = 3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a
+SIZE (rust/crates/anstyle-wincon-3.0.10.crate) = 12558
+SHA256 (rust/crates/anyhow-1.0.100.crate) = a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61
+SIZE (rust/crates/anyhow-1.0.100.crate) = 54059
SHA256 (rust/crates/arraydeque-0.5.1.crate) = 7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236
SIZE (rust/crates/arraydeque-0.5.1.crate) = 17671
SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
-SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
-SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
-SHA256 (rust/crates/backtrace-0.3.75.crate) = 6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002
-SIZE (rust/crates/backtrace-0.3.75.crate) = 92665
+SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
+SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
+SHA256 (rust/crates/backtrace-0.3.76.crate) = bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6
+SIZE (rust/crates/backtrace-0.3.76.crate) = 89458
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitflags-2.9.1.crate) = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967
-SIZE (rust/crates/bitflags-2.9.1.crate) = 47913
-SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf
-SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975
-SHA256 (rust/crates/bytemuck-1.23.0.crate) = 9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c
-SIZE (rust/crates/bytemuck-1.23.0.crate) = 52534
-SHA256 (rust/crates/bytemuck_derive-1.9.3.crate) = 7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1
-SIZE (rust/crates/bytemuck_derive-1.9.3.crate) = 23555
-SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
-SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/bitflags-2.9.4.crate) = 2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394
+SIZE (rust/crates/bitflags-2.9.4.crate) = 47950
+SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43
+SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414
+SHA256 (rust/crates/bytemuck-1.24.0.crate) = 1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4
+SIZE (rust/crates/bytemuck-1.24.0.crate) = 53243
+SHA256 (rust/crates/bytemuck_derive-1.10.2.crate) = f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff
+SIZE (rust/crates/bytemuck_derive-1.10.2.crate) = 25678
SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
-SHA256 (rust/crates/bytes-1.10.1.crate) = d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a
-SIZE (rust/crates/bytes-1.10.1.crate) = 76779
-SHA256 (rust/crates/cairo-rs-0.20.10.crate) = b58e62a27cd02fb3f63f82bb31fdda7e6c43141497cbe97e8816d7c914043f55
-SIZE (rust/crates/cairo-rs-0.20.10.crate) = 57584
-SHA256 (rust/crates/cairo-sys-rs-0.20.10.crate) = 059cc746549898cbfd9a47754288e5a958756650ef4652bbb6c5f71a6bda4f8b
-SIZE (rust/crates/cairo-sys-rs-0.20.10.crate) = 14424
-SHA256 (rust/crates/cc-1.2.22.crate) = 32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1
-SIZE (rust/crates/cc-1.2.22.crate) = 106294
-SHA256 (rust/crates/cfg-expr-0.17.2.crate) = 8d4ba6e40bd1184518716a6e1a781bf9160e286d219ccdb8ab2612e74cfe4789
-SIZE (rust/crates/cfg-expr-0.17.2.crate) = 44034
-SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
-SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/chrono-0.4.41.crate) = c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d
-SIZE (rust/crates/chrono-0.4.41.crate) = 234621
-SHA256 (rust/crates/clap-4.5.38.crate) = ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000
-SIZE (rust/crates/clap-4.5.38.crate) = 57140
-SHA256 (rust/crates/clap_builder-4.5.38.crate) = 379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120
-SIZE (rust/crates/clap_builder-4.5.38.crate) = 169177
-SHA256 (rust/crates/clap_complete-4.5.50.crate) = c91d3baa3bcd889d60e6ef28874126a0b384fd225ab83aa6d8a801c519194ce1
-SIZE (rust/crates/clap_complete-4.5.50.crate) = 48292
+SHA256 (rust/crates/cairo-rs-0.21.2.crate) = dfe4354df4da648870e363387679081f8f9fc538ec8b55901e3740c6a0ef81b1
+SIZE (rust/crates/cairo-rs-0.21.2.crate) = 58365
+SHA256 (rust/crates/cairo-sys-rs-0.21.2.crate) = 47d6c3300c7103eb8e4de07591003511aa25664438f8c6fc317a3a9902c103f8
+SIZE (rust/crates/cairo-sys-rs-0.21.2.crate) = 14564
+SHA256 (rust/crates/cc-1.2.40.crate) = e1d05d92f4b1fd76aad469d46cdd858ca761576082cd37df81416691e50199fb
+SIZE (rust/crates/cc-1.2.40.crate) = 91094
+SHA256 (rust/crates/cfg-expr-0.20.3.crate) = 1a2c5f3bf25ec225351aa1c8e230d04d880d3bd89dea133537dafad4ae291e5c
+SIZE (rust/crates/cfg-expr-0.20.3.crate) = 44845
+SHA256 (rust/crates/cfg-if-1.0.3.crate) = 2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9
+SIZE (rust/crates/cfg-if-1.0.3.crate) = 8719
+SHA256 (rust/crates/chrono-0.4.42.crate) = 145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2
+SIZE (rust/crates/chrono-0.4.42.crate) = 238174
+SHA256 (rust/crates/clap-4.5.48.crate) = e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae
+SIZE (rust/crates/clap-4.5.48.crate) = 61935
+SHA256 (rust/crates/clap_builder-4.5.48.crate) = c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9
+SIZE (rust/crates/clap_builder-4.5.48.crate) = 170133
+SHA256 (rust/crates/clap_complete-4.5.58.crate) = 75bf0b32ad2e152de789bb635ea4d3078f6b838ad7974143e99b99f45a04af4a
+SIZE (rust/crates/clap_complete-4.5.58.crate) = 48645
SHA256 (rust/crates/clap_complete_fig-4.5.2.crate) = d494102c8ff3951810c72baf96910b980fb065ca5d3101243e6a8dc19747c86b
SIZE (rust/crates/clap_complete_fig-4.5.2.crate) = 11376
-SHA256 (rust/crates/clap_complete_nushell-4.5.5.crate) = c6a8b1593457dfc2fe539002b795710d022dc62a65bf15023f039f9760c7b18a
-SIZE (rust/crates/clap_complete_nushell-4.5.5.crate) = 33986
-SHA256 (rust/crates/clap_derive-4.5.32.crate) = 09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7
-SIZE (rust/crates/clap_derive-4.5.32.crate) = 33441
-SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
-SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
-SHA256 (rust/crates/colorchoice-1.0.3.crate) = 5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990
-SIZE (rust/crates/colorchoice-1.0.3.crate) = 7923
+SHA256 (rust/crates/clap_complete_nushell-4.5.8.crate) = 0a0c951694691e65bf9d421d597d68416c22de9632e884c28412cb8cd8b73dce
+SIZE (rust/crates/clap_complete_nushell-4.5.8.crate) = 35171
+SHA256 (rust/crates/clap_derive-4.5.47.crate) = bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c
+SIZE (rust/crates/clap_derive-4.5.47.crate) = 33550
+SHA256 (rust/crates/clap_lex-0.7.5.crate) = b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675
+SIZE (rust/crates/clap_lex-0.7.5.crate) = 13469
+SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75
+SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196
SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
SHA256 (rust/crates/core_maths-0.1.1.crate) = 77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30
SIZE (rust/crates/core_maths-0.1.1.crate) = 6528
-SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
-SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511
+SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723
SHA256 (rust/crates/dlib-0.5.2.crate) = 330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412
SIZE (rust/crates/dlib-0.5.2.crate) = 5806
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
SHA256 (rust/crates/endi-1.1.0.crate) = a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf
SIZE (rust/crates/endi-1.1.0.crate) = 4872
SHA256 (rust/crates/epoxy-0.1.0.crate) = 9b96028ce3ff03972312fd8243281858e80fc0f9838b1f035676b6c199214d9e
SIZE (rust/crates/epoxy-0.1.0.crate) = 9163
SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
-SHA256 (rust/crates/femtovg-0.14.0.crate) = 47e15d51b37323a171a49399d46f0b0a9ec729d1106976f8fa70d68068b15504
-SIZE (rust/crates/femtovg-0.14.0.crate) = 265527
+SHA256 (rust/crates/femtovg-0.18.1.crate) = 0530af3119be5658d8c1f7e69248d46e2c59e500dc2ef373cf25b355158ef101
+SIZE (rust/crates/femtovg-0.18.1.crate) = 268025
SHA256 (rust/crates/field-offset-0.3.6.crate) = 38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f
SIZE (rust/crates/field-offset-0.3.6.crate) = 10032
-SHA256 (rust/crates/flate2-1.1.1.crate) = 7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece
-SIZE (rust/crates/flate2-1.1.1.crate) = 77224
+SHA256 (rust/crates/find-msvc-tools-0.1.3.crate) = 0399f9d26e5191ce32c498bebd31e7a3ceabc2745f0ac54af3f335126c3f24b3
+SIZE (rust/crates/find-msvc-tools-0.1.3.crate) = 30486
+SHA256 (rust/crates/flate2-1.1.4.crate) = dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9
+SIZE (rust/crates/flate2-1.1.4.crate) = 77010
SHA256 (rust/crates/flume-0.11.1.crate) = da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095
SIZE (rust/crates/flume-0.11.1.crate) = 67947
SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
SIZE (rust/crates/fnv-1.0.7.crate) = 11266
-SHA256 (rust/crates/fontconfig-0.9.0.crate) = b60f7d9b14055dddd3b3ab0e511ecfdf49f02e7e31b09f9111de3e424ea7bb4b
-SIZE (rust/crates/fontconfig-0.9.0.crate) = 8206
+SHA256 (rust/crates/fontconfig-0.10.0.crate) = b19c4bca8c705ea23bfb3e3403a9e699344d1ee3205b631f03fe4dbf1e52429f
+SIZE (rust/crates/fontconfig-0.10.0.crate) = 9891
SHA256 (rust/crates/fragile-2.0.1.crate) = 28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619
SIZE (rust/crates/fragile-2.0.1.crate) = 14648
SHA256 (rust/crates/futures-0.3.31.crate) = 65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876
@@ -117,72 +115,76 @@ SHA256 (rust/crates/futures-task-0.3.31.crate) = f90f7dce0722e95104fcb095585910c
SIZE (rust/crates/futures-task-0.3.31.crate) = 11217
SHA256 (rust/crates/futures-util-0.3.31.crate) = 9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81
SIZE (rust/crates/futures-util-0.3.31.crate) = 162124
-SHA256 (rust/crates/gdk-pixbuf-0.20.10.crate) = 2fd242894c084f4beed508a56952750bce3e96e85eb68fdc153637daa163e10c
-SIZE (rust/crates/gdk-pixbuf-0.20.10.crate) = 21618
-SHA256 (rust/crates/gdk-pixbuf-sys-0.20.10.crate) = 5b34f3b580c988bd217e9543a2de59823fafae369d1a055555e5f95a8b130b96
-SIZE (rust/crates/gdk-pixbuf-sys-0.20.10.crate) = 13317
-SHA256 (rust/crates/gdk4-0.9.6.crate) = 4850c9d9c1aecd1a3eb14fadc1cdb0ac0a2298037e116264c7473e1740a32d60
-SIZE (rust/crates/gdk4-0.9.6.crate) = 97926
-SHA256 (rust/crates/gdk4-sys-0.9.6.crate) = 6f6eb95798e2b46f279cf59005daf297d5b69555428f185650d71974a910473a
-SIZE (rust/crates/gdk4-sys-0.9.6.crate) = 70859
+SHA256 (rust/crates/gdk-pixbuf-0.21.2.crate) = 2a3c64459f569154f37616fc28923bfac490d4aaa134aaf5eca58a2c0c13050f
+SIZE (rust/crates/gdk-pixbuf-0.21.2.crate) = 21684
+SHA256 (rust/crates/gdk-pixbuf-sys-0.21.2.crate) = 3854ef7a6a8b8f3b4013a01d5f9cb0d1794ec4e810c6cb4e2cc6d980f1baf724
+SIZE (rust/crates/gdk-pixbuf-sys-0.21.2.crate) = 13587
+SHA256 (rust/crates/gdk4-0.10.1.crate) = c7e292649dc26e3440c508a00f42ab39156008320dd6e962d63eaf626ba4d7f0
+SIZE (rust/crates/gdk4-0.10.1.crate) = 102705
+SHA256 (rust/crates/gdk4-sys-0.10.1.crate) = f4f3174fa4f1e0bf2a7e04469b65db8f4d1db89a6f5cdc57727b14e97ce438cf
+SIZE (rust/crates/gdk4-sys-0.10.1.crate) = 76474
SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
SIZE (rust/crates/getrandom-0.2.16.crate) = 40163
-SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
-SIZE (rust/crates/gimli-0.31.1.crate) = 279515
-SHA256 (rust/crates/gio-0.20.10.crate) = ab2a654c887546d14fdb214cc04641cd30450c9b4fa4525fd989d25fd5a5561e
-SIZE (rust/crates/gio-0.20.10.crate) = 221061
-SHA256 (rust/crates/gio-sys-0.20.10.crate) = 521e93a7e56fc89e84aea9a52cfc9436816a4b363b030260b699950ff1336c83
-SIZE (rust/crates/gio-sys-0.20.10.crate) = 86258
+SHA256 (rust/crates/gimli-0.32.3.crate) = e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7
+SIZE (rust/crates/gimli-0.32.3.crate) = 289789
+SHA256 (rust/crates/gio-0.21.2.crate) = ed68efc12b748a771be2dccc49480d8584004382967c98323245fc3c38b74a42
+SIZE (rust/crates/gio-0.21.2.crate) = 228596
+SHA256 (rust/crates/gio-sys-0.21.2.crate) = 171ed2f6dd927abbe108cfd9eebff2052c335013f5879d55bab0dc1dee19b706
+SIZE (rust/crates/gio-sys-0.21.2.crate) = 86778
SHA256 (rust/crates/gl_generator-0.9.0.crate) = 7a795170cbd85b5a7baa58d6d7525cae6a03e486859860c220f7ebbbdd379d0a
SIZE (rust/crates/gl_generator-0.9.0.crate) = 21595
-SHA256 (rust/crates/glib-0.20.10.crate) = c501c495842c2b23cdacead803a5a343ca2a5d7a7ddaff14cc5f6cf22cfb92c2
-SIZE (rust/crates/glib-0.20.10.crate) = 293754
-SHA256 (rust/crates/glib-macros-0.20.10.crate) = ebe6dc9ce29887c4b3b74d78d5ba473db160a258ae7ed883d23632ac7fed7bc9
-SIZE (rust/crates/glib-macros-0.20.10.crate) = 76345
-SHA256 (rust/crates/glib-sys-0.20.10.crate) = 8ab79e1ed126803a8fb827e3de0e2ff95191912b8db65cee467edb56fc4cc215
-SIZE (rust/crates/glib-sys-0.20.10.crate) = 67282
+SHA256 (rust/crates/glib-0.21.3.crate) = e1f2cbc4577536c849335878552f42086bfd25a8dcd6f54a18655cf818b20c8f
+SIZE (rust/crates/glib-0.21.3.crate) = 298269
+SHA256 (rust/crates/glib-macros-0.21.2.crate) = 55eda916eecdae426d78d274a17b48137acdca6fba89621bd3705f2835bc719f
+SIZE (rust/crates/glib-macros-0.21.2.crate) = 70268
+SHA256 (rust/crates/glib-sys-0.21.2.crate) = d09d3d0fddf7239521674e57b0465dfbd844632fec54f059f7f56112e3f927e1
+SIZE (rust/crates/glib-sys-0.21.2.crate) = 67401
SHA256 (rust/crates/glow-0.16.0.crate) = c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08
SIZE (rust/crates/glow-0.16.0.crate) = 162118
-SHA256 (rust/crates/gobject-sys-0.20.10.crate) = ec9aca94bb73989e3cfdbf8f2e0f1f6da04db4d291c431f444838925c4c63eda
-SIZE (rust/crates/gobject-sys-0.20.10.crate) = 22623
-SHA256 (rust/crates/graphene-rs-0.20.10.crate) = 6b86dfad7d14251c9acaf1de63bc8754b7e3b4e5b16777b6f5a748208fe9519b
-SIZE (rust/crates/graphene-rs-0.20.10.crate) = 21951
-SHA256 (rust/crates/graphene-sys-0.20.10.crate) = df583a85ba2d5e15e1797e40d666057b28bc2f60a67c9c24145e6db2cc3861ea
-SIZE (rust/crates/graphene-sys-0.20.10.crate) = 14946
-SHA256 (rust/crates/gsk4-0.9.6.crate) = 61f5e72f931c8c9f65fbfc89fe0ddc7746f147f822f127a53a9854666ac1f855
-SIZE (rust/crates/gsk4-0.9.6.crate) = 37149
-SHA256 (rust/crates/gsk4-sys-0.9.6.crate) = 755059de55fa6f85a46bde8caf03e2184c96bfda1f6206163c72fb0ea12436dc
-SIZE (rust/crates/gsk4-sys-0.9.6.crate) = 19232
-SHA256 (rust/crates/gtk4-0.9.6.crate) = af1c491051f030994fd0cde6f3c44f3f5640210308cff1298c7673c47408091d
-SIZE (rust/crates/gtk4-0.9.6.crate) = 485701
-SHA256 (rust/crates/gtk4-macros-0.9.5.crate) = 0ed1786c4703dd196baf7e103525ce0cf579b3a63a0570fe653b7ee6bac33999
-SIZE (rust/crates/gtk4-macros-0.9.5.crate) = 16721
-SHA256 (rust/crates/gtk4-sys-0.9.6.crate) = 41e03b01e54d77c310e1d98647d73f996d04b2f29b9121fe493ea525a7ec03d6
-SIZE (rust/crates/gtk4-sys-0.9.6.crate) = 114426
-SHA256 (rust/crates/gvdb-0.6.1.crate) = acfa8cd2aa58da96876eb6276afe617c414d5846d1229274a821c1f8e8aa9e02
-SIZE (rust/crates/gvdb-0.6.1.crate) = 39550
-SHA256 (rust/crates/hashbrown-0.15.3.crate) = 84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3
-SIZE (rust/crates/hashbrown-0.15.3.crate) = 140413
+SHA256 (rust/crates/gobject-sys-0.21.2.crate) = 538e41d8776173ec107e7b0f2aceced60abc368d7e1d81c1f0e2ecd35f59080d
+SIZE (rust/crates/gobject-sys-0.21.2.crate) = 22329
+SHA256 (rust/crates/graphene-rs-0.21.2.crate) = e7749aaf5d3b955bf3bfce39e3423705878a666b561384134da0e7786a45ddc3
+SIZE (rust/crates/graphene-rs-0.21.2.crate) = 23256
+SHA256 (rust/crates/graphene-sys-0.21.2.crate) = 250abaee850a90a276509890a78029c356173f9573412bded5f155b0e41fa568
+SIZE (rust/crates/graphene-sys-0.21.2.crate) = 15153
+SHA256 (rust/crates/gsk4-0.10.1.crate) = b6687e9f92ca89c000c376400cfaf7914d099413d72fdf4f84a25775a0b1fb2d
+SIZE (rust/crates/gsk4-0.10.1.crate) = 38819
+SHA256 (rust/crates/gsk4-sys-0.10.1.crate) = 5e76bcf64d9c4846f19651f45b400cc0c9c4c17b651849da520f3d77c6988c52
+SIZE (rust/crates/gsk4-sys-0.10.1.crate) = 20160
+SHA256 (rust/crates/gtk4-0.10.1.crate) = 8f7887ee0ceeffedb25a418810a2c61497dacad51767fc13f9d60859b4023b8a
+SIZE (rust/crates/gtk4-0.10.1.crate) = 488780
+SHA256 (rust/crates/gtk4-macros-0.10.1.crate) = 821160b4f17e7e4ed748818c23682d0a46bed04c287dbaac54dd4869d2c5e06a
+SIZE (rust/crates/gtk4-macros-0.10.1.crate) = 22888
+SHA256 (rust/crates/gtk4-sys-0.10.1.crate) = d274cbaf7d9aa55b7aff78cb21b43299d64e514e1300671469b66f691cc5a011
+SIZE (rust/crates/gtk4-sys-0.10.1.crate) = 116423
+SHA256 (rust/crates/gvdb-0.9.0.crate) = b9d94c8a63f94bbc35cf63e105791c5992bd60d4516d41fe5bf3db8d10b30b43
+SIZE (rust/crates/gvdb-0.9.0.crate) = 55888
+SHA256 (rust/crates/hashbrown-0.16.0.crate) = 5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d
+SIZE (rust/crates/hashbrown-0.16.0.crate) = 141708
SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
SIZE (rust/crates/heck-0.5.0.crate) = 11517
SHA256 (rust/crates/hex_color-3.0.0.crate) = d37f101bf4c633f7ca2e4b5e136050314503dd198e78e325ea602c327c484ef0
SIZE (rust/crates/hex_color-3.0.0.crate) = 20045
-SHA256 (rust/crates/iana-time-zone-0.1.63.crate) = b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8
-SIZE (rust/crates/iana-time-zone-0.1.63.crate) = 32919
+SHA256 (rust/crates/iana-time-zone-0.1.64.crate) = 33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb
+SIZE (rust/crates/iana-time-zone-0.1.64.crate) = 33152
SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
-SHA256 (rust/crates/image-0.25.6.crate) = db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a
-SIZE (rust/crates/image-0.25.6.crate) = 242367
-SHA256 (rust/crates/imgref-1.11.0.crate) = d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408
-SIZE (rust/crates/imgref-1.11.0.crate) = 65943
-SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
-SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
+SHA256 (rust/crates/image-0.25.8.crate) = 529feb3e6769d234375c4cf1ee2ce713682b8e76538cb13f9fc23e1400a591e7
+SIZE (rust/crates/image-0.25.8.crate) = 292229
+SHA256 (rust/crates/imgref-1.12.0.crate) = e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8
+SIZE (rust/crates/imgref-1.12.0.crate) = 66324
+SHA256 (rust/crates/indexmap-2.11.4.crate) = 4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5
+SIZE (rust/crates/indexmap-2.11.4.crate) = 100302
+SHA256 (rust/crates/io-uring-0.7.10.crate) = 046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b
+SIZE (rust/crates/io-uring-0.7.10.crate) = 103070
SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
+SHA256 (rust/crates/itertools-0.14.0.crate) = 2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285
+SIZE (rust/crates/itertools-0.14.0.crate) = 152715
SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
SIZE (rust/crates/itoa-1.0.15.crate) = 11231
-SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f
-SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
+SHA256 (rust/crates/js-sys-0.3.81.crate) = ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305
+SIZE (rust/crates/js-sys-0.3.81.crate) = 56399
SHA256 (rust/crates/keycode-1.0.0.crate) = 29541831d33940ea1c68a1b8980382c1a507c95a528a98c0e335b361b9726975
SIZE (rust/crates/keycode-1.0.0.crate) = 5382
SHA256 (rust/crates/keycode_macro-1.0.0.crate) = 4facccc788054d521c263b66648eee8caf470f59cf8340d8cd0cce4a74ebcab2
@@ -191,46 +193,46 @@ SHA256 (rust/crates/khronos_api-2.2.0.crate) = 037ab472c33f67b5fbd3e9163a2645319
SIZE (rust/crates/khronos_api-2.2.0.crate) = 339035
SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
-SHA256 (rust/crates/libadwaita-0.7.2.crate) = 500135d29c16aabf67baafd3e7741d48e8b8978ca98bac39e589165c8dc78191
-SIZE (rust/crates/libadwaita-0.7.2.crate) = 125693
-SHA256 (rust/crates/libadwaita-sys-0.7.2.crate) = 6680988058c2558baf3f548a370e4e78da3bf7f08469daa822ac414842c912db
-SIZE (rust/crates/libadwaita-sys-0.7.2.crate) = 35416
-SHA256 (rust/crates/libc-0.2.172.crate) = d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa
-SIZE (rust/crates/libc-0.2.172.crate) = 791646
-SHA256 (rust/crates/libloading-0.8.7.crate) = 6a793df0d7afeac54f95b471d3af7f0d4fb975699f972341a4b76988d49cdf0c
-SIZE (rust/crates/libloading-0.8.7.crate) = 30374
+SHA256 (rust/crates/libadwaita-0.8.0.crate) = 4df6715d1257bd8c093295b77a276ed129d73543b10304fec5829ced5d5b7c41
+SIZE (rust/crates/libadwaita-0.8.0.crate) = 129966
+SHA256 (rust/crates/libadwaita-sys-0.8.0.crate) = fdf8950090cc180250cdb1ff859a39748feeda7a53a9f28ead3a17a14cc37ae2
+SIZE (rust/crates/libadwaita-sys-0.8.0.crate) = 36944
+SHA256 (rust/crates/libc-0.2.176.crate) = 58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174
+SIZE (rust/crates/libc-0.2.176.crate) = 790040
+SHA256 (rust/crates/libloading-0.8.9.crate) = d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55
+SIZE (rust/crates/libloading-0.8.9.crate) = 30222
SHA256 (rust/crates/libm-0.2.15.crate) = f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de
SIZE (rust/crates/libm-0.2.15.crate) = 156108
-SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17
-SIZE (rust/crates/lock_api-0.4.12.crate) = 27591
-SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
-SIZE (rust/crates/log-0.4.27.crate) = 48120
-SHA256 (rust/crates/lru-0.12.5.crate) = 234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38
-SIZE (rust/crates/lru-0.12.5.crate) = 16047
-SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
-SIZE (rust/crates/memchr-2.7.4.crate) = 96670
+SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965
+SIZE (rust/crates/lock_api-0.4.14.crate) = 29249
+SHA256 (rust/crates/log-0.4.28.crate) = 34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432
+SIZE (rust/crates/log-0.4.28.crate) = 51131
+SHA256 (rust/crates/lru-0.16.1.crate) = bfe949189f46fabb938b3a9a0be30fdd93fd8a09260da863399a8cf3db756ec8
+SIZE (rust/crates/lru-0.16.1.crate) = 16604
+SHA256 (rust/crates/memchr-2.7.6.crate) = f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273
+SIZE (rust/crates/memchr-2.7.6.crate) = 97616
SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a
SIZE (rust/crates/memoffset-0.9.1.crate) = 9032
-SHA256 (rust/crates/miniz_oxide-0.8.8.crate) = 3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a
-SIZE (rust/crates/miniz_oxide-0.8.8.crate) = 67065
-SHA256 (rust/crates/mio-1.0.3.crate) = 2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd
-SIZE (rust/crates/mio-1.0.3.crate) = 103703
+SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316
+SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
+SHA256 (rust/crates/mio-1.0.4.crate) = 78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c
+SIZE (rust/crates/mio-1.0.4.crate) = 104212
+SHA256 (rust/crates/moxcms-0.7.6.crate) = 1cc7d85f3d741164e8972ad355e26ac6e51b20fcae5f911c7da8f2d8bbbb3f33
+SIZE (rust/crates/moxcms-0.7.6.crate) = 175487
SHA256 (rust/crates/nanorand-0.7.0.crate) = 6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3
SIZE (rust/crates/nanorand-0.7.0.crate) = 18437
SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
-SHA256 (rust/crates/object-0.36.7.crate) = 62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87
-SIZE (rust/crates/object-0.36.7.crate) = 329938
+SHA256 (rust/crates/object-0.37.3.crate) = ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe
+SIZE (rust/crates/object-0.37.3.crate) = 344032
SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
-SHA256 (rust/crates/pango-0.20.10.crate) = d88d37c161f2848f0d9382597f0168484c9335ac800995f3956641abb7002938
-SIZE (rust/crates/pango-0.20.10.crate) = 49735
-SHA256 (rust/crates/pango-sys-0.20.10.crate) = 186909673fc09be354555c302c0b3dcf753cd9fa08dcb8077fa663c80fb243fa
-SIZE (rust/crates/pango-sys-0.20.10.crate) = 28457
-SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27
-SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860
-SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8
-SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406
+SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad
+SIZE (rust/crates/once_cell_polyfill-1.70.1.crate) = 7510
+SHA256 (rust/crates/pango-0.21.3.crate) = e37b7a678e18c2e9f2485f7e39b7b2dac99590d5ddef08a7f56eae38a145402e
+SIZE (rust/crates/pango-0.21.3.crate) = 50452
+SHA256 (rust/crates/pango-sys-0.21.2.crate) = f4f5daf21da43fba9f2a0092da0eebeb77637c23552bccaf58f791c518009c94
+SIZE (rust/crates/pango-sys-0.21.2.crate) = 28458
SHA256 (rust/crates/pin-project-lite-0.2.16.crate) = 3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b
SIZE (rust/crates/pin-project-lite-0.2.16.crate) = 30504
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
@@ -239,110 +241,116 @@ SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c1
SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370
SHA256 (rust/crates/ppv-lite86-0.2.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9
SIZE (rust/crates/ppv-lite86-0.2.21.crate) = 22522
-SHA256 (rust/crates/proc-macro-crate-3.3.0.crate) = edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35
-SIZE (rust/crates/proc-macro-crate-3.3.0.crate) = 12432
-SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778
-SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820
-SHA256 (rust/crates/quick-xml-0.31.0.crate) = 1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33
-SIZE (rust/crates/quick-xml-0.31.0.crate) = 172236
-SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
-SIZE (rust/crates/quote-1.0.40.crate) = 31063
+SHA256 (rust/crates/proc-macro-crate-3.4.0.crate) = 219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983
+SIZE (rust/crates/proc-macro-crate-3.4.0.crate) = 12690
+SHA256 (rust/crates/proc-macro2-1.0.101.crate) = 89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de
+SIZE (rust/crates/proc-macro2-1.0.101.crate) = 53886
+SHA256 (rust/crates/pxfm-0.1.24.crate) = 83f9b339b02259ada5c0f4a389b7fb472f933aa17ce176fd2ad98f28bb401fde
+SIZE (rust/crates/pxfm-0.1.24.crate) = 867020
+SHA256 (rust/crates/quick-xml-0.38.3.crate) = 42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89
+SIZE (rust/crates/quick-xml-0.38.3.crate) = 204498
+SHA256 (rust/crates/quote-1.0.41.crate) = ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1
+SIZE (rust/crates/quote-1.0.41.crate) = 31408
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.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
-SHA256 (rust/crates/redox_syscall-0.5.12.crate) = 928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af
-SIZE (rust/crates/redox_syscall-0.5.12.crate) = 29544
-SHA256 (rust/crates/relm4-0.9.1.crate) = 30837553c1a8cfea1a404c83ec387c5c8ff9358e1060b057c274c5daa5035ad1
-SIZE (rust/crates/relm4-0.9.1.crate) = 125807
-SHA256 (rust/crates/relm4-css-0.9.0.crate) = 1d3b924557df1cddc687b60b313c4b76620fdbf0e463afa4b29f67193ccf37f9
-SIZE (rust/crates/relm4-css-0.9.0.crate) = 2422
-SHA256 (rust/crates/relm4-icons-0.9.0.crate) = 15242978b4e65431be4ccd5cf539d3c142518e114b7ecfa72ffd02cd6432e6e3
-SIZE (rust/crates/relm4-icons-0.9.0.crate) = 1201053
-SHA256 (rust/crates/relm4-macros-0.9.1.crate) = 5a895a7455441a857d100ca679bd24a92f91d28b5e3df63296792ac1af2eddde
-SIZE (rust/crates/relm4-macros-0.9.1.crate) = 44918
+SHA256 (rust/crates/relm4-0.10.0.crate) = 6bae902de22fd92e62641f047975abf228573425b9b8de175e8ab5b6cda10379
+SIZE (rust/crates/relm4-0.10.0.crate) = 131139
+SHA256 (rust/crates/relm4-css-0.10.0.crate) = 37dbe7a114855a22618f0e13595ce6b3f165478c13c2dfc4f4f99614da105797
+SIZE (rust/crates/relm4-css-0.10.0.crate) = 6675
+SHA256 (rust/crates/relm4-icons-0.10.0.crate) = 28869f8322ed72bed568cbb704403037ff62a66c966ded7a862ad5732f108530
+SIZE (rust/crates/relm4-icons-0.10.0.crate) = 175966
+SHA256 (rust/crates/relm4-icons-build-0.10.0.crate) = 75f2de558afdd570680a69c96dc9f812b241922c6355dae351f7ffbb5fac675d
+SIZE (rust/crates/relm4-icons-build-0.10.0.crate) = 1277723
+SHA256 (rust/crates/relm4-macros-0.10.0.crate) = 175fce497fc6f11dde7ea56daa30ff7ad29a534bbc209d59d766659c880ba5f1
+SIZE (rust/crates/relm4-macros-0.10.0.crate) = 47540
SHA256 (rust/crates/resource-0.6.0.crate) = eba77c4af60b466e86a835324da49c58f3effcec3f658989062adddff17ea0ae
SIZE (rust/crates/resource-0.6.0.crate) = 6790
SHA256 (rust/crates/resource_list_proc_macro-0.6.0.crate) = fd4ffd64e61cd0b962d75f623355e06ba6318d5028920394b269bb8972b61ace
SIZE (rust/crates/resource_list_proc_macro-0.6.0.crate) = 1885
-SHA256 (rust/crates/rgb-0.8.50.crate) = 57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a
-SIZE (rust/crates/rgb-0.8.50.crate) = 21980
-SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f
-SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047
+SHA256 (rust/crates/rgb-0.8.52.crate) = 0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce
+SIZE (rust/crates/rgb-0.8.52.crate) = 22449
+SHA256 (rust/crates/rustc-demangle-0.1.26.crate) = 56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace
+SIZE (rust/crates/rustc-demangle-0.1.26.crate) = 30340
SHA256 (rust/crates/rustc_version-0.4.1.crate) = cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92
SIZE (rust/crates/rustc_version-0.4.1.crate) = 12245
-SHA256 (rust/crates/rustversion-1.0.20.crate) = eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2
-SIZE (rust/crates/rustversion-1.0.20.crate) = 20666
+SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
+SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
SHA256 (rust/crates/rustybuzz-0.20.1.crate) = fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702
SIZE (rust/crates/rustybuzz-0.20.1.crate) = 272721
SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
SIZE (rust/crates/ryu-1.0.20.crate) = 48738
-SHA256 (rust/crates/safe-transmute-0.11.3.crate) = 3944826ff8fa8093089aba3acb4ef44b9446a99a16f3bf4e74af3f77d340ab7d
-SIZE (rust/crates/safe-transmute-0.11.3.crate) = 27428
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.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
-SHA256 (rust/crates/semver-1.0.26.crate) = 56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0
-SIZE (rust/crates/semver-1.0.26.crate) = 31303
-SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6
-SIZE (rust/crates/serde-1.0.219.crate) = 78983
-SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00
-SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798
-SHA256 (rust/crates/serde_json-1.0.140.crate) = 20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373
-SIZE (rust/crates/serde_json-1.0.140.crate) = 154852
-SHA256 (rust/crates/serde_spanned-0.6.8.crate) = 87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1
-SIZE (rust/crates/serde_spanned-0.6.8.crate) = 9330
+SHA256 (rust/crates/semver-1.0.27.crate) = d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2
+SIZE (rust/crates/semver-1.0.27.crate) = 30081
+SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
+SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
+SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
+SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
+SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
+SHA256 (rust/crates/serde_json-1.0.145.crate) = 402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c
+SIZE (rust/crates/serde_json-1.0.145.crate) = 155748
+SHA256 (rust/crates/serde_spanned-0.6.9.crate) = bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3
+SIZE (rust/crates/serde_spanned-0.6.9.crate) = 10210
+SHA256 (rust/crates/serde_spanned-1.0.2.crate) = 5417783452c2be558477e104686f7de5dae53dba813c28435e0e70f82d9b04ee
+SIZE (rust/crates/serde_spanned-1.0.2.crate) = 11032
SHA256 (rust/crates/shared_library-0.1.9.crate) = 5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11
SIZE (rust/crates/shared_library-0.1.9.crate) = 10566
SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
SIZE (rust/crates/shlex-1.3.0.crate) = 18713
-SHA256 (rust/crates/signal-hook-registry-1.4.5.crate) = 9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410
-SIZE (rust/crates/signal-hook-registry-1.4.5.crate) = 19004
-SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
-SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
+SHA256 (rust/crates/slab-0.4.11.crate) = 7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589
+SIZE (rust/crates/slab-0.4.11.crate) = 18549
SHA256 (rust/crates/slotmap-1.0.7.crate) = dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a
SIZE (rust/crates/slotmap-1.0.7.crate) = 61390
-SHA256 (rust/crates/smallvec-1.15.0.crate) = 8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9
-SIZE (rust/crates/smallvec-1.15.0.crate) = 38113
-SHA256 (rust/crates/socket2-0.5.9.crate) = 4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef
-SIZE (rust/crates/socket2-0.5.9.crate) = 57432
+SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
+SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
SIZE (rust/crates/spin-0.9.8.crate) = 38958
-SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
-SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
-SHA256 (rust/crates/syn-2.0.101.crate) = 8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf
-SIZE (rust/crates/syn-2.0.101.crate) = 299250
-SHA256 (rust/crates/system-deps-7.0.3.crate) = 66d23aaf9f331227789a99e8de4c91bf46703add012bdfd45fdecdfb2975a005
-SIZE (rust/crates/system-deps-7.0.3.crate) = 26313
-SHA256 (rust/crates/target-lexicon-0.12.16.crate) = 61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1
-SIZE (rust/crates/target-lexicon-0.12.16.crate) = 26488
-SHA256 (rust/crates/thiserror-2.0.12.crate) = 567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708
-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/tokio-1.45.0.crate) = 2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165
-SIZE (rust/crates/tokio-1.45.0.crate) = 800721
-SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8
-SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617
-SHA256 (rust/crates/toml-0.8.22.crate) = 05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae
-SIZE (rust/crates/toml-0.8.22.crate) = 76224
-SHA256 (rust/crates/toml_datetime-0.6.9.crate) = 3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3
-SIZE (rust/crates/toml_datetime-0.6.9.crate) = 12622
-SHA256 (rust/crates/toml_edit-0.22.26.crate) = 310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e
-SIZE (rust/crates/toml_edit-0.22.26.crate) = 121714
-SHA256 (rust/crates/toml_write-0.1.1.crate) = bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076
-SIZE (rust/crates/toml_write-0.1.1.crate) = 17467
+SHA256 (rust/crates/syn-2.0.106.crate) = ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6
+SIZE (rust/crates/syn-2.0.106.crate) = 301514
+SHA256 (rust/crates/system-deps-7.0.5.crate) = e4be53aa0cba896d2dc615bd42bbc130acdcffa239e0a2d965ea5b3b2a86ffdb
+SIZE (rust/crates/system-deps-7.0.5.crate) = 28669
+SHA256 (rust/crates/target-lexicon-0.13.2.crate) = e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a
+SIZE (rust/crates/target-lexicon-0.13.2.crate) = 27923
+SHA256 (rust/crates/thiserror-2.0.17.crate) = f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8
+SIZE (rust/crates/thiserror-2.0.17.crate) = 28857
+SHA256 (rust/crates/thiserror-impl-2.0.17.crate) = 3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913
+SIZE (rust/crates/thiserror-impl-2.0.17.crate) = 21344
+SHA256 (rust/crates/tokio-1.47.1.crate) = 89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038
+SIZE (rust/crates/tokio-1.47.1.crate) = 829790
+SHA256 (rust/crates/toml-0.8.23.crate) = dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362
+SIZE (rust/crates/toml-0.8.23.crate) = 36050
+SHA256 (rust/crates/toml-0.9.7.crate) = 00e5e5d9bf2475ac9d4f0d9edab68cc573dc2fd644b0dba36b0c30a92dd9eaa0
+SIZE (rust/crates/toml-0.9.7.crate) = 55852
+SHA256 (rust/crates/toml_datetime-0.6.11.crate) = 22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c
+SIZE (rust/crates/toml_datetime-0.6.11.crate) = 16125
+SHA256 (rust/crates/toml_datetime-0.7.2.crate) = 32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1
+SIZE (rust/crates/toml_datetime-0.7.2.crate) = 17859
+SHA256 (rust/crates/toml_edit-0.22.27.crate) = 41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a
+SIZE (rust/crates/toml_edit-0.22.27.crate) = 78602
+SHA256 (rust/crates/toml_edit-0.23.6.crate) = f3effe7c0e86fdff4f69cdd2ccc1b96f933e24811c5441d44904e8683e27184b
+SIZE (rust/crates/toml_edit-0.23.6.crate) = 65753
+SHA256 (rust/crates/toml_parser-1.0.3.crate) = 4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627
+SIZE (rust/crates/toml_parser-1.0.3.crate) = 34982
+SHA256 (rust/crates/toml_writer-1.0.3.crate) = d163a63c116ce562a22cda521fcc4d79152e7aba014456fb5eb442f6d6a10109
+SIZE (rust/crates/toml_writer-1.0.3.crate) = 17173
SHA256 (rust/crates/tracing-0.1.41.crate) = 784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0
SIZE (rust/crates/tracing-0.1.41.crate) = 82448
-SHA256 (rust/crates/tracing-attributes-0.1.28.crate) = 395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d
-SIZE (rust/crates/tracing-attributes-0.1.28.crate) = 33280
-SHA256 (rust/crates/tracing-core-0.1.33.crate) = e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c
-SIZE (rust/crates/tracing-core-0.1.33.crate) = 63434
+SHA256 (rust/crates/tracing-attributes-0.1.30.crate) = 81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903
+SIZE (rust/crates/tracing-attributes-0.1.30.crate) = 39142
+SHA256 (rust/crates/tracing-core-0.1.34.crate) = b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678
+SIZE (rust/crates/tracing-core-0.1.34.crate) = 63760
SHA256 (rust/crates/ttf-parser-0.25.1.crate) = d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31
SIZE (rust/crates/ttf-parser-0.25.1.crate) = 201121
SHA256 (rust/crates/unicode-bidi-0.3.18.crate) = 5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5
@@ -351,8 +359,8 @@ SHA256 (rust/crates/unicode-bidi-mirroring-0.4.0.crate) = 5dfa6e8c60bb66d49db113
SIZE (rust/crates/unicode-bidi-mirroring-0.4.0.crate) = 8169
SHA256 (rust/crates/unicode-ccc-0.4.0.crate) = ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e
SIZE (rust/crates/unicode-ccc-0.4.0.crate) = 8942
-SHA256 (rust/crates/unicode-ident-1.0.18.crate) = 5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512
-SIZE (rust/crates/unicode-ident-1.0.18.crate) = 47743
+SHA256 (rust/crates/unicode-ident-1.0.19.crate) = f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d
+SIZE (rust/crates/unicode-ident-1.0.19.crate) = 47480
SHA256 (rust/crates/unicode-properties-0.1.3.crate) = e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0
SIZE (rust/crates/unicode-properties-0.1.3.crate) = 42252
SHA256 (rust/crates/unicode-script-0.5.7.crate) = 9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f
@@ -367,91 +375,93 @@ SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853a
SIZE (rust/crates/version_check-0.9.5.crate) = 15554
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.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
-SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
-SIZE (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 32111
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407
-SIZE (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 9663
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 26243
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d
-SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570
-SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2
-SIZE (rust/crates/web-sys-0.3.77.crate) = 638246
-SHA256 (rust/crates/winapi-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb
-SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464
-SHA256 (rust/crates/windows-core-0.61.0.crate) = 4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980
-SIZE (rust/crates/windows-core-0.61.0.crate) = 36707
-SHA256 (rust/crates/windows-implement-0.60.0.crate) = a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836
-SIZE (rust/crates/windows-implement-0.60.0.crate) = 15073
-SHA256 (rust/crates/windows-interface-0.59.1.crate) = bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8
-SIZE (rust/crates/windows-interface-0.59.1.crate) = 11735
-SHA256 (rust/crates/windows-link-0.1.1.crate) = 76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38
-SIZE (rust/crates/windows-link-0.1.1.crate) = 6154
-SHA256 (rust/crates/windows-result-0.3.2.crate) = c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252
-SIZE (rust/crates/windows-result-0.3.2.crate) = 13399
-SHA256 (rust/crates/windows-strings-0.4.0.crate) = 7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97
-SIZE (rust/crates/windows-strings-0.4.0.crate) = 13939
-SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
-SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b
+SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477
+SHA256 (rust/crates/wasm-bindgen-0.2.104.crate) = c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d
+SIZE (rust/crates/wasm-bindgen-0.2.104.crate) = 47345
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.104.crate) = 671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19
+SIZE (rust/crates/wasm-bindgen-backend-0.2.104.crate) = 32230
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.104.crate) = 7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119
+SIZE (rust/crates/wasm-bindgen-macro-0.2.104.crate) = 9390
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.104.crate) = 9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.104.crate) = 26411
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.104.crate) = bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1
+SIZE (rust/crates/wasm-bindgen-shared-0.2.104.crate) = 9057
+SHA256 (rust/crates/web-sys-0.3.81.crate) = 9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120
+SIZE (rust/crates/web-sys-0.3.81.crate) = 641812
+SHA256 (rust/crates/winapi-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22
+SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368
+SHA256 (rust/crates/windows-core-0.62.2.crate) = b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb
+SIZE (rust/crates/windows-core-0.62.2.crate) = 36932
+SHA256 (rust/crates/windows-implement-0.60.2.crate) = 053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf
+SIZE (rust/crates/windows-implement-0.60.2.crate) = 15325
+SHA256 (rust/crates/windows-interface-0.59.3.crate) = 3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358
+SIZE (rust/crates/windows-interface-0.59.3.crate) = 11809
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/windows-result-0.4.1.crate) = 7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5
+SIZE (rust/crates/windows-result-0.4.1.crate) = 13381
+SHA256 (rust/crates/windows-strings-0.5.1.crate) = 7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091
+SIZE (rust/crates/windows-strings-0.5.1.crate) = 13966
SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
+SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
+SHA256 (rust/crates/windows-sys-0.61.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc
+SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186
SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
-SHA256 (rust/crates/windows-targets-0.53.0.crate) = b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b
-SIZE (rust/crates/windows-targets-0.53.0.crate) = 7020
+SHA256 (rust/crates/windows-targets-0.53.5.crate) = 4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3
+SIZE (rust/crates/windows-targets-0.53.5.crate) = 7126
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_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764
-SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.1.crate) = a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.1.crate) = 787748
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_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c
-SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446
+SHA256 (rust/crates/windows_aarch64_msvc-0.53.1.crate) = b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006
+SIZE (rust/crates/windows_aarch64_msvc-0.53.1.crate) = 838009
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_gnu-0.53.0.crate) = c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3
-SIZE (rust/crates/windows_i686_gnu-0.53.0.crate) = 936973
+SHA256 (rust/crates/windows_i686_gnu-0.53.1.crate) = 960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3
+SIZE (rust/crates/windows_i686_gnu-0.53.1.crate) = 939775
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_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11
-SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056
+SHA256 (rust/crates/windows_i686_gnullvm-0.53.1.crate) = fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c
+SIZE (rust/crates/windows_i686_gnullvm-0.53.1.crate) = 857396
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_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d
-SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450
+SHA256 (rust/crates/windows_i686_msvc-0.53.1.crate) = 1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2
+SIZE (rust/crates/windows_i686_msvc-0.53.1.crate) = 907688
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_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba
-SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585
+SHA256 (rust/crates/windows_x86_64_gnu-0.53.1.crate) = 9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499
+SIZE (rust/crates/windows_x86_64_gnu-0.53.1.crate) = 903712
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_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57
-SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.1.crate) = 0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.1.crate) = 787739
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/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486
-SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400
-SHA256 (rust/crates/winnow-0.7.10.crate) = c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec
-SIZE (rust/crates/winnow-0.7.10.crate) = 176073
+SHA256 (rust/crates/windows_x86_64_msvc-0.53.1.crate) = d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650
+SIZE (rust/crates/windows_x86_64_msvc-0.53.1.crate) = 837950
+SHA256 (rust/crates/winnow-0.7.13.crate) = 21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf
+SIZE (rust/crates/winnow-0.7.13.crate) = 174454
SHA256 (rust/crates/xdg-3.0.0.crate) = 2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5
SIZE (rust/crates/xdg-3.0.0.crate) = 15821
SHA256 (rust/crates/xml-rs-0.7.0.crate) = 3c1cb601d29fe2c2ac60a2b2e5e293994d87a1f6fa9687a31a15270f909be9c2
SIZE (rust/crates/xml-rs-0.7.0.crate) = 50980
SHA256 (rust/crates/yeslogic-fontconfig-sys-6.0.0.crate) = 503a066b4c037c440169d995b869046827dbc71263f6e8f3be6d77d4f3229dbd
SIZE (rust/crates/yeslogic-fontconfig-sys-6.0.0.crate) = 6677
-SHA256 (rust/crates/zerocopy-0.8.25.crate) = a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb
-SIZE (rust/crates/zerocopy-0.8.25.crate) = 252714
-SHA256 (rust/crates/zerocopy-derive-0.8.25.crate) = 28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef
-SIZE (rust/crates/zerocopy-derive-0.8.25.crate) = 87671
-SHA256 (rust/crates/zvariant-4.2.0.crate) = 2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe
-SIZE (rust/crates/zvariant-4.2.0.crate) = 82180
-SHA256 (rust/crates/zvariant_derive-4.2.0.crate) = 73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449
-SIZE (rust/crates/zvariant_derive-4.2.0.crate) = 11057
-SHA256 (rust/crates/zvariant_utils-2.1.0.crate) = c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340
-SIZE (rust/crates/zvariant_utils-2.1.0.crate) = 7043
-SHA256 (gabm-Satty-v0.19.0_GH0.tar.gz) = 03244dd0d181dfccb6b88c199ae1eef9f1197af5cc421c4ead955f80493c4491
-SIZE (gabm-Satty-v0.19.0_GH0.tar.gz) = 1014230
+SHA256 (rust/crates/zerocopy-0.8.27.crate) = 0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c
+SIZE (rust/crates/zerocopy-0.8.27.crate) = 252663
+SHA256 (rust/crates/zerocopy-derive-0.8.27.crate) = 88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831
+SIZE (rust/crates/zerocopy-derive-0.8.27.crate) = 89827
+SHA256 (rust/crates/zvariant-5.7.0.crate) = 999dd3be73c52b1fccd109a4a81e4fcd20fab1d3599c8121b38d04e1419498db
+SIZE (rust/crates/zvariant-5.7.0.crate) = 90643
+SHA256 (rust/crates/zvariant_derive-5.7.0.crate) = 6643fd0b26a46d226bd90d3f07c1b5321fe9bb7f04673cb37ac6d6883885b68e
+SIZE (rust/crates/zvariant_derive-5.7.0.crate) = 14214
+SHA256 (rust/crates/zvariant_utils-3.2.1.crate) = c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599
+SIZE (rust/crates/zvariant_utils-3.2.1.crate) = 14678
+SHA256 (gabm-Satty-v0.20.0_GH0.tar.gz) = ee521697e13a65e19124aa115ca4d8a6d140242ba500aeb3c36629d62f9d6df4
+SIZE (gabm-Satty-v0.20.0_GH0.tar.gz) = 1023362
diff --git a/graphics/satty/files/patch-icons b/graphics/satty/files/patch-icons
deleted file mode 100644
index 86ac04b20c27..000000000000
--- a/graphics/satty/files/patch-icons
+++ /dev/null
@@ -1,11 +0,0 @@
---- cargo-crates/relm4-icons-0.9.0/build.rs.orig 2006-07-24 01:21:28 UTC
-+++ cargo-crates/relm4-icons-0.9.0/build.rs
-@@ -52,7 +52,7 @@ fn main() {
- let mut manifest_dir = Path::new(&out_dir).canonicalize().unwrap();
- eprintln!("Canonical manifest dir: {manifest_dir:?}");
-
-- let (config, config_dir) = if cfg!(docsrs) {
-+ let (config, config_dir) = if cfg!(docsrs) || env::var("SOURCE_DIR").is_ok() {
- if let Ok(source_dir) = env::var("SOURCE_DIR") {
- (Config::load(&source_dir).unwrap_or_default(), source_dir)
- } else {
diff --git a/graphics/sdl2_image/Makefile b/graphics/sdl2_image/Makefile
index 278864dda1ae..f92312e0ce38 100644
--- a/graphics/sdl2_image/Makefile
+++ b/graphics/sdl2_image/Makefile
@@ -1,6 +1,7 @@
PORTNAME= sdl2_image
DISTVERSIONPREFIX= release-
DISTVERSION= 2.8.8
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= amdmi3@FreeBSD.org
diff --git a/graphics/sdl3_image/Makefile b/graphics/sdl3_image/Makefile
index a9d460cf085e..b3ec56ef1e9d 100644
--- a/graphics/sdl3_image/Makefile
+++ b/graphics/sdl3_image/Makefile
@@ -1,6 +1,7 @@
PORTNAME= sdl3_image
DISTVERSIONPREFIX= release-
DISTVERSION= 3.2.4
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= amdmi3@FreeBSD.org
diff --git a/graphics/sdl3_ttf/Makefile b/graphics/sdl3_ttf/Makefile
index cc656371dcd8..b5be36136d2a 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= 3
CATEGORIES= graphics
MAINTAINER= amdmi3@FreeBSD.org
@@ -16,9 +17,9 @@ USES= cmake pkgconfig sdl
USE_GITHUB= yes
GH_ACCOUNT= libsdl-org
GH_PROJECT= SDL_ttf
+USE_LDCONFIG= yes
USE_SDL= sdl3
CMAKE_OFF= SDLTTF_SAMPLES
-USE_LDCONFIG= yes
PLIST_SUB= LIBVERSION=${DISTVERSION:C/[0-9]+/0/1}
@@ -28,13 +29,13 @@ OPTIONS_DEFINE= HARFBUZZ PLUTOSVG DOCS
OPTIONS_DEFAULT=HARFBUZZ PLUTOSVG
OPTIONS_SUB= yes
-HARFBUZZ_DESC= Use harfbuzz to improve text shaping
+HARFBUZZ_DESC= Use harfbuzz to improve text shaping
HARFBUZZ_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz
HARFBUZZ_CMAKE_BOOL= SDLTTF_HARFBUZZ
-PLUTOSVG_DESC= Use plutosvg for color emoji support
-PLUTOSVG_LIB_DEPENDS= libplutosvg.so:graphics/plutosvg
-PLUTOSVG_CFLAGS= -isystem ${LOCALBASE}/include/plutovg
+PLUTOSVG_DESC= Use plutosvg for color emoji support
+PLUTOSVG_LIB_DEPENDS= libplutosvg.so:graphics/plutosvg \
+ libplutovg.so:graphics/plutovg
PLUTOSVG_CMAKE_BOOL= SDLTTF_PLUTOSVG
post-extract:
diff --git a/graphics/sekrit-twc-zimg/Makefile b/graphics/sekrit-twc-zimg/Makefile
index 5784ad916ae5..c5833d8751e1 100644
--- a/graphics/sekrit-twc-zimg/Makefile
+++ b/graphics/sekrit-twc-zimg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= zimg
DISTVERSIONPREFIX= release-
-DISTVERSION= 3.0.5
+DISTVERSION= 3.0.6
CATEGORIES= graphics
PKGNAMEPREFIX= ${GH_ACCOUNT}-
diff --git a/graphics/sekrit-twc-zimg/distinfo b/graphics/sekrit-twc-zimg/distinfo
index 050042892bc2..50088191e6eb 100644
--- a/graphics/sekrit-twc-zimg/distinfo
+++ b/graphics/sekrit-twc-zimg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1688319905
-SHA256 (sekrit-twc-zimg-release-3.0.5_GH0.tar.gz) = a9a0226bf85e0d83c41a8ebe4e3e690e1348682f6a2a7838f1b8cbff1b799bcf
-SIZE (sekrit-twc-zimg-release-3.0.5_GH0.tar.gz) = 326694
+TIMESTAMP = 1755544103
+SHA256 (sekrit-twc-zimg-release-3.0.6_GH0.tar.gz) = be89390f13a5c9b2388ce0f44a5e89364a20c1c57ce46d382b1fcc3967057577
+SIZE (sekrit-twc-zimg-release-3.0.6_GH0.tar.gz) = 326725
diff --git a/graphics/shaderc/Makefile b/graphics/shaderc/Makefile
index 30c37bbc5aae..cda290de174c 100644
--- a/graphics/shaderc/Makefile
+++ b/graphics/shaderc/Makefile
@@ -1,13 +1,14 @@
PORTNAME= shaderc
DISTVERSIONPREFIX= v
-DISTVERSION= 2025.3
+DISTVERSION= 2025.5
CATEGORIES= graphics devel
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= GLSL/HLSL to SPIR-V shader compiler
WWW= https://github.com/google/shaderc
LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= glslang>0:graphics/glslang \
spirv-tools>0:graphics/spirv-tools
@@ -15,17 +16,27 @@ TEST_DEPENDS= googletest>0:devel/googletest
USES= cmake:testing compiler:c++11-lib localbase:ldflags \
python:build shebangfix
+
USE_GITHUB= yes
-USE_LDCONFIG= yes
GH_ACCOUNT= google
-GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-430-g2a611a9:headers/third_party/spirv-headers
+GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-454-gb824a46:headers/third_party/spirv-headers
+
+USE_LDCONFIG= yes
+
SHEBANG_FILES= utils/add_copyright.py
-CMAKE_ON+= ${CMAKE_TESTING_OFF}
-CMAKE_TESTING_OFF= SHADERC_SKIP_TESTS
+
CMAKE_ARGS= -Dglslang_SOURCE_DIR:PATH="${LOCALBASE}/include/glslang" \
-DSPIRV-Headers_SOURCE_DIR:PATH="${WRKSRC}/third_party/spirv-headers"
+CMAKE_ON+= ${CMAKE_TESTING_OFF}
+CMAKE_TESTING_OFF= SHADERC_SKIP_TESTS
+
LDFLAGS+= -Wl,-z,defs # glslang
+PORTDOCS= AUTHORS CHANGES CONTRIBUTING.md CONTRIBUTORS \
+ DEVELOPMENT.howto.md README.md
+
+OPTIONS_DEFINE= DOCS
+
post-patch:
# Disable bundled dependencies
${REINPLACE_CMD} '/third_party/d' ${WRKSRC}/CMakeLists.txt
@@ -40,4 +51,8 @@ pre-configure:
${ECHO_CMD} "\"`${PKG_BIN} query '%n v%v' spirv-tools`\n\"" >> ${WRKSRC}/glslc/src/build-version.inc
${ECHO_CMD} "\"`${PKG_BIN} query '%n %v' glslang`\n\"" >> ${WRKSRC}/glslc/src/build-version.inc
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
.include <bsd.port.mk>
diff --git a/graphics/shaderc/distinfo b/graphics/shaderc/distinfo
index 1ef459a4173e..c9a98825fd2a 100644
--- a/graphics/shaderc/distinfo
+++ b/graphics/shaderc/distinfo
@@ -1,5 +1,5 @@
-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
+TIMESTAMP = 1764578536
+SHA256 (google-shaderc-v2025.5_GH0.tar.gz) = fca5041b1fdea6daba167b63e04e55e5059fab40828342126169336643445447
+SIZE (google-shaderc-v2025.5_GH0.tar.gz) = 228956
+SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-454-gb824a46_GH0.tar.gz) = 15a0224e5c31245651a8a9fc9fc4a86d80c8589614c969861f9be343b3dc6af1
+SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-454-gb824a46_GH0.tar.gz) = 558851
diff --git a/graphics/shotwell/Makefile b/graphics/shotwell/Makefile
index 3bf866870630..64f1b67a3db1 100644
--- a/graphics/shotwell/Makefile
+++ b/graphics/shotwell/Makefile
@@ -1,6 +1,5 @@
PORTNAME= shotwell
-PORTVERSION= 0.32.13
-PORTREVISION= 1
+PORTVERSION= 0.32.14
CATEGORIES= graphics gnome
MASTER_SITES= GNOME
diff --git a/graphics/shotwell/distinfo b/graphics/shotwell/distinfo
index 6b3a97ce93a5..612c1107079f 100644
--- a/graphics/shotwell/distinfo
+++ b/graphics/shotwell/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749474839
-SHA256 (shotwell-0.32.13.tar.xz) = bdd3e84f602e2fc7eb42843c90a25eb3aa49fb2ffb75edb51db01bd2905dbd1e
-SIZE (shotwell-0.32.13.tar.xz) = 35342620
+TIMESTAMP = 1763143835
+SHA256 (shotwell-0.32.14.tar.xz) = 41b122f55d245a4b68d687085fd92398d25f0bbca5483a98b2b7932be4f289da
+SIZE (shotwell-0.32.14.tar.xz) = 35343808
diff --git a/graphics/simpleviewer/Makefile b/graphics/simpleviewer/Makefile
index 99ecd487d756..b5fd1cdc6c81 100644
--- a/graphics/simpleviewer/Makefile
+++ b/graphics/simpleviewer/Makefile
@@ -1,6 +1,6 @@
PORTNAME= simpleviewer
PORTVERSION= 3.1.9
-PORTREVISION= 3
+PORTREVISION= 5
CATEGORIES= graphics
MASTER_SITES= https://bitbucket.org/andreyu/simple-viewer-gl/get/${BB_COMMIT}.tar.bz2?dummy=/
diff --git a/graphics/skanlite/distinfo b/graphics/skanlite/distinfo
index 93c2515a057a..2d1947789620 100644
--- a/graphics/skanlite/distinfo
+++ b/graphics/skanlite/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381490
-SHA256 (KDE/release-service/25.04.3/skanlite-25.04.3.tar.xz) = a6c16c530a2f9105302558d06a377a7bc076be7517a769077c94a6431727f468
-SIZE (KDE/release-service/25.04.3/skanlite-25.04.3.tar.xz) = 2392460
+TIMESTAMP = 1765478601
+SHA256 (KDE/release-service/25.12.0/skanlite-25.12.0.tar.xz) = 525287bb903868be75b9630b34c11ae5fd6ce05be13fc616da30315e520d46cd
+SIZE (KDE/release-service/25.12.0/skanlite-25.12.0.tar.xz) = 2392496
diff --git a/graphics/skanpage/distinfo b/graphics/skanpage/distinfo
index 10af3a4870a4..2de222b9d3f3 100644
--- a/graphics/skanpage/distinfo
+++ b/graphics/skanpage/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751381492
-SHA256 (KDE/release-service/25.04.3/skanpage-25.04.3.tar.xz) = 6727ffd9bd576edbd0b4a0841625cff5d7370e6c8b667c66d5f5355cdb1a2e2d
-SIZE (KDE/release-service/25.04.3/skanpage-25.04.3.tar.xz) = 1360364
+TIMESTAMP = 1765478604
+SHA256 (KDE/release-service/25.12.0/skanpage-25.12.0.tar.xz) = 23042e27ddac86912ae2f0a7f2008ce08755390cf8404b12c82d5e8f0268ec89
+SIZE (KDE/release-service/25.12.0/skanpage-25.12.0.tar.xz) = 1367196
diff --git a/graphics/skia/Makefile b/graphics/skia/Makefile
new file mode 100644
index 000000000000..1e784188db25
--- /dev/null
+++ b/graphics/skia/Makefile
@@ -0,0 +1,67 @@
+PORTNAME= skia
+DISTVERSIONPREFIX= chrome/m
+DISTVERSION= 140
+CATEGORIES= graphics
+
+MAINTAINER= me@svmhdvn.name
+COMMENT= Complete 2D graphic library for drawing Text, Geometries, and Images
+WWW= https://skia.org/
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= gn:devel/gn \
+ spirv-tools>0:graphics/spirv-tools
+LIB_DEPENDS= libexpat.so:textproc/expat2 \
+ libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2 \
+ libharfbuzz.so:print/harfbuzz \
+ libicuuc.so:devel/icu \
+ libGL.so:graphics/libglvnd \
+ libpng16.so:graphics/png \
+ libwebp.so:graphics/webp
+
+USES= compiler:c++17-lang jpeg ninja python:build
+
+USE_LDCONFIG= yes
+USE_GITHUB= yes
+GH_ACCOUNT= google
+
+# TODO port wuffs and add as dependency
+GN_ARGS= is_official_build=true \
+ is_component_build=true \
+ is_debug=false \
+ target_os="linux" \
+ skia_use_dng_sdk=false \
+ skia_use_wuffs=false \
+ extra_cflags=[ \
+ "-I${LOCALBASE}/include", \
+ "-I${LOCALBASE}/include/harfbuzz", \
+ "-I${LOCALBASE}/include/freetype2"] \
+ extra_ldflags=["-L${LOCALBASE}/lib"]
+
+BINARY_ALIAS= python3=${PYTHON_CMD} \
+ ar=llvm-ar
+
+BUILD_WRKSRC= ${WRKSRC}/out
+
+SUB_FILES= skia.pc
+SUB_LIST= SKIA_VERSION=${DISTVERSION}
+
+post-patch:
+ ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/BUILD.gn
+
+do-configure:
+ cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen out --args='${GN_ARGS}' && ${SETENV} ${CONFIGURE_ENV} gn ls out --args='${GN_ARGS}'
+
+do-install:
+ (cd ${BUILD_WRKSRC} && \
+ ls -1 *.so | xargs -I% ${INSTALL_LIB} % ${STAGEDIR}${PREFIX}/lib/%.${DISTVERSION} && \
+ ls -1 *.so | xargs -I% ${RLN} ${STAGEDIR}${PREFIX}/lib/%.${DISTVERSION} ${STAGEDIR}${PREFIX}/lib/%)
+ ${INSTALL_DATA} ${BUILD_WRKSRC}/*.a ${STAGEDIR}${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/skia.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig/
+ ${MKDIR} ${STAGEDIR}${PREFIX}/include/skia/modules
+ (cd ${WRKSRC}/include && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/skia '-name *.h')
+ (cd ${WRKSRC}/modules && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/skia/modules '-name *.h')
+
+.include <bsd.port.mk>
diff --git a/graphics/skia/distinfo b/graphics/skia/distinfo
new file mode 100644
index 000000000000..f41db8ee0e99
--- /dev/null
+++ b/graphics/skia/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760912453
+SHA256 (google-skia-chrome-m140_GH0.tar.gz) = 1554d41ac34719122d2add73dd4fd8a263fda7c91e8f64915f66f937dea05a6a
+SIZE (google-skia-chrome-m140_GH0.tar.gz) = 63802425
diff --git a/graphics/skia/files/patch-BUILD.gn b/graphics/skia/files/patch-BUILD.gn
new file mode 100644
index 000000000000..8db2056cd33e
--- /dev/null
+++ b/graphics/skia/files/patch-BUILD.gn
@@ -0,0 +1,19 @@
+--- BUILD.gn.orig 2025-10-19 21:42:30 UTC
++++ BUILD.gn
+@@ -1254,7 +1254,6 @@ optional("pdf") {
+ deps = [
+ ":clipstack_utils",
+ ":pathops",
+- "//third_party/zlib",
+ ]
+ public = skia_pdf_public
+ sources = skia_pdf_sources
+@@ -1927,7 +1926,7 @@ action("skia.h") {
+ skia_h = "$target_gen_dir/skia.h"
+ script = "gn/find_headers.py"
+
+- args = [ rebase_path("//bin/gn") ] + [ rebase_path("//") ] +
++ args = [ "%%PREFIX%%/bin/gn" ] + [ rebase_path("//") ] +
+ [ rebase_path(skia_h, root_build_dir) ] +
+ rebase_path(skia_public_includes)
+ depfile = "$skia_h.deps"
diff --git a/graphics/skia/files/skia.pc.in b/graphics/skia/files/skia.pc.in
new file mode 100644
index 000000000000..6516e85990d3
--- /dev/null
+++ b/graphics/skia/files/skia.pc.in
@@ -0,0 +1,11 @@
+prefix=%%LOCALBASE%%
+exec_prefix=\${prefix}
+libdir=\${exec_prefix}/lib
+includedir=\${prefix}/include/skia
+
+Name: skia
+Version: %%SKIA_VERSION%%
+Description: Library for computation using data flow graphs for scalable machine learning
+Requires:
+Libs: -L\${libdir} -lskia
+Cflags: -I\${includedir}
diff --git a/graphics/skia/pkg-descr b/graphics/skia/pkg-descr
new file mode 100644
index 000000000000..a77018265f9e
--- /dev/null
+++ b/graphics/skia/pkg-descr
@@ -0,0 +1,4 @@
+Skia is an open source 2D graphics library which provides common APIs that
+work across a variety of hardware and software platforms. It serves as the
+graphics engine for Google Chrome and ChromeOS, Android, Flutter, and many
+other products.
diff --git a/graphics/skia/pkg-plist b/graphics/skia/pkg-plist
new file mode 100644
index 000000000000..780121b8ad4d
--- /dev/null
+++ b/graphics/skia/pkg-plist
@@ -0,0 +1,555 @@
+include/skia/android/AHardwareBufferUtils.h
+include/skia/android/GrAHardwareBufferUtils.h
+include/skia/android/SkAndroidFrameworkUtils.h
+include/skia/android/SkAnimatedImage.h
+include/skia/android/SkCanvasAndroid.h
+include/skia/android/SkHeifDecoder.h
+include/skia/android/SkImageAndroid.h
+include/skia/android/SkSurfaceAndroid.h
+include/skia/android/graphite/SurfaceAndroid.h
+include/skia/codec/SkAndroidCodec.h
+include/skia/codec/SkAvifDecoder.h
+include/skia/codec/SkBmpDecoder.h
+include/skia/codec/SkCodec.h
+include/skia/codec/SkCodecAnimation.h
+include/skia/codec/SkEncodedImageFormat.h
+include/skia/codec/SkEncodedOrigin.h
+include/skia/codec/SkGifDecoder.h
+include/skia/codec/SkIcoDecoder.h
+include/skia/codec/SkJpegDecoder.h
+include/skia/codec/SkJpegxlDecoder.h
+include/skia/codec/SkPixmapUtils.h
+include/skia/codec/SkPngChunkReader.h
+include/skia/codec/SkPngDecoder.h
+include/skia/codec/SkRawDecoder.h
+include/skia/codec/SkWbmpDecoder.h
+include/skia/codec/SkWebpDecoder.h
+include/skia/config/SkUserConfig.h
+include/skia/core/SkAlphaType.h
+include/skia/core/SkAnnotation.h
+include/skia/core/SkArc.h
+include/skia/core/SkBBHFactory.h
+include/skia/core/SkBitmap.h
+include/skia/core/SkBlendMode.h
+include/skia/core/SkBlender.h
+include/skia/core/SkBlurTypes.h
+include/skia/core/SkCPUContext.h
+include/skia/core/SkCPURecorder.h
+include/skia/core/SkCanvas.h
+include/skia/core/SkCanvasVirtualEnforcer.h
+include/skia/core/SkCapabilities.h
+include/skia/core/SkClipOp.h
+include/skia/core/SkColor.h
+include/skia/core/SkColorFilter.h
+include/skia/core/SkColorSpace.h
+include/skia/core/SkColorTable.h
+include/skia/core/SkColorType.h
+include/skia/core/SkContourMeasure.h
+include/skia/core/SkCoverageMode.h
+include/skia/core/SkCubicMap.h
+include/skia/core/SkData.h
+include/skia/core/SkDataTable.h
+include/skia/core/SkDocument.h
+include/skia/core/SkDrawable.h
+include/skia/core/SkExecutor.h
+include/skia/core/SkFlattenable.h
+include/skia/core/SkFont.h
+include/skia/core/SkFontArguments.h
+include/skia/core/SkFontMetrics.h
+include/skia/core/SkFontMgr.h
+include/skia/core/SkFontParameters.h
+include/skia/core/SkFontScanner.h
+include/skia/core/SkFontStyle.h
+include/skia/core/SkFontTypes.h
+include/skia/core/SkFourByteTag.h
+include/skia/core/SkGraphics.h
+include/skia/core/SkImage.h
+include/skia/core/SkImageFilter.h
+include/skia/core/SkImageGenerator.h
+include/skia/core/SkImageInfo.h
+include/skia/core/SkM44.h
+include/skia/core/SkMallocPixelRef.h
+include/skia/core/SkMaskFilter.h
+include/skia/core/SkMatrix.h
+include/skia/core/SkMesh.h
+include/skia/core/SkMilestone.h
+include/skia/core/SkOpenTypeSVGDecoder.h
+include/skia/core/SkOverdrawCanvas.h
+include/skia/core/SkPaint.h
+include/skia/core/SkPath.h
+include/skia/core/SkPathBuilder.h
+include/skia/core/SkPathEffect.h
+include/skia/core/SkPathMeasure.h
+include/skia/core/SkPathTypes.h
+include/skia/core/SkPathUtils.h
+include/skia/core/SkPicture.h
+include/skia/core/SkPictureRecorder.h
+include/skia/core/SkPixelRef.h
+include/skia/core/SkPixmap.h
+include/skia/core/SkPoint.h
+include/skia/core/SkPoint3.h
+include/skia/core/SkRRect.h
+include/skia/core/SkRSXform.h
+include/skia/core/SkRasterHandleAllocator.h
+include/skia/core/SkRecorder.h
+include/skia/core/SkRect.h
+include/skia/core/SkRefCnt.h
+include/skia/core/SkRegion.h
+include/skia/core/SkSamplingOptions.h
+include/skia/core/SkScalar.h
+include/skia/core/SkSerialProcs.h
+include/skia/core/SkShader.h
+include/skia/core/SkSize.h
+include/skia/core/SkSpan.h
+include/skia/core/SkStream.h
+include/skia/core/SkString.h
+include/skia/core/SkStrokeRec.h
+include/skia/core/SkSurface.h
+include/skia/core/SkSurfaceProps.h
+include/skia/core/SkSwizzle.h
+include/skia/core/SkTextBlob.h
+include/skia/core/SkTextureCompressionType.h
+include/skia/core/SkTileMode.h
+include/skia/core/SkTiledImageUtils.h
+include/skia/core/SkTraceMemoryDump.h
+include/skia/core/SkTypeface.h
+include/skia/core/SkTypes.h
+include/skia/core/SkUnPreMultiply.h
+include/skia/core/SkVertices.h
+include/skia/core/SkYUVAInfo.h
+include/skia/core/SkYUVAPixmaps.h
+include/skia/docs/SkMultiPictureDocument.h
+include/skia/docs/SkPDFDocument.h
+include/skia/docs/SkPDFJpegHelpers.h
+include/skia/docs/SkXPSDocument.h
+include/skia/effects/Sk1DPathEffect.h
+include/skia/effects/Sk2DPathEffect.h
+include/skia/effects/SkBlenders.h
+include/skia/effects/SkBlurMaskFilter.h
+include/skia/effects/SkColorMatrix.h
+include/skia/effects/SkColorMatrixFilter.h
+include/skia/effects/SkCornerPathEffect.h
+include/skia/effects/SkDashPathEffect.h
+include/skia/effects/SkDiscretePathEffect.h
+include/skia/effects/SkGradientShader.h
+include/skia/effects/SkHighContrastFilter.h
+include/skia/effects/SkImageFilters.h
+include/skia/effects/SkLumaColorFilter.h
+include/skia/effects/SkOverdrawColorFilter.h
+include/skia/effects/SkPerlinNoiseShader.h
+include/skia/effects/SkRuntimeEffect.h
+include/skia/effects/SkShaderMaskFilter.h
+include/skia/effects/SkTableMaskFilter.h
+include/skia/effects/SkTrimPathEffect.h
+include/skia/encode/SkEncoder.h
+include/skia/encode/SkICC.h
+include/skia/encode/SkJpegEncoder.h
+include/skia/encode/SkPngEncoder.h
+include/skia/encode/SkWebpEncoder.h
+include/skia/gpu/GpuTypes.h
+include/skia/gpu/MutableTextureState.h
+include/skia/gpu/ShaderErrorHandler.h
+include/skia/gpu/ganesh/GrBackendSemaphore.h
+include/skia/gpu/ganesh/GrBackendSurface.h
+include/skia/gpu/ganesh/GrContextOptions.h
+include/skia/gpu/ganesh/GrContextThreadSafeProxy.h
+include/skia/gpu/ganesh/GrDirectContext.h
+include/skia/gpu/ganesh/GrDriverBugWorkarounds.h
+include/skia/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h
+include/skia/gpu/ganesh/GrExternalTextureGenerator.h
+include/skia/gpu/ganesh/GrRecordingContext.h
+include/skia/gpu/ganesh/GrTypes.h
+include/skia/gpu/ganesh/GrYUVABackendTextures.h
+include/skia/gpu/ganesh/SkImageGanesh.h
+include/skia/gpu/ganesh/SkMeshGanesh.h
+include/skia/gpu/ganesh/SkSurfaceGanesh.h
+include/skia/gpu/ganesh/d3d/GrD3DBackendContext.h
+include/skia/gpu/ganesh/d3d/GrD3DTypes.h
+include/skia/gpu/ganesh/gl/GrGLAssembleHelpers.h
+include/skia/gpu/ganesh/gl/GrGLAssembleInterface.h
+include/skia/gpu/ganesh/gl/GrGLBackendSurface.h
+include/skia/gpu/ganesh/gl/GrGLConfig.h
+include/skia/gpu/ganesh/gl/GrGLDirectContext.h
+include/skia/gpu/ganesh/gl/GrGLExtensions.h
+include/skia/gpu/ganesh/gl/GrGLFunctions.h
+include/skia/gpu/ganesh/gl/GrGLInterface.h
+include/skia/gpu/ganesh/gl/GrGLMakeWebGLInterface.h
+include/skia/gpu/ganesh/gl/GrGLTypes.h
+include/skia/gpu/ganesh/gl/egl/GrGLMakeEGLInterface.h
+include/skia/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h
+include/skia/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.h
+include/skia/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h
+include/skia/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h
+include/skia/gpu/ganesh/gl/win/GrGLMakeWinInterface.h
+include/skia/gpu/ganesh/mock/GrMockTypes.h
+include/skia/gpu/ganesh/mtl/GrMtlBackendContext.h
+include/skia/gpu/ganesh/mtl/GrMtlBackendSemaphore.h
+include/skia/gpu/ganesh/mtl/GrMtlBackendSurface.h
+include/skia/gpu/ganesh/mtl/GrMtlDirectContext.h
+include/skia/gpu/ganesh/mtl/GrMtlTypes.h
+include/skia/gpu/ganesh/mtl/SkSurfaceMetal.h
+include/skia/gpu/ganesh/vk/GrBackendDrawableInfo.h
+include/skia/gpu/ganesh/vk/GrVkBackendSemaphore.h
+include/skia/gpu/ganesh/vk/GrVkBackendSurface.h
+include/skia/gpu/ganesh/vk/GrVkDirectContext.h
+include/skia/gpu/ganesh/vk/GrVkTypes.h
+include/skia/gpu/graphite/BackendSemaphore.h
+include/skia/gpu/graphite/BackendTexture.h
+include/skia/gpu/graphite/Context.h
+include/skia/gpu/graphite/ContextOptions.h
+include/skia/gpu/graphite/GraphiteTypes.h
+include/skia/gpu/graphite/Image.h
+include/skia/gpu/graphite/ImageProvider.h
+include/skia/gpu/graphite/LogPriority.h
+include/skia/gpu/graphite/PrecompileContext.h
+include/skia/gpu/graphite/Recorder.h
+include/skia/gpu/graphite/Recording.h
+include/skia/gpu/graphite/Surface.h
+include/skia/gpu/graphite/TextureInfo.h
+include/skia/gpu/graphite/YUVABackendTextures.h
+include/skia/gpu/graphite/dawn/DawnBackendContext.h
+include/skia/gpu/graphite/dawn/DawnGraphiteTypes.h
+include/skia/gpu/graphite/dawn/DawnTypes.h
+include/skia/gpu/graphite/dawn/DawnUtils.h
+include/skia/gpu/graphite/mtl/MtlBackendContext.h
+include/skia/gpu/graphite/mtl/MtlGraphiteTypes.h
+include/skia/gpu/graphite/mtl/MtlGraphiteTypesUtils.h
+include/skia/gpu/graphite/mtl/MtlGraphiteTypes_cpp.h
+include/skia/gpu/graphite/mtl/MtlGraphiteUtils.h
+include/skia/gpu/graphite/precompile/PaintOptions.h
+include/skia/gpu/graphite/precompile/Precompile.h
+include/skia/gpu/graphite/precompile/PrecompileBase.h
+include/skia/gpu/graphite/precompile/PrecompileBlender.h
+include/skia/gpu/graphite/precompile/PrecompileColorFilter.h
+include/skia/gpu/graphite/precompile/PrecompileImageFilter.h
+include/skia/gpu/graphite/precompile/PrecompileMaskFilter.h
+include/skia/gpu/graphite/precompile/PrecompileRuntimeEffect.h
+include/skia/gpu/graphite/precompile/PrecompileShader.h
+include/skia/gpu/graphite/vk/VulkanGraphiteContext.h
+include/skia/gpu/graphite/vk/VulkanGraphiteTypes.h
+include/skia/gpu/graphite/vk/VulkanGraphiteUtils.h
+include/skia/gpu/graphite/vk/precompile/VulkanPrecompileShader.h
+include/skia/gpu/mtl/MtlMemoryAllocator.h
+include/skia/gpu/vk/VulkanBackendContext.h
+include/skia/gpu/vk/VulkanExtensions.h
+include/skia/gpu/vk/VulkanMemoryAllocator.h
+include/skia/gpu/vk/VulkanMutableTextureState.h
+include/skia/gpu/vk/VulkanPreferredFeatures.h
+include/skia/gpu/vk/VulkanTypes.h
+include/skia/modules/audioplayer/SkAudioPlayer.h
+include/skia/modules/bentleyottmann/include/BentleyOttmann1.h
+include/skia/modules/bentleyottmann/include/BruteForceCrossings.h
+include/skia/modules/bentleyottmann/include/Contour.h
+include/skia/modules/bentleyottmann/include/EventQueue.h
+include/skia/modules/bentleyottmann/include/EventQueueInterface.h
+include/skia/modules/bentleyottmann/include/Int96.h
+include/skia/modules/bentleyottmann/include/Myers.h
+include/skia/modules/bentleyottmann/include/Point.h
+include/skia/modules/bentleyottmann/include/Segment.h
+include/skia/modules/bentleyottmann/include/SweepLine.h
+include/skia/modules/canvaskit/WasmCommon.h
+include/skia/modules/jetski/src/Surface.h
+include/skia/modules/jetski/src/SurfaceThread.h
+include/skia/modules/jetski/src/Utils.h
+include/skia/modules/jsonreader/SkJSONReader.h
+include/skia/modules/skcms/skcms.h
+include/skia/modules/skcms/src/Transform_inl.h
+include/skia/modules/skcms/src/skcms_Transform.h
+include/skia/modules/skcms/src/skcms_internals.h
+include/skia/modules/skcms/src/skcms_public.h
+include/skia/modules/skottie/include/ExternalLayer.h
+include/skia/modules/skottie/include/Skottie.h
+include/skia/modules/skottie/include/SkottieProperty.h
+include/skia/modules/skottie/include/SlotManager.h
+include/skia/modules/skottie/include/TextShaper.h
+include/skia/modules/skottie/src/Adapter.h
+include/skia/modules/skottie/src/Camera.h
+include/skia/modules/skottie/src/Composition.h
+include/skia/modules/skottie/src/Layer.h
+include/skia/modules/skottie/src/SkottieJson.h
+include/skia/modules/skottie/src/SkottiePriv.h
+include/skia/modules/skottie/src/SkottieValue.h
+include/skia/modules/skottie/src/Transform.h
+include/skia/modules/skottie/src/animator/Animator.h
+include/skia/modules/skottie/src/animator/KeyframeAnimator.h
+include/skia/modules/skottie/src/animator/VectorKeyframeAnimator.h
+include/skia/modules/skottie/src/effects/Effects.h
+include/skia/modules/skottie/src/layers/shapelayer/ShapeLayer.h
+include/skia/modules/skottie/src/text/Font.h
+include/skia/modules/skottie/src/text/RangeSelector.h
+include/skia/modules/skottie/src/text/TextAdapter.h
+include/skia/modules/skottie/src/text/TextAnimator.h
+include/skia/modules/skottie/src/text/TextValue.h
+include/skia/modules/skottie/utils/SkottieUtils.h
+include/skia/modules/skottie/utils/TextEditor.h
+include/skia/modules/skottie/utils/TextPreshape.h
+include/skia/modules/skparagraph/include/DartTypes.h
+include/skia/modules/skparagraph/include/FontArguments.h
+include/skia/modules/skparagraph/include/FontCollection.h
+include/skia/modules/skparagraph/include/Metrics.h
+include/skia/modules/skparagraph/include/Paragraph.h
+include/skia/modules/skparagraph/include/ParagraphBuilder.h
+include/skia/modules/skparagraph/include/ParagraphCache.h
+include/skia/modules/skparagraph/include/ParagraphPainter.h
+include/skia/modules/skparagraph/include/ParagraphStyle.h
+include/skia/modules/skparagraph/include/TextShadow.h
+include/skia/modules/skparagraph/include/TextStyle.h
+include/skia/modules/skparagraph/include/TypefaceFontProvider.h
+include/skia/modules/skparagraph/src/Decorations.h
+include/skia/modules/skparagraph/src/Iterators.h
+include/skia/modules/skparagraph/src/OneLineShaper.h
+include/skia/modules/skparagraph/src/ParagraphBuilderImpl.h
+include/skia/modules/skparagraph/src/ParagraphImpl.h
+include/skia/modules/skparagraph/src/ParagraphPainterImpl.h
+include/skia/modules/skparagraph/src/Run.h
+include/skia/modules/skparagraph/src/TextLine.h
+include/skia/modules/skparagraph/src/TextWrapper.h
+include/skia/modules/skparagraph/tests/SkShaperJSONWriter.h
+include/skia/modules/skparagraph/utils/TestFontCollection.h
+include/skia/modules/skplaintexteditor/include/editor.h
+include/skia/modules/skplaintexteditor/include/stringslice.h
+include/skia/modules/skplaintexteditor/include/stringview.h
+include/skia/modules/skplaintexteditor/src/shape.h
+include/skia/modules/skplaintexteditor/src/word_boundaries.h
+include/skia/modules/skresources/include/SkResources.h
+include/skia/modules/skresources/src/SkAnimCodecPlayer.h
+include/skia/modules/sksg/include/SkSGClipEffect.h
+include/skia/modules/sksg/include/SkSGColorFilter.h
+include/skia/modules/sksg/include/SkSGDraw.h
+include/skia/modules/sksg/include/SkSGEffectNode.h
+include/skia/modules/sksg/include/SkSGGeometryEffect.h
+include/skia/modules/sksg/include/SkSGGeometryNode.h
+include/skia/modules/sksg/include/SkSGGradient.h
+include/skia/modules/sksg/include/SkSGGroup.h
+include/skia/modules/sksg/include/SkSGImage.h
+include/skia/modules/sksg/include/SkSGInvalidationController.h
+include/skia/modules/sksg/include/SkSGMaskEffect.h
+include/skia/modules/sksg/include/SkSGMerge.h
+include/skia/modules/sksg/include/SkSGNode.h
+include/skia/modules/sksg/include/SkSGOpacityEffect.h
+include/skia/modules/sksg/include/SkSGPaint.h
+include/skia/modules/sksg/include/SkSGPath.h
+include/skia/modules/sksg/include/SkSGPlane.h
+include/skia/modules/sksg/include/SkSGRect.h
+include/skia/modules/sksg/include/SkSGRenderEffect.h
+include/skia/modules/sksg/include/SkSGRenderNode.h
+include/skia/modules/sksg/include/SkSGScene.h
+include/skia/modules/sksg/include/SkSGText.h
+include/skia/modules/sksg/include/SkSGTransform.h
+include/skia/modules/sksg/src/SkSGNodePriv.h
+include/skia/modules/sksg/src/SkSGTransformPriv.h
+include/skia/modules/skshaper/include/SkShaper.h
+include/skia/modules/skshaper/include/SkShaper_coretext.h
+include/skia/modules/skshaper/include/SkShaper_factory.h
+include/skia/modules/skshaper/include/SkShaper_harfbuzz.h
+include/skia/modules/skshaper/include/SkShaper_skunicode.h
+include/skia/modules/skshaper/utils/FactoryHelpers.h
+include/skia/modules/skunicode/include/SkUnicode.h
+include/skia/modules/skunicode/include/SkUnicode_bidi.h
+include/skia/modules/skunicode/include/SkUnicode_client.h
+include/skia/modules/skunicode/include/SkUnicode_icu.h
+include/skia/modules/skunicode/include/SkUnicode_icu4x.h
+include/skia/modules/skunicode/include/SkUnicode_libgrapheme.h
+include/skia/modules/skunicode/src/SkBidiFactory_icu_full.h
+include/skia/modules/skunicode/src/SkBidiFactory_icu_subset.h
+include/skia/modules/skunicode/src/SkUnicode_hardcoded.h
+include/skia/modules/skunicode/src/SkUnicode_icu_bidi.h
+include/skia/modules/skunicode/src/SkUnicode_icupriv.h
+include/skia/modules/svg/include/SkSVGAttribute.h
+include/skia/modules/svg/include/SkSVGAttributeParser.h
+include/skia/modules/svg/include/SkSVGCircle.h
+include/skia/modules/svg/include/SkSVGClipPath.h
+include/skia/modules/svg/include/SkSVGContainer.h
+include/skia/modules/svg/include/SkSVGDOM.h
+include/skia/modules/svg/include/SkSVGDefs.h
+include/skia/modules/svg/include/SkSVGEllipse.h
+include/skia/modules/svg/include/SkSVGFe.h
+include/skia/modules/svg/include/SkSVGFeBlend.h
+include/skia/modules/svg/include/SkSVGFeColorMatrix.h
+include/skia/modules/svg/include/SkSVGFeComponentTransfer.h
+include/skia/modules/svg/include/SkSVGFeComposite.h
+include/skia/modules/svg/include/SkSVGFeDisplacementMap.h
+include/skia/modules/svg/include/SkSVGFeFlood.h
+include/skia/modules/svg/include/SkSVGFeGaussianBlur.h
+include/skia/modules/svg/include/SkSVGFeImage.h
+include/skia/modules/svg/include/SkSVGFeLightSource.h
+include/skia/modules/svg/include/SkSVGFeLighting.h
+include/skia/modules/svg/include/SkSVGFeMerge.h
+include/skia/modules/svg/include/SkSVGFeMorphology.h
+include/skia/modules/svg/include/SkSVGFeOffset.h
+include/skia/modules/svg/include/SkSVGFeTurbulence.h
+include/skia/modules/svg/include/SkSVGFilter.h
+include/skia/modules/svg/include/SkSVGFilterContext.h
+include/skia/modules/svg/include/SkSVGG.h
+include/skia/modules/svg/include/SkSVGGradient.h
+include/skia/modules/svg/include/SkSVGHiddenContainer.h
+include/skia/modules/svg/include/SkSVGIDMapper.h
+include/skia/modules/svg/include/SkSVGImage.h
+include/skia/modules/svg/include/SkSVGLine.h
+include/skia/modules/svg/include/SkSVGLinearGradient.h
+include/skia/modules/svg/include/SkSVGMask.h
+include/skia/modules/svg/include/SkSVGNode.h
+include/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h
+include/skia/modules/svg/include/SkSVGPath.h
+include/skia/modules/svg/include/SkSVGPattern.h
+include/skia/modules/svg/include/SkSVGPoly.h
+include/skia/modules/svg/include/SkSVGRadialGradient.h
+include/skia/modules/svg/include/SkSVGRect.h
+include/skia/modules/svg/include/SkSVGRenderContext.h
+include/skia/modules/svg/include/SkSVGSVG.h
+include/skia/modules/svg/include/SkSVGShape.h
+include/skia/modules/svg/include/SkSVGStop.h
+include/skia/modules/svg/include/SkSVGText.h
+include/skia/modules/svg/include/SkSVGTransformableNode.h
+include/skia/modules/svg/include/SkSVGTypes.h
+include/skia/modules/svg/include/SkSVGUse.h
+include/skia/modules/svg/include/SkSVGValue.h
+include/skia/modules/svg/src/SkSVGRectPriv.h
+include/skia/modules/svg/src/SkSVGTextPriv.h
+include/skia/pathops/SkPathOps.h
+include/skia/ports/SkCFObject.h
+include/skia/ports/SkFontConfigInterface.h
+include/skia/ports/SkFontMgr_FontConfigInterface.h
+include/skia/ports/SkFontMgr_Fontations.h
+include/skia/ports/SkFontMgr_android.h
+include/skia/ports/SkFontMgr_android_ndk.h
+include/skia/ports/SkFontMgr_data.h
+include/skia/ports/SkFontMgr_directory.h
+include/skia/ports/SkFontMgr_empty.h
+include/skia/ports/SkFontMgr_fontconfig.h
+include/skia/ports/SkFontMgr_fuchsia.h
+include/skia/ports/SkFontMgr_mac_ct.h
+include/skia/ports/SkFontScanner_Fontations.h
+include/skia/ports/SkFontScanner_FreeType.h
+include/skia/ports/SkImageGeneratorCG.h
+include/skia/ports/SkImageGeneratorNDK.h
+include/skia/ports/SkImageGeneratorWIC.h
+include/skia/ports/SkTypeface_fontations.h
+include/skia/ports/SkTypeface_mac.h
+include/skia/ports/SkTypeface_win.h
+include/skia/private/SkEncodedInfo.h
+include/skia/private/SkExif.h
+include/skia/private/SkGainmapInfo.h
+include/skia/private/SkGainmapShader.h
+include/skia/private/SkIDChangeListener.h
+include/skia/private/SkJpegGainmapEncoder.h
+include/skia/private/SkJpegMetadataDecoder.h
+include/skia/private/SkPathRef.h
+include/skia/private/SkSLSampleUsage.h
+include/skia/private/SkWeakRefCnt.h
+include/skia/private/SkXmp.h
+include/skia/private/base/SingleOwner.h
+include/skia/private/base/SkAPI.h
+include/skia/private/base/SkASAN.h
+include/skia/private/base/SkAlign.h
+include/skia/private/base/SkAlignedStorage.h
+include/skia/private/base/SkAnySubclass.h
+include/skia/private/base/SkAssert.h
+include/skia/private/base/SkAttributes.h
+include/skia/private/base/SkCPUTypes.h
+include/skia/private/base/SkContainers.h
+include/skia/private/base/SkDebug.h
+include/skia/private/base/SkDeque.h
+include/skia/private/base/SkFeatures.h
+include/skia/private/base/SkFixed.h
+include/skia/private/base/SkFloatingPoint.h
+include/skia/private/base/SkLoadUserConfig.h
+include/skia/private/base/SkMacros.h
+include/skia/private/base/SkMalloc.h
+include/skia/private/base/SkMath.h
+include/skia/private/base/SkMutex.h
+include/skia/private/base/SkNoncopyable.h
+include/skia/private/base/SkOnce.h
+include/skia/private/base/SkPoint_impl.h
+include/skia/private/base/SkSafe32.h
+include/skia/private/base/SkSemaphore.h
+include/skia/private/base/SkSpan_impl.h
+include/skia/private/base/SkTArray.h
+include/skia/private/base/SkTDArray.h
+include/skia/private/base/SkTFitsIn.h
+include/skia/private/base/SkTLogic.h
+include/skia/private/base/SkTPin.h
+include/skia/private/base/SkTemplates.h
+include/skia/private/base/SkThreadAnnotations.h
+include/skia/private/base/SkThreadID.h
+include/skia/private/base/SkTo.h
+include/skia/private/base/SkTypeTraits.h
+include/skia/private/chromium/GrDeferredDisplayList.h
+include/skia/private/chromium/GrDeferredDisplayListRecorder.h
+include/skia/private/chromium/GrPromiseImageTexture.h
+include/skia/private/chromium/GrSurfaceCharacterization.h
+include/skia/private/chromium/GrVkSecondaryCBDrawContext.h
+include/skia/private/chromium/SkChromeRemoteGlyphCache.h
+include/skia/private/chromium/SkDiscardableMemory.h
+include/skia/private/chromium/SkImageChromium.h
+include/skia/private/chromium/SkPMColor.h
+include/skia/private/chromium/Slug.h
+include/skia/private/gpu/ganesh/GrContext_Base.h
+include/skia/private/gpu/ganesh/GrD3DTypesMinimal.h
+include/skia/private/gpu/ganesh/GrImageContext.h
+include/skia/private/gpu/ganesh/GrTextureGenerator.h
+include/skia/private/gpu/ganesh/GrTypesPriv.h
+include/skia/private/gpu/vk/SkiaVulkan.h
+include/skia/sksl/SkSLDebugTrace.h
+include/skia/sksl/SkSLVersion.h
+include/skia/svg/SkSVGCanvas.h
+include/skia/third_party/vulkan/vulkan/vk_icd.h
+include/skia/third_party/vulkan/vulkan/vk_layer.h
+include/skia/third_party/vulkan/vulkan/vk_platform.h
+include/skia/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h
+include/skia/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h
+include/skia/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h
+include/skia/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h
+include/skia/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h
+include/skia/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h
+include/skia/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h
+include/skia/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h
+include/skia/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h
+include/skia/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h
+include/skia/third_party/vulkan/vulkan/vulkan.h
+include/skia/third_party/vulkan/vulkan/vulkan_android.h
+include/skia/third_party/vulkan/vulkan/vulkan_beta.h
+include/skia/third_party/vulkan/vulkan/vulkan_core.h
+include/skia/third_party/vulkan/vulkan/vulkan_directfb.h
+include/skia/third_party/vulkan/vulkan/vulkan_fuchsia.h
+include/skia/third_party/vulkan/vulkan/vulkan_ggp.h
+include/skia/third_party/vulkan/vulkan/vulkan_ios.h
+include/skia/third_party/vulkan/vulkan/vulkan_macos.h
+include/skia/third_party/vulkan/vulkan/vulkan_metal.h
+include/skia/third_party/vulkan/vulkan/vulkan_screen.h
+include/skia/third_party/vulkan/vulkan/vulkan_vi.h
+include/skia/third_party/vulkan/vulkan/vulkan_wayland.h
+include/skia/third_party/vulkan/vulkan/vulkan_win32.h
+include/skia/third_party/vulkan/vulkan/vulkan_xcb.h
+include/skia/third_party/vulkan/vulkan/vulkan_xlib.h
+include/skia/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h
+include/skia/utils/SkCamera.h
+include/skia/utils/SkCanvasStateUtils.h
+include/skia/utils/SkCustomTypeface.h
+include/skia/utils/SkEventTracer.h
+include/skia/utils/SkNWayCanvas.h
+include/skia/utils/SkNoDrawCanvas.h
+include/skia/utils/SkNullCanvas.h
+include/skia/utils/SkOrderedFontMgr.h
+include/skia/utils/SkPaintFilterCanvas.h
+include/skia/utils/SkParse.h
+include/skia/utils/SkParsePath.h
+include/skia/utils/SkShadowUtils.h
+include/skia/utils/SkTextUtils.h
+include/skia/utils/SkTraceEventPhase.h
+include/skia/utils/mac/SkCGUtils.h
+lib/libbentleyottmann.so
+lib/libbentleyottmann.so.140
+lib/libpathkit.a
+lib/libskcms.a
+lib/libskia.so
+lib/libskia.so.140
+lib/libskparagraph.so
+lib/libskparagraph.so.140
+lib/libskshaper.so
+lib/libskshaper.so.140
+lib/libskunicode_core.so
+lib/libskunicode_core.so.140
+lib/libskunicode_icu.so
+lib/libskunicode_icu.so.140
+libdata/pkgconfig/skia.pc
diff --git a/graphics/spirv-cross/Makefile b/graphics/spirv-cross/Makefile
index 1858e423d71d..85badc9b6c96 100644
--- a/graphics/spirv-cross/Makefile
+++ b/graphics/spirv-cross/Makefile
@@ -1,6 +1,6 @@
PORTNAME= spirv-cross
DISTVERSIONPREFIX= vulkan-sdk-
-DISTVERSION= 1.4.313.0
+DISTVERSION= 1.4.328.1
CATEGORIES= graphics
MAINTAINER= vvd@FreeBSD.org
@@ -9,7 +9,7 @@ WWW= https://github.com/KhronosGroup/SPIRV-Cross
LICENSE= APACHE20
-USES= cmake compiler:c++11-lib pathfix python:build
+USES= cmake compiler:c++11-lib python:build
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
diff --git a/graphics/spirv-cross/distinfo b/graphics/spirv-cross/distinfo
index e21dde156e3a..043826abc6ed 100644
--- a/graphics/spirv-cross/distinfo
+++ b/graphics/spirv-cross/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746800492
-SHA256 (KhronosGroup-SPIRV-Cross-vulkan-sdk-1.4.313.0_GH0.tar.gz) = 7d1de24918bea9897753f7561d4d154f68ec89c36bb70c13598222b8039d4212
-SIZE (KhronosGroup-SPIRV-Cross-vulkan-sdk-1.4.313.0_GH0.tar.gz) = 1891442
+TIMESTAMP = 1761000000
+SHA256 (KhronosGroup-SPIRV-Cross-vulkan-sdk-1.4.328.1_GH0.tar.gz) = 5b1149927e40a67396b440711543a3b1f9d004c844ca7293582a72c01cb69756
+SIZE (KhronosGroup-SPIRV-Cross-vulkan-sdk-1.4.328.1_GH0.tar.gz) = 1952083
diff --git a/graphics/spirv-cross/pkg-plist b/graphics/spirv-cross/pkg-plist
index 4513797e0a67..3bba91288c3b 100644
--- a/graphics/spirv-cross/pkg-plist
+++ b/graphics/spirv-cross/pkg-plist
@@ -18,7 +18,7 @@ include/spirv_cross/spirv_parser.hpp
include/spirv_cross/spirv_reflect.hpp
lib/libspirv-cross-c-shared.so
lib/libspirv-cross-c-shared.so.0
-lib/libspirv-cross-c-shared.so.0.65.0
+lib/libspirv-cross-c-shared.so.0.67.0
lib/libspirv-cross-c.a
lib/libspirv-cross-core.a
lib/libspirv-cross-cpp.a
diff --git a/graphics/spirv-tools/Makefile b/graphics/spirv-tools/Makefile
index 4824fea487f4..df899b022e05 100644
--- a/graphics/spirv-tools/Makefile
+++ b/graphics/spirv-tools/Makefile
@@ -1,23 +1,35 @@
PORTNAME= spirv-tools
DISTVERSIONPREFIX= v
-DISTVERSION= 2025.3.rc1 # please always bump all dependencies when updated because at least graphics/shaderc links in static libraries
+DISTVERSION= 2025.4 # please always bump all dependencies when updated because at least graphics/shaderc links in static libraries
CATEGORIES= graphics
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= Tools for processing SPIR-V intermediate shader language modules
WWW= https://github.com/KhronosGroup/SPIRV-Tools
LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= cmake compiler:c++11-lib python:build shebangfix
-USE_LDCONFIG= yes
-SHEBANG_FILES= tools/lesspipe/spirv-lesspipe.sh
+USES= cmake:testing compiler:c++11-lib python:build shebangfix
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= SPIRV-Tools
-GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-430-g2a611a9:headers/external/spirv-headers
+GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-446-g01e0577:headers/external/spirv-headers
+
+USE_LDCONFIG= yes
+
+SHEBANG_FILES= tools/lesspipe/spirv-lesspipe.sh
+
+CMAKE_ON= SPIRV_SKIP_TESTS
+CMAKE_TESTING_OFF= SPIRV_SKIP_TESTS
+
+PORTDOCS= CHANGES CONTRIBUTING.md README.md SECURITY.md
+
+OPTIONS_DEFINE= DOCS
-CMAKE_ON= SPIRV_SKIP_TESTS
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/graphics/spirv-tools/distinfo b/graphics/spirv-tools/distinfo
index c84de2476b33..6a6a3319bc34 100644
--- a/graphics/spirv-tools/distinfo
+++ b/graphics/spirv-tools/distinfo
@@ -1,5 +1,5 @@
-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
+TIMESTAMP = 1759125287
+SHA256 (KhronosGroup-SPIRV-Tools-v2025.4_GH0.tar.gz) = d256aa82de849bdce4b05060081dadcc9145c2173a056e8531f649f8975e582e
+SIZE (KhronosGroup-SPIRV-Tools-v2025.4_GH0.tar.gz) = 3391548
+SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-446-g01e0577_GH0.tar.gz) = 587ce4165852fb4fd7352d81c141c02c0af735f25000212e5d9bd9d9c47f6e78
+SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-446-g01e0577_GH0.tar.gz) = 545796
diff --git a/graphics/spirv-tools/pkg-plist b/graphics/spirv-tools/pkg-plist
index 974cf735bcdd..b6236cfb56ab 100644
--- a/graphics/spirv-tools/pkg-plist
+++ b/graphics/spirv-tools/pkg-plist
@@ -1,5 +1,6 @@
bin/spirv-as
bin/spirv-cfg
+bin/spirv-diff
bin/spirv-dis
bin/spirv-lesspipe.sh
bin/spirv-link
diff --git a/graphics/ssocr/Makefile b/graphics/ssocr/Makefile
index 70d6c9c9de49..02cf06239554 100644
--- a/graphics/ssocr/Makefile
+++ b/graphics/ssocr/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ssocr
-DISTVERSION= 2.25.0
+DISTVERSION= 2.25.1
CATEGORIES= graphics
MASTER_SITES= http://www.unix-ag.uni-kl.de/~auerswal/ssocr/ \
LOCAL/ehaupt
diff --git a/graphics/ssocr/distinfo b/graphics/ssocr/distinfo
index f4a2bc0f2d21..6a881f4aa57d 100644
--- a/graphics/ssocr/distinfo
+++ b/graphics/ssocr/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742798999
-SHA256 (ssocr-2.25.0.tar.bz2) = 75caf81b4ddce2ecbd5142db3bb1c26178889e37010074b8ec4fe0b5009c676a
-SIZE (ssocr-2.25.0.tar.bz2) = 43267
+TIMESTAMP = 1762769894
+SHA256 (ssocr-2.25.1.tar.bz2) = e7588bb9ec56b568362ca0b68c216b0af37b42bb3f63602ee21628aa731b84be
+SIZE (ssocr-2.25.1.tar.bz2) = 43308
diff --git a/graphics/stamp/Makefile b/graphics/stamp/Makefile
index 3c6bd268b946..0e30673fc275 100644
--- a/graphics/stamp/Makefile
+++ b/graphics/stamp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= stamp
PORTVERSION= 2.0.8
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= graphics
MASTER_SITES= SF
@@ -11,6 +11,9 @@ WWW= https://stamp.sourceforge.net/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
+DEPRECATED= historical tool, use imagemagick instead
+EXPIRATION_DATE= 2025-12-31
+
USES= jpeg localbase
GNU_CONFIGURE= yes
diff --git a/graphics/svgbob/Makefile b/graphics/svgbob/Makefile
index 0f80a1f26392..4070f4924e20 100644
--- a/graphics/svgbob/Makefile
+++ b/graphics/svgbob/Makefile
@@ -1,6 +1,6 @@
PORTNAME= svgbob
DISTVERSION= 0.7.1
-PORTREVISION= 20
+PORTREVISION= 23
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/swappy/Makefile b/graphics/swappy/Makefile
index 4e0543163209..a5f143b62500 100644
--- a/graphics/swappy/Makefile
+++ b/graphics/swappy/Makefile
@@ -1,47 +1,34 @@
PORTNAME= swappy
DISTVERSIONPREFIX= v
-DISTVERSION= 1.5.1
-PORTREVISION= 3
+DISTVERSION= 1.8.0
CATEGORIES= graphics wayland
+MASTER_SITES= https://github.com/jtheoof/${PORTNAME}/releases/download/${DISTVERSIONFULL}/
+DISTNAME= ${PORTNAME}-${DISTVERSION}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= Snapshot editing for Wayland (a la Snappy on macOS)
WWW= https://github.com/jtheoof/swappy
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= compiler:c11 desktop-file-utils gettext-tools gnome meson pkgconfig
-USE_GITHUB= yes
+USES= compiler:c11 desktop-file-utils gettext-tools gnome meson \
+ pkgconfig
+
USE_GNOME= cairo gdkpixbuf gtk30
-GH_ACCOUNT= jtheoof
-PLIST_FILES= bin/${PORTNAME} \
- share/applications/${PORTNAME}.desktop \
- share/icons/hicolor/scalable/apps/${PORTNAME}.svg \
- share/locale/de/LC_MESSAGES/${PORTNAME}.mo \
- share/locale/en/LC_MESSAGES/${PORTNAME}.mo \
- share/locale/fr/LC_MESSAGES/${PORTNAME}.mo \
- share/locale/pt_BR/LC_MESSAGES/${PORTNAME}.mo \
- share/locale/tr/LC_MESSAGES/${PORTNAME}.mo \
- ${NULL}
OPTIONS_DEFINE= CLIPBOARD ICONSFONT MANPAGES
OPTIONS_DEFAULT=CLIPBOARD ICONSFONT MANPAGES
+OPTIONS_SUB= yes
CLIPBOARD_DESC= Copy to clipboard support
+ICONSFONT_DESC= Install Font Awesome to properly render icons
+
CLIPBOARD_RUN_DEPENDS= wl-copy:x11/wl-clipboard
-ICONSFONT_DESC= Install Font Awesome to properly render icons
ICONSFONT_RUN_DEPENDS= font-awesome>0:x11-fonts/font-awesome
MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc
MANPAGES_MESON_ENABLED= man-pages
-MANPAGES_PLIST_FILES= share/man/man1/${PORTNAME}.1.gz
-
-post-patch:
-# Extract (snapshot) version from the port instead of meson.build
- @${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \
- -e '/project_version/s/@0@/${DISTVERSIONFULL}/' \
- ${WRKSRC}/meson.build
.include <bsd.port.mk>
diff --git a/graphics/swappy/distinfo b/graphics/swappy/distinfo
index 4bc75903cd7e..b41fedbe8038 100644
--- a/graphics/swappy/distinfo
+++ b/graphics/swappy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1668981009
-SHA256 (jtheoof-swappy-v1.5.1_GH0.tar.gz) = 266fac289d4b903d80d44746044bafe8a8b663c6032be696c651ad390bcb1850
-SIZE (jtheoof-swappy-v1.5.1_GH0.tar.gz) = 655406
+TIMESTAMP = 1756368333
+SHA256 (swappy-1.8.0.tar.gz) = f615cc4c61e033cddc60093003ef03646d246a0ac14becb9cdac9b5fabf37bbe
+SIZE (swappy-1.8.0.tar.gz) = 700962
diff --git a/graphics/swappy/files/patch-meson.build b/graphics/swappy/files/patch-meson.build
new file mode 100644
index 000000000000..5f04120fc549
--- /dev/null
+++ b/graphics/swappy/files/patch-meson.build
@@ -0,0 +1,11 @@
+--- meson.build.orig 2025-08-20 11:05:16 UTC
++++ meson.build
+@@ -13,7 +13,7 @@ git = find_program('git', native: true, required: fals
+
+ version = '"@0@"'.format(meson.project_version())
+ git = find_program('git', native: true, required: false)
+-if git.found()
++if false
+ git_commit = run_command([git, 'rev-parse', '--short', 'HEAD'], check:true)
+ git_branch = run_command([git, 'rev-parse', '--abbrev-ref', 'HEAD'], check:true)
+ if git_commit.returncode() == 0 and git_branch.returncode() == 0
diff --git a/graphics/swappy/pkg-plist b/graphics/swappy/pkg-plist
new file mode 100644
index 000000000000..0e1bc6eac55c
--- /dev/null
+++ b/graphics/swappy/pkg-plist
@@ -0,0 +1,10 @@
+bin/swappy
+share/applications/swappy.desktop
+share/icons/hicolor/scalable/apps/swappy.svg
+share/locale/de/LC_MESSAGES/swappy.mo
+share/locale/en/LC_MESSAGES/swappy.mo
+share/locale/fr/LC_MESSAGES/swappy.mo
+share/locale/pt_BR/LC_MESSAGES/swappy.mo
+share/locale/tr/LC_MESSAGES/swappy.mo
+share/locale/zh_CN/LC_MESSAGES/swappy.mo
+%%MANPAGES%%share/man/man1/swappy.1.gz
diff --git a/graphics/synfig/Makefile b/graphics/synfig/Makefile
index 23185c619a51..59009dd2cf23 100644
--- a/graphics/synfig/Makefile
+++ b/graphics/synfig/Makefile
@@ -1,7 +1,7 @@
PORTNAME= synfig
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.5
-PORTREVISION= 7
+PORTREVISION= 10
CATEGORIES= graphics devel multimedia
MAINTAINER= portmaster@BSDforge.com
diff --git a/graphics/synfigstudio/Makefile b/graphics/synfigstudio/Makefile
index 0bf457c2f179..f0315bfcb458 100644
--- a/graphics/synfigstudio/Makefile
+++ b/graphics/synfigstudio/Makefile
@@ -1,7 +1,7 @@
PORTNAME= synfigstudio
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.5
-PORTREVISION= 3
+PORTREVISION= 5
CATEGORIES= graphics multimedia
MAINTAINER= portmaster@BSDforge.com
diff --git a/graphics/tiff/Makefile b/graphics/tiff/Makefile
index d96d03ff891f..f4c8b7119511 100644
--- a/graphics/tiff/Makefile
+++ b/graphics/tiff/Makefile
@@ -1,5 +1,5 @@
PORTNAME= tiff
-DISTVERSION= 4.7.0
+DISTVERSION= 4.7.1
CATEGORIES= graphics
MASTER_SITES= https://download.osgeo.org/libtiff/
diff --git a/graphics/tiff/distinfo b/graphics/tiff/distinfo
index 84e8ebf6ad62..df78c7e1ff60 100644
--- a/graphics/tiff/distinfo
+++ b/graphics/tiff/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1726901517
-SHA256 (tiff-4.7.0.tar.xz) = 273a0a73b1f0bed640afee4a5df0337357ced5b53d3d5d1c405b936501f71017
-SIZE (tiff-4.7.0.tar.xz) = 2286220
+TIMESTAMP = 1758254359
+SHA256 (tiff-4.7.1.tar.xz) = b92017489bdc1db3a4c97191aa4b75366673cb746de0dce5d7a749d5954681ba
+SIZE (tiff-4.7.1.tar.xz) = 2358600
diff --git a/graphics/tiff/files/patch-git-01-0dbcfc5bd2eaacf8be4f57f8b7cc7369d88fafa8 b/graphics/tiff/files/patch-git-01-0dbcfc5bd2eaacf8be4f57f8b7cc7369d88fafa8
deleted file mode 100644
index 765bf56f26da..000000000000
--- a/graphics/tiff/files/patch-git-01-0dbcfc5bd2eaacf8be4f57f8b7cc7369d88fafa8
+++ /dev/null
@@ -1,52 +0,0 @@
-From 0dbcfc5bd2eaacf8be4f57f8b7cc7369d88fafa8 Mon Sep 17 00:00:00 2001
-From: "Daniel E @diizzyy" <unknown@example.com>
-Date: Sun, 20 Oct 2024 22:45:15 +0200
-Subject: [PATCH] CMake: fix build with LLVM/Clang 17+
-
-Fixes #651
----
- cmake/LinkerChecks.cmake | 7 ++++++-
- libtiff/CMakeLists.txt | 9 +++++++--
- 2 files changed, 13 insertions(+), 3 deletions(-)
-
-diff --git a/cmake/LinkerChecks.cmake b/cmake/LinkerChecks.cmake
-index ad1f0f9ff..90496bd2e 100644
---- cmake/LinkerChecks.cmake
-+++ cmake/LinkerChecks.cmake
-@@ -39,7 +39,12 @@ VERS_2 {
- } VERS_1;
- ")
- set(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS})
--set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/conftest.map")
-+if (CMAKE_VERSION GREATER_EQUAL 3.29 AND CMAKE_C_COMPILER_LINKER_ID STREQUAL "LLD" AND CMAKE_C_COMPILER_LINKER_VERSION GREATER_EQUAL 17)
-+ set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} -Wl,--undefined-version "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/conftest.map")
-+else()
-+ set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/conftest.map")
-+endif()
-+
- check_c_source_compiles("int main(void){return 0;}" HAVE_LD_VERSION_SCRIPT)
- set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE})
- file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/conftest.map")
-diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt
-index a8aa0c320..2762fab7c 100755
---- libtiff/CMakeLists.txt
-+++ libtiff/CMakeLists.txt
-@@ -201,8 +201,13 @@ if(NOT CYGWIN)
- set_target_properties(tiff PROPERTIES VERSION ${SO_VERSION})
- endif()
- if(HAVE_LD_VERSION_SCRIPT)
-- set_target_properties(tiff PROPERTIES LINK_FLAGS
-- "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiff.map")
-+ if (CMAKE_VERSION GREATER_EQUAL 3.29 AND CMAKE_C_COMPILER_LINKER_ID STREQUAL "LLD" AND CMAKE_C_COMPILER_LINKER_VERSION GREATER_EQUAL 17)
-+ set_target_properties(tiff PROPERTIES LINK_FLAGS
-+ "-Wl,--undefined-version -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiff.map")
-+ else()
-+ set_target_properties(tiff PROPERTIES LINK_FLAGS
-+ "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiff.map")
-+ endif()
- endif()
-
- if(tiff-install)
---
-GitLab
-
diff --git a/graphics/tiff/pkg-plist b/graphics/tiff/pkg-plist
index afe399914e2f..25b30b1e8cb9 100644
--- a/graphics/tiff/pkg-plist
+++ b/graphics/tiff/pkg-plist
@@ -27,10 +27,10 @@ lib/cmake/tiff/TiffTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/tiff/TiffTargets.cmake
lib/libtiff.so
lib/libtiff.so.6
-lib/libtiff.so.6.1.0
+lib/libtiff.so.6.2.0
lib/libtiffxx.so
lib/libtiffxx.so.6
-lib/libtiffxx.so.6.1.0
+lib/libtiffxx.so.6.2.0
libdata/pkgconfig/libtiff-4.pc
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
%%PORTDOCS%%%%DOCSDIR%%/LICENSE.md
@@ -188,6 +188,7 @@ libdata/pkgconfig/libtiff-4.pc
%%PORTDOCS%%%%DOCSDIR%%/manual/_sources/releases/v4.5.1.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/manual/_sources/releases/v4.6.0.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/manual/_sources/releases/v4.7.0.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/manual/_sources/releases/v4.7.1.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/manual/_sources/rfcs/index.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/manual/_sources/rfcs/rfc1_psc.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/manual/_sources/rfcs/rfc2_restoring_needed_tools.rst.txt
@@ -369,6 +370,7 @@ libdata/pkgconfig/libtiff-4.pc
%%PORTDOCS%%%%DOCSDIR%%/manual/releases/v4.5.1.html
%%PORTDOCS%%%%DOCSDIR%%/manual/releases/v4.6.0.html
%%PORTDOCS%%%%DOCSDIR%%/manual/releases/v4.7.0.html
+%%PORTDOCS%%%%DOCSDIR%%/manual/releases/v4.7.1.html
%%PORTDOCS%%%%DOCSDIR%%/manual/rfcs/index.html
%%PORTDOCS%%%%DOCSDIR%%/manual/rfcs/rfc1_psc.html
%%PORTDOCS%%%%DOCSDIR%%/manual/rfcs/rfc2_restoring_needed_tools.html
diff --git a/graphics/tikzit/Makefile b/graphics/tikzit/Makefile
index db16bf16d517..d39192316d0d 100644
--- a/graphics/tikzit/Makefile
+++ b/graphics/tikzit/Makefile
@@ -1,7 +1,7 @@
PORTNAME= tikzit
DISTVERSIONPREFIX= v
DISTVERSION= 2.1.6
-PORTREVISION= 30
+PORTREVISION= 31
CATEGORIES= graphics
MAINTAINER= lwhsu@FreeBSD.org
diff --git a/graphics/timg/Makefile b/graphics/timg/Makefile
index f52a84d6f907..418d2f4cb065 100644
--- a/graphics/timg/Makefile
+++ b/graphics/timg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= timg
DISTVERSIONPREFIX= v
-DISTVERSION= 1.6.2
+DISTVERSION= 1.6.3
CATEGORIES= graphics
MAINTAINER= uzsolt@FreeBSD.org
diff --git a/graphics/timg/distinfo b/graphics/timg/distinfo
index e19aa0d616cb..7361f3b89a92 100644
--- a/graphics/timg/distinfo
+++ b/graphics/timg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747384824
-SHA256 (hzeller-timg-v1.6.2_GH0.tar.gz) = a5fb4443f55552d15a8b22b9ca4cb5874eb1a988d3b98fe31d61d19b2c7b9e56
-SIZE (hzeller-timg-v1.6.2_GH0.tar.gz) = 1223894
+TIMESTAMP = 1759112219
+SHA256 (hzeller-timg-v1.6.3_GH0.tar.gz) = 59c908867f18c81106385a43065c232e63236e120d5b2596b179ce56340d7b01
+SIZE (hzeller-timg-v1.6.3_GH0.tar.gz) = 1223853
diff --git a/graphics/tumble/Makefile b/graphics/tumble/Makefile
index a984819dd287..0f9efd74d7eb 100644
--- a/graphics/tumble/Makefile
+++ b/graphics/tumble/Makefile
@@ -1,7 +1,7 @@
PORTNAME= tumble
DISTVERSIONPREFIX= v
DISTVERSION= 0.38
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics print
MAINTAINER= fuz@FreeBSD.org
@@ -11,6 +11,9 @@ WWW= http://tumble.brouhaha.com/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
+DEPRECATED= historical tool, use imagemagick instead
+EXPIRATION_DATE= 2025-12-31
+
LIB_DEPENDS= libtiff.so:graphics/tiff \
libnetpbm.so:graphics/netpbm
diff --git a/graphics/variety/Makefile b/graphics/variety/Makefile
index 2cbf850c2d4d..843c37b1484c 100644
--- a/graphics/variety/Makefile
+++ b/graphics/variety/Makefile
@@ -1,5 +1,6 @@
PORTNAME= variety
PORTVERSION= 0.8.13
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= nivit@FreeBSD.org
diff --git a/graphics/vhs/Makefile b/graphics/vhs/Makefile
index 00b1e894e36f..7d10f2e80ade 100644
--- a/graphics/vhs/Makefile
+++ b/graphics/vhs/Makefile
@@ -1,7 +1,7 @@
PORTNAME= vhs
DISTVERSIONPREFIX= v
DISTVERSION= 0.10.0
-PORTREVISION= 1
+PORTREVISION= 7
CATEGORIES= graphics
MAINTAINER= dtxdf@FreeBSD.org
diff --git a/graphics/vigra/Makefile b/graphics/vigra/Makefile
index 116afd520caf..58da65cd0e92 100644
--- a/graphics/vigra/Makefile
+++ b/graphics/vigra/Makefile
@@ -1,10 +1,9 @@
PORTNAME= vigra
-DISTVERSIONPREFIX=v
-DISTVERSION= 1.12.1
-PORTREVISION= 1
+DISTVERSIONPREFIX= Version-
+DISTVERSION= 1-12-2
CATEGORIES= graphics
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= fuz@FreeBSD.org
COMMENT= VIGRA stands for "Vision with Generic Algorithms"
WWW= https://ukoethe.github.io/vigra/
@@ -17,7 +16,6 @@ LIB_DEPENDS= libImath.so:math/Imath \
USES= cmake compiler:c++14-lang python:run shebangfix
USE_GITHUB= yes
GH_ACCOUNT= ukoethe
-GH_TAGNAME= 8acd73a
USE_LDCONFIG= yes
CFLAGS+= -I${LOCALBASE}/include/Imath
diff --git a/graphics/vigra/distinfo b/graphics/vigra/distinfo
index 695df8f91940..4ec9d2729453 100644
--- a/graphics/vigra/distinfo
+++ b/graphics/vigra/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1725348196
-SHA256 (ukoethe-vigra-v1.12.1-8acd73a_GH0.tar.gz) = 4249dc1e6e2cd65e1bcc7686465d1000a41a8dea5cf89c4eb9d37c57b6970291
-SIZE (ukoethe-vigra-v1.12.1-8acd73a_GH0.tar.gz) = 34211651
+TIMESTAMP = 1759622858
+SHA256 (ukoethe-vigra-Version-1-12-2_GH0.tar.gz) = e927477a8a0bcdabcaab914e425782f7eba82711dbaca02538dfda79476f6b7e
+SIZE (ukoethe-vigra-Version-1-12-2_GH0.tar.gz) = 34206378
diff --git a/graphics/vigra/files/patch-include_vigra_multi__iterator__coupled.hxx b/graphics/vigra/files/patch-include_vigra_multi__iterator__coupled.hxx
deleted file mode 100644
index b9bfe414615d..000000000000
--- a/graphics/vigra/files/patch-include_vigra_multi__iterator__coupled.hxx
+++ /dev/null
@@ -1,11 +0,0 @@
---- include/vigra/multi_iterator_coupled.hxx.orig 2018-10-19 16:12:20 UTC
-+++ include/vigra/multi_iterator_coupled.hxx
-@@ -490,7 +490,7 @@ class CoupledScanOrderIterator<N, HANDLES, 0>
- CoupledScanOrderIterator operator--(int)
- {
- CoupledScanOrderIterator res(*this);
-- --this;
-+ --*this;
- return res;
- }
-
diff --git a/graphics/vigra/pkg-plist b/graphics/vigra/pkg-plist
index f2f593880873..4838f06b476e 100644
--- a/graphics/vigra/pkg-plist
+++ b/graphics/vigra/pkg-plist
@@ -231,7 +231,7 @@ include/vigra/wigner-matrix.hxx
include/vigra/windows.h
lib/libvigraimpex.so
lib/libvigraimpex.so.11
-lib/libvigraimpex.so.11.1.11.1
+lib/libvigraimpex.so.11.1.12.2
lib/vigra/VigraConfig.cmake
lib/vigra/VigraConfigVersion.cmake
lib/vigra/vigra-targets-%%CMAKE_BUILD_TYPE%%.cmake
diff --git a/graphics/vips/Makefile b/graphics/vips/Makefile
index e02bb8413e5a..ced8b41b2446 100644
--- a/graphics/vips/Makefile
+++ b/graphics/vips/Makefile
@@ -1,5 +1,6 @@
PORTNAME= vips
-PORTVERSION= 8.17.1
+PORTVERSION= 8.17.3
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://github.com/libvips/libvips/releases/download/v${PORTVERSION}/
@@ -40,12 +41,6 @@ USE_LDCONFIG= yes
PLIST_SUB= VERSION=${PORTVERSION:R}
-FLAVORS= x11 nox11
-FLAVOR?= ${FLAVORS:[1]}
-nox11_PKGNAMESUFFIX= -nox11
-
-CONFLICTS_INSTALL= vips vips-nox11
-
OPTIONS_DEFINE= CFITSIO DOCS FFTW FONTCONFIG GIF HEIF IMAGEQUANT JPEG JXL LCMS2 LIBARCHIVE LIBEXIF LIBRSVG2 MATIO OPENEXR PANGO PNG POPPLER SPNG TIFF WEBP
OPTIONS_RADIO= MAGICK SIMD
OPTIONS_RADIO_MAGICK= IMAGEMAGICK GRAPHICSMAGICK
@@ -73,7 +68,7 @@ FONTCONFIG_MESON_ENABLED= fontconfig
GIF_BUILD_DEPENDS= cgif>=0.2.0:graphics/cgif
GIF_LIB_DEPENDS= libcgif.so:graphics/cgif
GIF_MESON_ENABLED= cgif
-GRAPHICSMAGICK_LIB_DEPENDS= libGraphicsMagick.so:graphics/GraphicsMagick@${FLAVOR}
+GRAPHICSMAGICK_LIB_DEPENDS= libGraphicsMagick.so:graphics/GraphicsMagick
GRAPHICSMAGICK_MESON_ON=-Dmagick=enabled -Dmagick-package=GraphicsMagick
HEIF_BUILD_DEPENDS= libheif>=1.4.0:graphics/libheif
HEIF_LIB_DEPENDS= libheif.so:graphics/libheif
@@ -82,7 +77,7 @@ HIGHWAY_BUILD_DEPENDS= highway>=1.0.5:devel/highway
HIGHWAY_LIB_DEPENDS= libhwy.so:devel/highway
HIGHWAY_MESON_ENABLED= highway
IMAGEMAGICK_MESON_ON= -Dmagick=enabled -Dmagick-package=MagickCore
-IMAGEMAGICK_USES= magick:${FLAVOR}
+IMAGEMAGICK_USES= magick
IMAGEQUANT_LIB_DEPENDS= libimagequant.so:graphics/libimagequant
IMAGEQUANT_MESON_ENABLED= imagequant
JPEG_BUILD_DEPENDS= openjpeg>=2.4:graphics/openjpeg
diff --git a/graphics/vips/distinfo b/graphics/vips/distinfo
index d3e6483b31e5..f5e605fad00f 100644
--- a/graphics/vips/distinfo
+++ b/graphics/vips/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752266012
-SHA256 (vips-8.17.1.tar.xz) = 4d8c3325922c5300253d7594507a8f1d3caf8eed70dfb66cc7eb2cbed65bb5ca
-SIZE (vips-8.17.1.tar.xz) = 29529248
+TIMESTAMP = 1762586712
+SHA256 (vips-8.17.3.tar.xz) = 41e9a1439cd57dcc6d4435a085e2cfe181d9da1962fa84a484f09e8b536e4b77
+SIZE (vips-8.17.3.tar.xz) = 29526164
diff --git a/graphics/vips/pkg-plist b/graphics/vips/pkg-plist
index 3fd92496605b..08bb8aa303a2 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.1
+lib/libvips-cpp.so.42.19.3
lib/libvips.a
lib/libvips.so
lib/libvips.so.42
-lib/libvips.so.42.19.1
+lib/libvips.so.42.19.3
libdata/pkgconfig/vips-cpp.pc
libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/Combine.png
@@ -133,6 +133,7 @@ libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/class.Foreign.html
%%PORTDOCS%%%%DOCSDIR%%/class.ForeignLoad.html
%%PORTDOCS%%%%DOCSDIR%%/class.ForeignSave.html
+%%PORTDOCS%%%%DOCSDIR%%/class.GInputStream.html
%%PORTDOCS%%%%DOCSDIR%%/class.Image.html
%%PORTDOCS%%%%DOCSDIR%%/class.Interpolate.html
%%PORTDOCS%%%%DOCSDIR%%/class.Object.html
@@ -141,6 +142,7 @@ libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/class.Sbuf.html
%%PORTDOCS%%%%DOCSDIR%%/class.Source.html
%%PORTDOCS%%%%DOCSDIR%%/class.SourceCustom.html
+%%PORTDOCS%%%%DOCSDIR%%/class.SourceGInputStream.html
%%PORTDOCS%%%%DOCSDIR%%/class.Target.html
%%PORTDOCS%%%%DOCSDIR%%/class.TargetCustom.html
%%PORTDOCS%%%%DOCSDIR%%/class.ThreadState.html
@@ -232,6 +234,7 @@ libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/ctor.ArrayInt.newv.html
%%PORTDOCS%%%%DOCSDIR%%/ctor.Blob.new.html
%%PORTDOCS%%%%DOCSDIR%%/ctor.Blob.profile_load.html
+%%PORTDOCS%%%%DOCSDIR%%/ctor.GInputStream.new_from_source.html
%%PORTDOCS%%%%DOCSDIR%%/ctor.Image.analyzeload.html
%%PORTDOCS%%%%DOCSDIR%%/ctor.Image.black.html
%%PORTDOCS%%%%DOCSDIR%%/ctor.Image.csvload.html
@@ -347,6 +350,7 @@ libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/ctor.Source.new_from_options.html
%%PORTDOCS%%%%DOCSDIR%%/ctor.Source.new_from_target.html
%%PORTDOCS%%%%DOCSDIR%%/ctor.SourceCustom.new.html
+%%PORTDOCS%%%%DOCSDIR%%/ctor.SourceGInputStream.new.html
%%PORTDOCS%%%%DOCSDIR%%/ctor.Target.new_temp.html
%%PORTDOCS%%%%DOCSDIR%%/ctor.Target.new_to_descriptor.html
%%PORTDOCS%%%%DOCSDIR%%/ctor.Target.new_to_file.html
@@ -603,7 +607,6 @@ libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/func.format_sizeof.html
%%PORTDOCS%%%%DOCSDIR%%/func.format_sizeof_unsafe.html
%%PORTDOCS%%%%DOCSDIR%%/func.g_error.html
-%%PORTDOCS%%%%DOCSDIR%%/func.g_input_stream_new_from_source.html
%%PORTDOCS%%%%DOCSDIR%%/func.g_thread_new.html
%%PORTDOCS%%%%DOCSDIR%%/func.get_argv0.html
%%PORTDOCS%%%%DOCSDIR%%/func.get_disc_threshold.html
@@ -1315,6 +1318,7 @@ libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/property.ForeignSave.page-height.html
%%PORTDOCS%%%%DOCSDIR%%/property.ForeignSave.profile.html
%%PORTDOCS%%%%DOCSDIR%%/property.ForeignSave.strip.html
+%%PORTDOCS%%%%DOCSDIR%%/property.GInputStream.input.html
%%PORTDOCS%%%%DOCSDIR%%/property.Image.bands.html
%%PORTDOCS%%%%DOCSDIR%%/property.Image.coding.html
%%PORTDOCS%%%%DOCSDIR%%/property.Image.demand.html
@@ -1335,6 +1339,7 @@ libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/property.Object.nickname.html
%%PORTDOCS%%%%DOCSDIR%%/property.Sbuf.input.html
%%PORTDOCS%%%%DOCSDIR%%/property.Source.blob.html
+%%PORTDOCS%%%%DOCSDIR%%/property.SourceGInputStream.stream.html
%%PORTDOCS%%%%DOCSDIR%%/property.Target.blob.html
%%PORTDOCS%%%%DOCSDIR%%/property.Target.memory.html
%%PORTDOCS%%%%DOCSDIR%%/search.js
@@ -1368,15 +1373,11 @@ libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/struct.Blob.html
%%PORTDOCS%%%%DOCSDIR%%/struct.Buf.html
%%PORTDOCS%%%%DOCSDIR%%/struct.Dbuf.html
-%%PORTDOCS%%%%DOCSDIR%%/struct.GInputStream.html
-%%PORTDOCS%%%%DOCSDIR%%/struct.GInputStreamClass.html
%%PORTDOCS%%%%DOCSDIR%%/struct.Progress.html
%%PORTDOCS%%%%DOCSDIR%%/struct.Rect.html
%%PORTDOCS%%%%DOCSDIR%%/struct.RefString.html
%%PORTDOCS%%%%DOCSDIR%%/struct.SaveString.html
%%PORTDOCS%%%%DOCSDIR%%/struct.Semaphore.html
-%%PORTDOCS%%%%DOCSDIR%%/struct.SourceGInputStream.html
-%%PORTDOCS%%%%DOCSDIR%%/struct.SourceGInputStreamClass.html
%%PORTDOCS%%%%DOCSDIR%%/style.css
%%PORTDOCS%%%%DOCSDIR%%/tn_owl.jpg
%%PORTDOCS%%%%DOCSDIR%%/type_func.Area.free_cb.html
@@ -1421,7 +1422,6 @@ libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/type_func.Object.summary_class.html
%%PORTDOCS%%%%DOCSDIR%%/type_func.Operation.block_set.html
%%PORTDOCS%%%%DOCSDIR%%/type_func.Progress.set.html
-%%PORTDOCS%%%%DOCSDIR%%/type_func.Source.g_input_stream_new.html
%%PORTDOCS%%%%DOCSDIR%%/type_func.ThreadState.set.html
%%PORTDOCS%%%%DOCSDIR%%/urlmap.js
%%PORTDOCS%%%%DOCSDIR%%/using-from-c.html
@@ -1475,5 +1475,4 @@ share/locale/en_GB/LC_MESSAGES/vips%%VERSION%%.mo
share/man/man1/vips.1.gz
share/man/man1/vipsedit.1.gz
share/man/man1/vipsheader.1.gz
-share/man/man1/vipsprofile.1.gz
share/man/man1/vipsthumbnail.1.gz
diff --git a/graphics/viu/Makefile b/graphics/viu/Makefile
index 13f5e3a5acb3..3699e6d8e28f 100644
--- a/graphics/viu/Makefile
+++ b/graphics/viu/Makefile
@@ -1,7 +1,7 @@
PORTNAME= viu
DISTVERSIONPREFIX= v
DISTVERSION= 1.5.1
-PORTREVISION= 5
+PORTREVISION= 8
CATEGORIES= graphics
MAINTAINER= lcook@FreeBSD.org
diff --git a/graphics/vulkan-extension-layer/Makefile b/graphics/vulkan-extension-layer/Makefile
index 550377be5c3c..dbbbe4a7b1d2 100644
--- a/graphics/vulkan-extension-layer/Makefile
+++ b/graphics/vulkan-extension-layer/Makefile
@@ -1,13 +1,20 @@
PORTNAME= vulkan-extension-layer
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.321
+DISTVERSION= 1.4.326
CATEGORIES= graphics
MAINTAINER= atanubiswas484@gmail.com
COMMENT= Layer providing Vulkan features when native support is unavailable
WWW= https://github.com/KhronosGroup/Vulkan-ExtensionLayer
-LICENSE= APACHE20
+LICENSE= APACHE20 CC-BY-4.0 LLVM-exception MIT
+LICENSE_COMB= multi
+LICENSE_NAME_LLVM-exception= LLVM Exceptions to the Apache 2.0 License
+LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSES/Apache-2.0.txt
+LICENSE_FILE_CC-BY-4.0= ${WRKSRC}/LICENSES/CC-BY-4.0.txt
+LICENSE_FILE_LLVM-exception= ${WRKSRC}/LICENSES/LLVM-exception.txt
+LICENSE_FILE_MIT= ${WRKSRC}/LICENSES/MIT.txt
+LICENSE_PERMS_LLVM-exception= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers \
vulkan-utility-libraries>0:graphics/vulkan-utility-libraries
diff --git a/graphics/vulkan-extension-layer/distinfo b/graphics/vulkan-extension-layer/distinfo
index f6e0eb758543..3e5ed75fde95 100644
--- a/graphics/vulkan-extension-layer/distinfo
+++ b/graphics/vulkan-extension-layer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752189602
-SHA256 (KhronosGroup-Vulkan-ExtensionLayer-v1.4.321_GH0.tar.gz) = 177a356162cfcf47c50cc0f0dcd51630196f171f21d6cefe3fb8b5d514f60d49
-SIZE (KhronosGroup-Vulkan-ExtensionLayer-v1.4.321_GH0.tar.gz) = 790149
+TIMESTAMP = 1758784141
+SHA256 (KhronosGroup-Vulkan-ExtensionLayer-v1.4.326_GH0.tar.gz) = 07d662be021cd69ab43d1d6529858fbacf53af74fd982044730c03410643e924
+SIZE (KhronosGroup-Vulkan-ExtensionLayer-v1.4.326_GH0.tar.gz) = 790310
diff --git a/graphics/vulkan-headers/Makefile b/graphics/vulkan-headers/Makefile
index bfc613c19d27..15ce9322ad91 100644
--- a/graphics/vulkan-headers/Makefile
+++ b/graphics/vulkan-headers/Makefile
@@ -1,13 +1,16 @@
PORTNAME= vulkan-headers
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.322
+DISTVERSION= 1.4.327
CATEGORIES= graphics
MAINTAINER= atanubiswas484@gmail.com
COMMENT= Headers for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-Headers
-LICENSE= APACHE20
+LICENSE= APACHE20 MIT
+LICENSE_COMB= multi
+LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSES/Apache-2.0.txt
+LICENSE_FILE_MIT= ${WRKSRC}/LICENSES/MIT.txt
USES= cmake
USE_GITHUB= yes
diff --git a/graphics/vulkan-headers/distinfo b/graphics/vulkan-headers/distinfo
index c39e531e65b0..68e53dec2166 100644
--- a/graphics/vulkan-headers/distinfo
+++ b/graphics/vulkan-headers/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752318911
-SHA256 (KhronosGroup-Vulkan-Headers-v1.4.322_GH0.tar.gz) = c5ec1d0e1baf9c2ca4eb581e5ba31ad4ef83cdab1f6c959e459b97b92739f92d
-SIZE (KhronosGroup-Vulkan-Headers-v1.4.322_GH0.tar.gz) = 2740918
+TIMESTAMP = 1758779144
+SHA256 (KhronosGroup-Vulkan-Headers-v1.4.327_GH0.tar.gz) = 208c67277f810d3220c7b1107ff3b9f9a9f966f2a98404fd69d9a8f3a2b9e284
+SIZE (KhronosGroup-Vulkan-Headers-v1.4.327_GH0.tar.gz) = 2758804
diff --git a/graphics/vulkan-headers/pkg-plist b/graphics/vulkan-headers/pkg-plist
index 81a25c54c535..179c6b171a0a 100644
--- a/graphics/vulkan-headers/pkg-plist
+++ b/graphics/vulkan-headers/pkg-plist
@@ -13,7 +13,6 @@ include/vk_video/vulkan_video_codecs_common.h
include/vulkan/vk_icd.h
include/vulkan/vk_layer.h
include/vulkan/vk_platform.h
-include/vulkan/vulkan.cppm
include/vulkan/vulkan.h
include/vulkan/vulkan.hpp
include/vulkan/vulkan_android.h
@@ -40,7 +39,6 @@ include/vulkan/vulkan_static_assertions.hpp
include/vulkan/vulkan_structs.hpp
include/vulkan/vulkan_to_string.hpp
include/vulkan/vulkan_vi.h
-include/vulkan/vulkan_video.cppm
include/vulkan/vulkan_video.hpp
include/vulkan/vulkan_wayland.h
include/vulkan/vulkan_win32.h
diff --git a/graphics/vulkan-loader/Makefile b/graphics/vulkan-loader/Makefile
index bc6c18fb3314..b223882a6261 100644
--- a/graphics/vulkan-loader/Makefile
+++ b/graphics/vulkan-loader/Makefile
@@ -1,6 +1,6 @@
PORTNAME= vulkan-loader
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.321
+DISTVERSION= 1.4.327
CATEGORIES= graphics devel
MAINTAINER= atanubiswas484@gmail.com
@@ -8,6 +8,7 @@ COMMENT= Driver loader for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-Loader
LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers
diff --git a/graphics/vulkan-loader/distinfo b/graphics/vulkan-loader/distinfo
index ace3f1a21f95..286305df904d 100644
--- a/graphics/vulkan-loader/distinfo
+++ b/graphics/vulkan-loader/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752188907
-SHA256 (KhronosGroup-Vulkan-Loader-v1.4.321_GH0.tar.gz) = 00669f6bb2db35c8df07f0b118c09bfe0ebffecaad7d80647a429eece0e37ac3
-SIZE (KhronosGroup-Vulkan-Loader-v1.4.321_GH0.tar.gz) = 1762478
+TIMESTAMP = 1758780347
+SHA256 (KhronosGroup-Vulkan-Loader-v1.4.327_GH0.tar.gz) = 611c4d60f70e5bd7a325384a1fa6d4df4d80961d6938232a3f70337b76e8f8f5
+SIZE (KhronosGroup-Vulkan-Loader-v1.4.327_GH0.tar.gz) = 1767043
diff --git a/graphics/vulkan-tools/Makefile b/graphics/vulkan-tools/Makefile
index 97a64bd4de20..fe0ba5bcc697 100644
--- a/graphics/vulkan-tools/Makefile
+++ b/graphics/vulkan-tools/Makefile
@@ -1,6 +1,6 @@
PORTNAME= vulkan-tools
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.321
+DISTVERSION= 1.4.327
CATEGORIES= graphics
MAINTAINER= atanubiswas484@gmail.com
@@ -8,6 +8,7 @@ COMMENT= Tools and demos for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-Tools
LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= glslangValidator:graphics/glslang \
vulkan-headers>0:graphics/vulkan-headers
diff --git a/graphics/vulkan-tools/distinfo b/graphics/vulkan-tools/distinfo
index dc7c7bd4ba44..0fe7780ec426 100644
--- a/graphics/vulkan-tools/distinfo
+++ b/graphics/vulkan-tools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752190908
-SHA256 (KhronosGroup-Vulkan-Tools-v1.4.321_GH0.tar.gz) = f5f75413d21d1508b746a3d0594961d64c7155ee5f4f28245b9547c1b4697d8d
-SIZE (KhronosGroup-Vulkan-Tools-v1.4.321_GH0.tar.gz) = 807369
+TIMESTAMP = 1758781700
+SHA256 (KhronosGroup-Vulkan-Tools-v1.4.327_GH0.tar.gz) = af15c1bbddd84eaadc4df4d420490814dcca916e7c799b2ea7e94ea3b16c4c4b
+SIZE (KhronosGroup-Vulkan-Tools-v1.4.327_GH0.tar.gz) = 797726
diff --git a/graphics/vulkan-utility-libraries/Makefile b/graphics/vulkan-utility-libraries/Makefile
index 69026e4899f9..025041a83e2c 100644
--- a/graphics/vulkan-utility-libraries/Makefile
+++ b/graphics/vulkan-utility-libraries/Makefile
@@ -1,6 +1,6 @@
PORTNAME= vulkan-utility-libraries
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.321
+DISTVERSION= 1.4.327
CATEGORIES= graphics
MAINTAINER= atanubiswas484@gmail.com
@@ -8,6 +8,7 @@ COMMENT= Utility libraries for Vulkan developers
WWW= https://github.com/KhronosGroup/Vulkan-Utility-Libraries
LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSES/Apache-2.0.txt
BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers
diff --git a/graphics/vulkan-utility-libraries/distinfo b/graphics/vulkan-utility-libraries/distinfo
index 9ee941230cd8..d8bad99c0667 100644
--- a/graphics/vulkan-utility-libraries/distinfo
+++ b/graphics/vulkan-utility-libraries/distinfo
@@ -1,3 +1,3 @@
-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
+TIMESTAMP = 1758783235
+SHA256 (KhronosGroup-Vulkan-Utility-Libraries-v1.4.327_GH0.tar.gz) = 35a03988216552a48cd489bd5797ab1ace254d3ce08f64da9e9ca1e7fa3a7ceb
+SIZE (KhronosGroup-Vulkan-Utility-Libraries-v1.4.327_GH0.tar.gz) = 1239828
diff --git a/graphics/vulkan-validation-layers/Makefile b/graphics/vulkan-validation-layers/Makefile
index 42054403f4e8..d38163921c43 100644
--- a/graphics/vulkan-validation-layers/Makefile
+++ b/graphics/vulkan-validation-layers/Makefile
@@ -1,13 +1,15 @@
PORTNAME= vulkan-validation-layers
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.321
+DISTVERSION= 1.4.327
+PORTREVISION= 1
CATEGORIES= graphics
-MAINTAINER= atanubis484@gmail.com
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Validation layers for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-ValidationLayers
LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= robin-hood-hashing>0:devel/robin-hood-hashing \
spirv-tools>0:graphics/spirv-tools \
@@ -18,7 +20,10 @@ 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-430-g2a611a9:headers/SPIRV-Headers
+# for GH_TAGNAME in GH_TUPLE
+# git clone --quiet https://github.com/KhronosGroup/SPIRV-Headers.git && git -C SPIRV-Headers describe <COMMIT_HASH>
+# for COMMIT_HASH see ${WRKSRC}/scripts/known_good.json
+GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-444-g402d0b3:headers/SPIRV-Headers
CMAKE_OFF= BUILD_TESTS
PLIST_FILES= lib/libVkLayer_khronos_validation.so \
diff --git a/graphics/vulkan-validation-layers/distinfo b/graphics/vulkan-validation-layers/distinfo
index 106014142470..898e2f0a9c84 100644
--- a/graphics/vulkan-validation-layers/distinfo
+++ b/graphics/vulkan-validation-layers/distinfo
@@ -1,5 +1,5 @@
-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
+TIMESTAMP = 1758785799
+SHA256 (KhronosGroup-Vulkan-ValidationLayers-v1.4.327_GH0.tar.gz) = 67fa72fdc67f37d21ace6c4cc6f86dc0653bd7cfc1c634f84db003d9354835ca
+SIZE (KhronosGroup-Vulkan-ValidationLayers-v1.4.327_GH0.tar.gz) = 6730055
+SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-444-g402d0b3_GH0.tar.gz) = ef71abae5284314df23450152f6cc274209d3389efcf34038fc382c1134e06e2
+SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-444-g402d0b3_GH0.tar.gz) = 545828
diff --git a/graphics/vv/Makefile b/graphics/vv/Makefile
index f238b61ff4ed..949a0af9f166 100644
--- a/graphics/vv/Makefile
+++ b/graphics/vv/Makefile
@@ -1,8 +1,7 @@
PORTNAME= vv
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.0-383
-DISTVERSIONSUFFIX= -g7a783a8b
-PORTREVISION= 8
+DISTVERSION= 1.4.0-406
+DISTVERSIONSUFFIX= -gd33ac3e8
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -18,15 +17,16 @@ LIB_DEPENDS= libexpat.so:textproc/expat2 \
libgdcmCommon.so:devel/gdcm \
libhdf5_cpp.so:science/hdf5 \
libITKLabelMap-5.0.so:science/InsightToolkit501 \
- libpng.so:graphics/png \
- libsz.so:science/libaec \
+ libmpi.so:net/mpich \
+ libnetcdf.so:science/netcdf \
+ libpng16.so:graphics/png \
libtiff.so:graphics/tiff \
- libvtkIOSQL-8.2.so:math/vtk8
+ libvtkIOSQL-${VTK_VER}.so:math/vtk9
-USES= cmake compiler:c++11-lang eigen:3 jpeg qt:5 xorg
+USES= cmake compiler:c++11-lang eigen:3 jpeg python:build,run qt:5 xorg
USE_GITHUB= yes
GH_ACCOUNT= open-vv
-USE_QT= core designer gui network sql widgets xml buildtools:build qmake:build
+USE_QT= core designer gui network opengl declarative sql widgets xml buildtools:build qmake:build
USE_XORG= ice sm x11 xext xt
USE_CXXSTD= c++11
@@ -40,7 +40,31 @@ PLIST_FILES= bin/vv
CXXFLAGS+= -msse2 # workaround for ITK failing to add -msse2 on i386: https://github.com/open-vv/vv/issues/83 & https://github.com/InsightSoftwareConsortium/ITK/issues/2011
.endif
+post-patch:
+ @${REINPLACE_CMD} -e 's/VTK_OVERRIDE/override/g' \
+ ${WRKSRC}/vv/vtkVOXImageWriter.h \
+ ${WRKSRC}/vv/vvAnimatedGIFWriter.h \
+ ${WRKSRC}/vv/vvBlendImageActor.h \
+ ${WRKSRC}/vv/vvClipPolyData.h \
+ ${WRKSRC}/vv/vvGlyph2D.h \
+ ${WRKSRC}/vv/vvGlyphSource.h \
+ ${WRKSRC}/vv/vvInteractorStyleNavigator.h \
+ ${WRKSRC}/vv/vvLandmarksGlyph.h \
+ ${WRKSRC}/vv/vvSlicer.h
+ @${REINPLACE_CMD} -e 's/Widget()->GetRenderWindow()/Widget()->renderWindow()/g' \
+ ${WRKSRC}/vv/vvToolHistogramCommand.cxx
+ @${REINPLACE_CMD} -e 's/Widget->GetRenderWindow()/Widget->renderWindow()/g' \
+ ${WRKSRC}/vv/vvMainWindow.cxx \
+ ${WRKSRC}/vv/vvSegmentationDialog.cxx \
+ ${WRKSRC}/vv/vvSurfaceViewerDialog.cxx \
+ ${WRKSRC}/vv/vvToolHistogram.cxx \
+ ${WRKSRC}/vv/vvToolProfile.cxx
+ @${REINPLACE_CMD} -e 's/widget->GetRenderWindow()/widget->renderWindow()/g' \
+ ${WRKSRC}/vv/vvMainWindow.cxx
+
post-configure: # workaround for "error: unable to find library -lGTest::GTest", see https://github.com/open-vv/vv/issues/74
@${REINPLACE_CMD} -E 's/ -lGTest::(GTest|Main) / /g' ${BUILD_WRKSRC}/build.ninja
+ @${REINPLACE_CMD} -E 's|/usr/local/lib/libtiff\.so\.[0-9]+\.[0-9]+\.[0-9]+|/usr/local/lib/libtiff.so|g' ${BUILD_WRKSRC}/build.ninja
+.include <../../math/vtk9/Makefile.version>
.include <bsd.port.post.mk>
diff --git a/graphics/vv/distinfo b/graphics/vv/distinfo
index a7748e6e693c..5f0f729f98bf 100644
--- a/graphics/vv/distinfo
+++ b/graphics/vv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1600492328
-SHA256 (open-vv-vv-v1.4.0-383-g7a783a8b_GH0.tar.gz) = dfa80f7036297e859bf5c6b18b2b187fc05dc50a17f0b074d909e96fa8c2acbb
-SIZE (open-vv-vv-v1.4.0-383-g7a783a8b_GH0.tar.gz) = 4860982
+TIMESTAMP = 1760419528
+SHA256 (open-vv-vv-v1.4.0-406-gd33ac3e8_GH0.tar.gz) = 7f3e10a3a1391ccebd56d685316303b2fbf7f0112417d8caadb4562644cebf06
+SIZE (open-vv-vv-v1.4.0-406-gd33ac3e8_GH0.tar.gz) = 8248327
diff --git a/graphics/vv/files/patch-common_clitkCommon.txx b/graphics/vv/files/patch-common_clitkCommon.txx
new file mode 100644
index 000000000000..8f800d137543
--- /dev/null
+++ b/graphics/vv/files/patch-common_clitkCommon.txx
@@ -0,0 +1,25 @@
+Remove deprecated std::binary_function base class.
+
+C++17 removed std::binary_function which was deprecated in C++11.
+Replace with plain structs that define operator().
+
+--- common/clitkCommon.txx.orig 2025-04-17 12:54:38 UTC
++++ common/clitkCommon.txx
+@@ -135,7 +135,7 @@ template<class Type>
+
+ //--------------------------------------------------------------------
+ template<class Type>
+-struct vectorComparisonLowerThan: public std::binary_function<int, int, bool> {
++struct vectorComparisonLowerThan {
+ vectorComparisonLowerThan(const std::vector<Type> & v):vect(v) {};
+ bool operator()(int x, int y) {
+ return (vect[x] < vect[y]);
+@@ -146,7 +146,7 @@ template<class Type>
+
+ //--------------------------------------------------------------------
+ template<class Type>
+-struct vectorComparisonGreaterThan: public std::binary_function<int, int, bool> {
++struct vectorComparisonGreaterThan {
+ vectorComparisonGreaterThan(const std::vector<Type> & v):vect(v) {};
+ bool operator()(int x, int y) {
+ return (vect[x] > vect[y]);
diff --git a/graphics/vv/files/patch-common_clitkXdrImageIOWriter.cxx b/graphics/vv/files/patch-common_clitkXdrImageIOWriter.cxx
new file mode 100644
index 000000000000..0a7eef8e114b
--- /dev/null
+++ b/graphics/vv/files/patch-common_clitkXdrImageIOWriter.cxx
@@ -0,0 +1,15 @@
+Remove register storage class specifier.
+
+C++17 removed the 'register' keyword which was deprecated in C++11.
+
+--- common/clitkXdrImageIOWriter.cxx.orig 2025-04-17 12:54:38 UTC
++++ common/clitkXdrImageIOWriter.cxx
+@@ -464,7 +464,7 @@ static size_t nki_private_compress(signed char *dest,
+ unsigned long iCRC;
+ unsigned long iCRC2;
+ unsigned int iHeaderSize=8; // value for iMode==1 and iMode==3
+- register int val;
++ int val;
+ size_t i,j;
+ NKI_MODE2* pHeader = (NKI_MODE2*)dest;
+ NKI_MODE2_64BITS* pHeader_64bits = (NKI_MODE2_64BITS*)dest;
diff --git a/graphics/vv/files/patch-common_rtkEdfImageIO.h b/graphics/vv/files/patch-common_rtkEdfImageIO.h
new file mode 100644
index 000000000000..f79dd805a41f
--- /dev/null
+++ b/graphics/vv/files/patch-common_rtkEdfImageIO.h
@@ -0,0 +1,15 @@
+Update ITK enum name for ITK 5.0 compatibility.
+
+ITK 5.0 renamed IOByteOrderEnum to ByteOrder.
+
+--- common/rtkEdfImageIO.h.orig 2025-04-17 12:54:38 UTC
++++ common/rtkEdfImageIO.h
+@@ -100,7 +100,7 @@ class EdfImageIO : public itk::ImageIOBase (protected)
+ // table key-value structure
+ struct table {
+ const char *key;
+- itk::ImageIOBase::IOByteOrderEnum value;
++ itk::ImageIOBase::ByteOrder value;
+ };
+
+ struct table3 {
diff --git a/graphics/vv/files/patch-itk_RelativePositionPropImageFilter.txx b/graphics/vv/files/patch-itk_RelativePositionPropImageFilter.txx
new file mode 100644
index 000000000000..f6d963c9eada
--- /dev/null
+++ b/graphics/vv/files/patch-itk_RelativePositionPropImageFilter.txx
@@ -0,0 +1,30 @@
+Remove register storage class specifier.
+
+C++17 removed the 'register' keyword which was deprecated in C++11.
+
+--- itk/RelativePositionPropImageFilter.txx.orig 2025-04-17 12:54:38 UTC
++++ itk/RelativePositionPropImageFilter.txx
+@@ -365,12 +365,12 @@ namespace itk
+
+ typename TabulationImageType::IndexType start;
+
+- for(register int i=0;i<ImageDimension;i++)
++ for(int i=0;i<ImageDimension;i++)
+ start[i]=0;
+
+ typename TabulationImageType::SizeType size = this->GetInput()->GetLargestPossibleRegion().GetSize();
+
+- for(register int i=0;i<ImageDimension;i++)
++ for(int i=0;i<ImageDimension;i++)
+ size[i]*=2;
+
+ typename TabulationImageType::RegionType region;
+@@ -390,7 +390,7 @@ namespace itk
+ m_AngleTabulation->GetRequestedRegion().GetIndex();
+
+ typename TabulationImageType::SizeType center = this->GetInput()->GetLargestPossibleRegion().GetSize();
+- for(register int i=0;i<ImageDimension;i++)
++ for(int i=0;i<ImageDimension;i++)
+ center[i]-=1;
+
+ VectorType vecttemp;
diff --git a/graphics/vv/files/patch-vv_vv.cxx b/graphics/vv/files/patch-vv_vv.cxx
index b3517f001de0..1167955d887f 100644
--- a/graphics/vv/files/patch-vv_vv.cxx
+++ b/graphics/vv/files/patch-vv_vv.cxx
@@ -1,11 +1,36 @@
---- vv/vv.cxx.orig 2020-09-19 05:31:12 UTC
+Update for VTK 9 and fix platform-specific code.
+
+- Replace QVTKOpenGLWidget with QVTKOpenGLNativeWidget (VTK 9 API change)
+- Wrap Windows-specific #pragma in #ifdef _WIN32 to prevent linking errors
+ on non-Windows platforms
+
+--- vv/vv.cxx.orig 2025-04-17 12:54:38 UTC
+++ vv/vv.cxx
-@@ -53,7 +53,7 @@
+@@ -43,7 +43,7 @@
+ #include "vvToolsList.h"
+ #include "vvConfiguration.h"
+ #if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 2) || VTK_MAJOR_VERSION >= 9
+-#include <QVTKOpenGLWidget.h>
++#include <QVTKOpenGLNativeWidget.h>
+ #endif
+
+ #include <vtkFileOutputWindow.h>
+@@ -56,7 +56,9 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
--#pragma comment(lib, "ws2_32.lib")
-+//#pragma comment(lib, "ws2_32.lib")
++#ifdef _WIN32
+ #pragma comment(lib, "ws2_32.lib")
++#endif
typedef enum {O_BASE,O_OVERLAY,O_FUSION,O_VF,O_CONTOUR,O_LANDMARKS} OpenModeType;
typedef enum {P_NORMAL,P_SEQUENCE,P_WINDOW,P_LEVEL} ParseModeType;
+@@ -119,7 +121,7 @@ int main( int argc, char** argv )
+ #endif
+
+ #if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 2) || VTK_MAJOR_VERSION >= 9
+- QSurfaceFormat::setDefaultFormat(QVTKOpenGLWidget::defaultFormat());
++ QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());
+ #endif
+ CLITK_INIT;
+
diff --git a/graphics/vv/files/patch-vv_vvBlendImageActor.cxx b/graphics/vv/files/patch-vv_vvBlendImageActor.cxx
new file mode 100644
index 000000000000..0f2bd047929a
--- /dev/null
+++ b/graphics/vv/files/patch-vv_vvBlendImageActor.cxx
@@ -0,0 +1,56 @@
+Update OpenGL and VTK headers for VTK 9 compatibility.
+
+VTK 9 removed several deprecated headers and changed OpenGL handling:
+- Removed vtk_glew.h and vtkOpenGL.h (no longer needed)
+- Added vtkOpenGLState.h and vtk_glad.h for modern OpenGL
+- Replaced vtkgl::BlendEquationEXT with standard glBlendEquation
+ (OpenGL 3.2+ has blend equations built-in, no extensions needed)
+
+--- vv/vvBlendImageActor.cxx.orig 2025-04-17 12:54:38 UTC
++++ vv/vvBlendImageActor.cxx
+@@ -3,7 +3,7 @@ - University of LYON http://www.universit
+
+ Authors belong to:
+ - University of LYON http://www.universite-lyon.fr/
+-- Léon Bérard cancer center http://www.centreleonberard.fr
++- L�on B�rard cancer center http://www.centreleonberard.fr
+ - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+@@ -17,11 +17,11 @@ - CeCILL-B http://www.cecill.info/licences/Licence_C
+ ===========================================================================**/
+
+ #include "vvBlendImageActor.h"
+-#include <vtk_glew.h>
+ #include <vtkOpenGLRenderWindow.h>
+ #include <vtkOpenGLRenderer.h>
+-#include <vtkOpenGL.h>
+ #include <vtkObjectFactory.h>
++#include <vtkOpenGLState.h>
++#include <vtk_glad.h>
+
+ vtkStandardNewMacro(vvBlendImageActor);
+
+@@ -45,19 +45,14 @@ void vvBlendImageActor::Render(vtkRenderer *ren)
+ VTK_IMAGE_ACTOR::Render(ren);
+
+ #else
+- vtkOpenGLExtensionManager *extensions = renwin->GetExtensionManager();
+- if (extensions->ExtensionSupported("GL_EXT_blend_minmax")) {
+- extensions->LoadExtension("GL_EXT_blend_minmax");
+- vtkgl::BlendEquationEXT( vtkgl::MAX );
+- }
++ // VTK 9 uses OpenGL 3.2+ which has blend equations built-in
++ glBlendEquation(GL_MAX);
+
+ //Call normal render
+ VTK_IMAGE_ACTOR::Render(ren);
+
+ //Move back blending to weighted sum
+- if (vtkgl::BlendEquationEXT!=0) {
+- vtkgl::BlendEquationEXT( vtkgl::FUNC_ADD );
+- }
++ glBlendEquation(GL_FUNC_ADD);
+ #endif
+ }
+
diff --git a/graphics/vv/files/patch-vv_vvSlicer.cxx b/graphics/vv/files/patch-vv_vvSlicer.cxx
new file mode 100644
index 000000000000..7612f66f5b5e
--- /dev/null
+++ b/graphics/vv/files/patch-vv_vvSlicer.cxx
@@ -0,0 +1,25 @@
+Update for VTK 9 compatibility.
+
+- Remove deprecated vtkToolkits.h header (no longer exists in VTK 9)
+- Convert vtkStdString to const char* when calling SetCaption()
+ (VTK 9 changed API to require explicit conversion)
+
+--- vv/vvSlicer.cxx.orig 2025-04-17 12:54:38 UTC
++++ vv/vvSlicer.cxx
+@@ -44,7 +44,6 @@
+ #include <vtkImageData.h>
+ #include <vtkImageActor.h>
+ #include <vvBlendImageActor.h>
+-#include <vtkToolkits.h>
+ #include <vtkObjectFactory.h>
+ #include <vtkPointData.h>
+ #include <vtkDataArray.h>
+@@ -1877,7 +1876,7 @@ void vvSlicer::DisplayLandmarks()
+ double *position = mLandClipper->GetOutput()->GetPoint(id);
+ vtkStdString label = static_cast<vtkStringArray*>(mLandClipper->GetOutput()->GetPointData()->GetAbstractArray("labels"))->GetValue(id);
+ vtkSmartPointer<vtkCaptionActor2D> label_actor = vtkSmartPointer<vtkCaptionActor2D>::New();
+- label_actor->SetCaption(label);
++ label_actor->SetCaption(label.c_str());
+ label_actor->SetAttachmentPoint(position);
+ label_actor->GetCaptionTextProperty()->SetColor(1,0,0);
+ label_actor->GetCaptionTextProperty()->SetOrientation(33.333333);
diff --git a/graphics/waifu2x-ncnn-vulkan/Makefile b/graphics/waifu2x-ncnn-vulkan/Makefile
index 092c29497efe..a040ad0fe041 100644
--- a/graphics/waifu2x-ncnn-vulkan/Makefile
+++ b/graphics/waifu2x-ncnn-vulkan/Makefile
@@ -1,5 +1,5 @@
PORTNAME= waifu2x-ncnn-vulkan
-DISTVERSION= 20250504
+DISTVERSION= 20250915
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-129-gc4193aad: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..4cbf6702a9bd 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 = 1757934860
+SHA256 (nihui-waifu2x-ncnn-vulkan-20250915_GH0.tar.gz) = c0f7cffb00243867fb9a6f8104e5f6722b3558cd7e3bae7155ff437c90371e78
+SIZE (nihui-waifu2x-ncnn-vulkan-20250915_GH0.tar.gz) = 33992966
+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-129-gc4193aad_GH0.tar.gz) = 1846cb21777a60a3ef9ba3a0b46b0490c78dae619a8d64354da8472d3ec37a96
+SIZE (Tencent-ncnn-20250503-129-gc4193aad_GH0.tar.gz) = 13164450
diff --git a/graphics/wallhaven-cli/Makefile b/graphics/wallhaven-cli/Makefile
index dd751a8d50bc..e245797c5d91 100644
--- a/graphics/wallhaven-cli/Makefile
+++ b/graphics/wallhaven-cli/Makefile
@@ -1,7 +1,7 @@
PORTNAME= wallhaven-cli
DISTVERSIONPREFIX= v
DISTVERSION= 2.0.5
-PORTREVISION= 5
+PORTREVISION= 7
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= chafa:graphics/chafa \
fzf:textproc/fzf
-USES= go:1.23,modules
+USES= go:modules
GO_MODULE= github.com/r3tr0ananas/wallhaven-cli/v2
GO_TARGET= ./wallhaven
diff --git a/graphics/wallust/Makefile b/graphics/wallust/Makefile
new file mode 100644
index 000000000000..5fd0da54cbc3
--- /dev/null
+++ b/graphics/wallust/Makefile
@@ -0,0 +1,56 @@
+PORTNAME= wallust
+DISTVERSION= 3.4.0
+PORTREVISION= 2
+CATEGORIES= graphics
+MASTER_SITES= https://codeberg.org/explosion-mental/${PORTNAME}/archive/${DISTVERSION}${EXTRACT_SUFX}?dummy=/
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Generate colors from an image
+WWW= https://explosion-mental.codeberg.page/wallust/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cargo
+
+WRKSRC= ${WRKDIR}/${PORTNAME}
+
+MAN1PAGES= ${PORTNAME}-cs.1 \
+ ${PORTNAME}-run.1 \
+ ${PORTNAME}-theme.1 \
+ ${PORTNAME}.1
+MAN5PAGES= ${PORTNAME}.5
+PORTEXAMPLES= ${PORTNAME}.toml
+
+OPTIONS_DEFINE= COMPLETIONS EXAMPLES MANPAGES
+OPTIONS_DEFAULT= COMPLETIONS MANPAGES
+OPTIONS_SUB= yes
+
+COMPLETIONS_DESC= Build and/or install shell completions
+
+post-install-COMPLETIONS-on:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d \
+ ${STAGEDIR}${PREFIX}/share/fish/completions \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions
+ ${INSTALL_DATA} ${WRKSRC}/completions/${PORTNAME}.bash \
+ ${STAGEDIR}${PREFIX}/etc/bash_completion.d/${PORTNAME}
+ ${INSTALL_DATA} ${WRKSRC}/completions/${PORTNAME}.fish \
+ ${STAGEDIR}${PREFIX}/share/fish/completions/${PORTNAME}.fish
+ ${INSTALL_DATA} ${WRKSRC}/completions/_${PORTNAME} \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/_${PORTNAME}
+
+post-install-EXAMPLES-on:
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${PORTEXAMPLES:S|^|${WRKSRC}/|} \
+ ${STAGEDIR}${EXAMPLESDIR}
+
+post-install-MANPAGES-on:
+.for man in ${MAN1PAGES}
+ ${INSTALL_MAN} ${WRKSRC}/man/${man} ${STAGEDIR}${PREFIX}/share/man/man1
+.endfor
+.for man in ${MAN5PAGES}
+ ${INSTALL_MAN} ${WRKSRC}/man/${man} ${STAGEDIR}${PREFIX}/share/man/man5
+.endfor
+
+.include <bsd.port.mk>
diff --git a/graphics/wallust/Makefile.crates b/graphics/wallust/Makefile.crates
new file mode 100644
index 000000000000..f7da63e8f3ce
--- /dev/null
+++ b/graphics/wallust/Makefile.crates
@@ -0,0 +1,301 @@
+CARGO_CRATES= adler2-2.0.1 \
+ aho-corasick-1.1.3 \
+ aligned-vec-0.6.4 \
+ anes-0.1.6 \
+ anstream-0.6.19 \
+ anstyle-1.0.11 \
+ anstyle-parse-0.2.7 \
+ anstyle-query-1.1.3 \
+ anstyle-wincon-3.0.9 \
+ anyhow-1.0.98 \
+ approx-0.5.1 \
+ arbitrary-1.4.1 \
+ arg_enum_proc_macro-0.3.4 \
+ arrayvec-0.7.6 \
+ autocfg-1.5.0 \
+ av1-grain-0.2.4 \
+ avif-serialize-0.8.5 \
+ bit_field-0.10.2 \
+ bitflags-1.3.2 \
+ bitflags-2.9.1 \
+ bitstream-io-2.6.0 \
+ built-0.7.7 \
+ bumpalo-3.19.0 \
+ by_address-1.2.1 \
+ bytemuck-1.23.1 \
+ byteorder-1.5.0 \
+ byteorder-lite-0.1.0 \
+ camino-1.1.10 \
+ cargo-platform-0.1.9 \
+ cargo_metadata-0.19.2 \
+ cast-0.3.0 \
+ cc-1.2.29 \
+ cfg-expr-0.15.8 \
+ cfg-if-1.0.1 \
+ ciborium-0.2.2 \
+ ciborium-io-0.2.2 \
+ ciborium-ll-0.2.2 \
+ clap-4.5.41 \
+ clap_builder-4.5.41 \
+ clap_complete-4.5.55 \
+ clap_derive-4.5.41 \
+ clap_lex-0.7.5 \
+ clap_mangen-0.2.28 \
+ color_quant-1.1.0 \
+ colorchoice-1.0.4 \
+ convert_case-0.8.0 \
+ crc32fast-1.5.0 \
+ criterion-0.6.0 \
+ criterion-plot-0.5.0 \
+ crossbeam-deque-0.8.6 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.21 \
+ crunchy-0.2.4 \
+ darling-0.20.11 \
+ darling_core-0.20.11 \
+ darling_macro-0.20.11 \
+ deranged-0.4.0 \
+ derive_builder-0.20.2 \
+ derive_builder_core-0.20.2 \
+ derive_builder_macro-0.20.2 \
+ dirs-6.0.0 \
+ dirs-sys-0.5.0 \
+ displaydoc-0.2.5 \
+ document-features-0.2.11 \
+ documented-0.9.2 \
+ documented-macros-0.9.2 \
+ dunce-1.0.5 \
+ dyn-clone-1.0.19 \
+ either-1.15.0 \
+ equator-0.4.2 \
+ equator-macro-0.4.2 \
+ equivalent-1.0.2 \
+ errno-0.3.13 \
+ exr-1.73.0 \
+ fast-srgb8-1.0.0 \
+ fast_image_resize-5.1.4 \
+ fastrand-2.3.0 \
+ fdeflate-0.3.7 \
+ flate2-1.1.2 \
+ fnv-1.0.7 \
+ form_urlencoded-1.2.1 \
+ fxhash-0.2.1 \
+ getrandom-0.2.16 \
+ getrandom-0.3.3 \
+ gif-0.13.3 \
+ git2-0.20.2 \
+ glob-0.3.2 \
+ half-2.6.0 \
+ hashbrown-0.15.4 \
+ heck-0.4.1 \
+ heck-0.5.0 \
+ icu_collections-2.0.0 \
+ icu_locale_core-2.0.0 \
+ icu_normalizer-2.0.0 \
+ icu_normalizer_data-2.0.0 \
+ icu_properties-2.0.1 \
+ icu_properties_data-2.0.1 \
+ icu_provider-2.0.0 \
+ ident_case-1.0.1 \
+ idna-1.0.3 \
+ idna_adapter-1.2.1 \
+ image-0.25.6 \
+ image-webp-0.2.3 \
+ imgref-1.11.0 \
+ indexmap-2.10.0 \
+ interpolate_name-0.2.4 \
+ is_terminal_polyfill-1.70.1 \
+ itertools-0.10.5 \
+ itertools-0.12.1 \
+ itertools-0.13.0 \
+ itertools-0.14.0 \
+ itoa-1.0.15 \
+ jobserver-0.1.33 \
+ jpeg-decoder-0.3.2 \
+ js-sys-0.3.77 \
+ kmeans_colors-0.7.0 \
+ lazy_static-1.5.0 \
+ lebe-0.5.2 \
+ libc-0.2.174 \
+ libfuzzer-sys-0.4.10 \
+ libgit2-sys-0.18.2+1.9.1 \
+ libredox-0.1.4 \
+ libz-sys-1.1.22 \
+ linux-raw-sys-0.9.4 \
+ litemap-0.8.0 \
+ litrs-0.4.1 \
+ log-0.4.27 \
+ loop9-0.1.5 \
+ maplit-1.0.2 \
+ maybe-rayon-0.1.1 \
+ memchr-2.7.5 \
+ memo-map-0.3.3 \
+ minijinja-2.11.0 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.8.9 \
+ new_debug_unreachable-1.0.6 \
+ nom-7.1.3 \
+ noop_proc_macro-0.3.0 \
+ num-bigint-0.4.6 \
+ num-conv-0.1.0 \
+ num-derive-0.4.2 \
+ num-integer-0.1.46 \
+ num-rational-0.4.2 \
+ num-traits-0.2.19 \
+ num_threads-0.1.7 \
+ once_cell-1.21.3 \
+ once_cell_polyfill-1.70.1 \
+ oorandom-11.1.5 \
+ optfield-0.4.0 \
+ option-ext-0.2.0 \
+ owo-colors-4.2.2 \
+ palette-0.7.6 \
+ palette_derive-0.7.6 \
+ paste-1.0.15 \
+ percent-encoding-2.3.1 \
+ phf-0.12.1 \
+ phf_generator-0.12.1 \
+ phf_macros-0.12.1 \
+ phf_shared-0.12.1 \
+ pkg-config-0.3.32 \
+ plotters-0.3.7 \
+ plotters-backend-0.3.7 \
+ plotters-svg-0.3.7 \
+ png-0.17.16 \
+ potential_utf-0.1.2 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.21 \
+ proc-macro2-1.0.95 \
+ profiling-1.0.17 \
+ profiling-procmacros-1.0.17 \
+ qoi-0.4.1 \
+ quick-error-2.0.1 \
+ quote-1.0.40 \
+ r-efi-5.3.0 \
+ rand-0.8.5 \
+ rand-0.9.1 \
+ rand_chacha-0.3.1 \
+ rand_chacha-0.9.0 \
+ rand_core-0.6.4 \
+ rand_core-0.9.3 \
+ rav1e-0.7.1 \
+ ravif-0.11.20 \
+ rayon-1.10.0 \
+ rayon-core-1.12.1 \
+ redox_users-0.5.0 \
+ ref-cast-1.0.24 \
+ ref-cast-impl-1.0.24 \
+ regex-1.11.1 \
+ regex-automata-0.4.9 \
+ regex-syntax-0.8.5 \
+ rgb-0.8.52 \
+ roff-0.2.2 \
+ rustix-1.0.7 \
+ rustversion-1.0.21 \
+ ryu-1.0.20 \
+ same-file-1.0.6 \
+ schemars-1.0.4 \
+ schemars_derive-1.0.4 \
+ self_cell-1.2.0 \
+ semver-1.0.26 \
+ serde-1.0.219 \
+ serde_derive-1.0.219 \
+ serde_derive_internals-0.29.1 \
+ serde_json-1.0.140 \
+ serde_spanned-0.6.9 \
+ serde_spanned-1.0.0 \
+ shellexpand-3.1.1 \
+ shlex-1.3.0 \
+ simd-adler32-0.3.7 \
+ simd_helpers-0.1.0 \
+ siphasher-1.0.1 \
+ smallvec-1.15.1 \
+ spinners-4.1.1 \
+ stable_deref_trait-1.2.0 \
+ strsim-0.11.1 \
+ strum-0.24.1 \
+ strum-0.27.1 \
+ strum_macros-0.24.3 \
+ strum_macros-0.27.1 \
+ syn-1.0.109 \
+ syn-2.0.104 \
+ synstructure-0.13.2 \
+ system-deps-6.2.2 \
+ target-lexicon-0.12.16 \
+ tempfile-3.20.0 \
+ thiserror-1.0.69 \
+ thiserror-2.0.12 \
+ thiserror-impl-1.0.69 \
+ thiserror-impl-2.0.12 \
+ tiff-0.9.1 \
+ time-0.3.41 \
+ time-core-0.1.4 \
+ time-macros-0.2.22 \
+ tinystr-0.8.1 \
+ tinytemplate-1.2.1 \
+ toml-0.8.23 \
+ toml-0.9.2 \
+ toml_datetime-0.6.11 \
+ toml_datetime-0.7.0 \
+ toml_edit-0.22.27 \
+ toml_edit-0.23.1 \
+ toml_parser-1.0.1 \
+ toml_writer-1.0.2 \
+ unicode-ident-1.0.18 \
+ unicode-segmentation-1.12.0 \
+ url-2.5.4 \
+ utf8_iter-1.0.4 \
+ utf8parse-0.2.2 \
+ v_frame-0.3.9 \
+ vcpkg-0.2.15 \
+ vergen-9.0.6 \
+ vergen-git2-1.0.7 \
+ vergen-lib-0.1.6 \
+ version-compare-0.2.0 \
+ walkdir-2.5.0 \
+ wallust_themes-1.1.0 \
+ wasi-0.11.1+wasi-snapshot-preview1 \
+ wasi-0.14.2+wasi-0.2.4 \
+ wasm-bindgen-0.2.100 \
+ wasm-bindgen-backend-0.2.100 \
+ wasm-bindgen-macro-0.2.100 \
+ wasm-bindgen-macro-support-0.2.100 \
+ wasm-bindgen-shared-0.2.100 \
+ web-sys-0.3.77 \
+ weezl-0.1.10 \
+ winapi-util-0.1.9 \
+ windows-sys-0.59.0 \
+ windows-sys-0.60.2 \
+ windows-targets-0.52.6 \
+ windows-targets-0.53.2 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_gnullvm-0.53.0 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_aarch64_msvc-0.53.0 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnu-0.53.0 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_gnullvm-0.53.0 \
+ windows_i686_msvc-0.52.6 \
+ windows_i686_msvc-0.53.0 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnu-0.53.0 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_gnullvm-0.53.0 \
+ windows_x86_64_msvc-0.52.6 \
+ windows_x86_64_msvc-0.53.0 \
+ winnow-0.7.12 \
+ wit-bindgen-rt-0.39.0 \
+ writeable-0.6.1 \
+ yoke-0.8.0 \
+ yoke-derive-0.8.0 \
+ zerocopy-0.8.26 \
+ zerocopy-derive-0.8.26 \
+ zerofrom-0.1.6 \
+ zerofrom-derive-0.1.6 \
+ zerotrie-0.2.2 \
+ zerovec-0.11.2 \
+ zerovec-derive-0.11.1 \
+ zune-core-0.4.12 \
+ zune-inflate-0.2.54 \
+ zune-jpeg-0.4.19
diff --git a/graphics/wallust/distinfo b/graphics/wallust/distinfo
new file mode 100644
index 000000000000..53945a0a4790
--- /dev/null
+++ b/graphics/wallust/distinfo
@@ -0,0 +1,605 @@
+TIMESTAMP = 1756347167
+SHA256 (wallust-3.4.0.tar.gz) = 2fa1b604a70026ff9ed853cc43bb5d4bed6c17ea1a0cea08563447bd5df5ddfb
+SIZE (wallust-3.4.0.tar.gz) = 150567
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/aligned-vec-0.6.4.crate) = dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b
+SIZE (rust/crates/aligned-vec-0.6.4.crate) = 12609
+SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
+SIZE (rust/crates/anes-0.1.6.crate) = 23857
+SHA256 (rust/crates/anstream-0.6.19.crate) = 301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933
+SIZE (rust/crates/anstream-0.6.19.crate) = 28767
+SHA256 (rust/crates/anstyle-1.0.11.crate) = 862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd
+SIZE (rust/crates/anstyle-1.0.11.crate) = 15880
+SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2
+SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707
+SHA256 (rust/crates/anstyle-query-1.1.3.crate) = 6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9
+SIZE (rust/crates/anstyle-query-1.1.3.crate) = 10190
+SHA256 (rust/crates/anstyle-wincon-3.0.9.crate) = 403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882
+SIZE (rust/crates/anstyle-wincon-3.0.9.crate) = 12561
+SHA256 (rust/crates/anyhow-1.0.98.crate) = e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487
+SIZE (rust/crates/anyhow-1.0.98.crate) = 53334
+SHA256 (rust/crates/approx-0.5.1.crate) = cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6
+SIZE (rust/crates/approx-0.5.1.crate) = 15100
+SHA256 (rust/crates/arbitrary-1.4.1.crate) = dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223
+SIZE (rust/crates/arbitrary-1.4.1.crate) = 36816
+SHA256 (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea
+SIZE (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 5102
+SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
+SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
+SHA256 (rust/crates/av1-grain-0.2.4.crate) = 4f3efb2ca85bc610acfa917b5aaa36f3fcbebed5b3182d7f877b02531c4b80c8
+SIZE (rust/crates/av1-grain-0.2.4.crate) = 37050
+SHA256 (rust/crates/avif-serialize-0.8.5.crate) = 2ea8ef51aced2b9191c08197f55450d830876d9933f8f48a429b354f1d496b42
+SIZE (rust/crates/avif-serialize-0.8.5.crate) = 14127
+SHA256 (rust/crates/bit_field-0.10.2.crate) = dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61
+SIZE (rust/crates/bit_field-0.10.2.crate) = 10568
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.9.1.crate) = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967
+SIZE (rust/crates/bitflags-2.9.1.crate) = 47913
+SHA256 (rust/crates/bitstream-io-2.6.0.crate) = 6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2
+SIZE (rust/crates/bitstream-io-2.6.0.crate) = 38256
+SHA256 (rust/crates/built-0.7.7.crate) = 56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b
+SIZE (rust/crates/built-0.7.7.crate) = 29776
+SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43
+SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414
+SHA256 (rust/crates/by_address-1.2.1.crate) = 64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06
+SIZE (rust/crates/by_address-1.2.1.crate) = 8437
+SHA256 (rust/crates/bytemuck-1.23.1.crate) = 5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422
+SIZE (rust/crates/bytemuck-1.23.1.crate) = 52585
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
+SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
+SHA256 (rust/crates/camino-1.1.10.crate) = 0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab
+SIZE (rust/crates/camino-1.1.10.crate) = 42306
+SHA256 (rust/crates/cargo-platform-0.1.9.crate) = e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea
+SIZE (rust/crates/cargo-platform-0.1.9.crate) = 12010
+SHA256 (rust/crates/cargo_metadata-0.19.2.crate) = dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba
+SIZE (rust/crates/cargo_metadata-0.19.2.crate) = 28370
+SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
+SIZE (rust/crates/cast-0.3.0.crate) = 11452
+SHA256 (rust/crates/cc-1.2.29.crate) = 5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362
+SIZE (rust/crates/cc-1.2.29.crate) = 108072
+SHA256 (rust/crates/cfg-expr-0.15.8.crate) = d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02
+SIZE (rust/crates/cfg-expr-0.15.8.crate) = 42108
+SHA256 (rust/crates/cfg-if-1.0.1.crate) = 9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268
+SIZE (rust/crates/cfg-if-1.0.1.crate) = 8683
+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-4.5.41.crate) = be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9
+SIZE (rust/crates/clap-4.5.41.crate) = 58298
+SHA256 (rust/crates/clap_builder-4.5.41.crate) = 707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d
+SIZE (rust/crates/clap_builder-4.5.41.crate) = 169633
+SHA256 (rust/crates/clap_complete-4.5.55.crate) = a5abde44486daf70c5be8b8f8f1b66c49f86236edf6fa2abadb4d961c4c6229a
+SIZE (rust/crates/clap_complete-4.5.55.crate) = 48536
+SHA256 (rust/crates/clap_derive-4.5.41.crate) = ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491
+SIZE (rust/crates/clap_derive-4.5.41.crate) = 33493
+SHA256 (rust/crates/clap_lex-0.7.5.crate) = b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675
+SIZE (rust/crates/clap_lex-0.7.5.crate) = 13469
+SHA256 (rust/crates/clap_mangen-0.2.28.crate) = e2fb6d3f935bbb9819391528b0e7cf655e78a0bc7a7c3d227211a1d24fc11db1
+SIZE (rust/crates/clap_mangen-0.2.28.crate) = 15733
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75
+SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196
+SHA256 (rust/crates/convert_case-0.8.0.crate) = baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f
+SIZE (rust/crates/convert_case-0.8.0.crate) = 22097
+SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511
+SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723
+SHA256 (rust/crates/criterion-0.6.0.crate) = 3bf7af66b0989381bd0be551bd7cc91912a655a58c6918420c9527b1fd8b4679
+SIZE (rust/crates/criterion-0.6.0.crate) = 119470
+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.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
+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.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crunchy-0.2.4.crate) = 460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5
+SIZE (rust/crates/crunchy-0.2.4.crate) = 3887
+SHA256 (rust/crates/darling-0.20.11.crate) = fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee
+SIZE (rust/crates/darling-0.20.11.crate) = 37614
+SHA256 (rust/crates/darling_core-0.20.11.crate) = 0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e
+SIZE (rust/crates/darling_core-0.20.11.crate) = 68006
+SHA256 (rust/crates/darling_macro-0.20.11.crate) = fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead
+SIZE (rust/crates/darling_macro-0.20.11.crate) = 2532
+SHA256 (rust/crates/deranged-0.4.0.crate) = 9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e
+SIZE (rust/crates/deranged-0.4.0.crate) = 23235
+SHA256 (rust/crates/derive_builder-0.20.2.crate) = 507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947
+SIZE (rust/crates/derive_builder-0.20.2.crate) = 36661
+SHA256 (rust/crates/derive_builder_core-0.20.2.crate) = 2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8
+SIZE (rust/crates/derive_builder_core-0.20.2.crate) = 31397
+SHA256 (rust/crates/derive_builder_macro-0.20.2.crate) = ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c
+SIZE (rust/crates/derive_builder_macro-0.20.2.crate) = 6360
+SHA256 (rust/crates/dirs-6.0.0.crate) = c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e
+SIZE (rust/crates/dirs-6.0.0.crate) = 14190
+SHA256 (rust/crates/dirs-sys-0.5.0.crate) = e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab
+SIZE (rust/crates/dirs-sys-0.5.0.crate) = 10157
+SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
+SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
+SHA256 (rust/crates/document-features-0.2.11.crate) = 95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d
+SIZE (rust/crates/document-features-0.2.11.crate) = 14640
+SHA256 (rust/crates/documented-0.9.2.crate) = ed6b3e31251e87acd1b74911aed84071c8364fc9087972748ade2f1094ccce34
+SIZE (rust/crates/documented-0.9.2.crate) = 4395
+SHA256 (rust/crates/documented-macros-0.9.2.crate) = 1149cf7462e5e79e17a3c05fd5b1f9055092bbfa95e04c319395c3beacc9370f
+SIZE (rust/crates/documented-macros-0.9.2.crate) = 12274
+SHA256 (rust/crates/dunce-1.0.5.crate) = 92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813
+SIZE (rust/crates/dunce-1.0.5.crate) = 8244
+SHA256 (rust/crates/dyn-clone-1.0.19.crate) = 1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005
+SIZE (rust/crates/dyn-clone-1.0.19.crate) = 12896
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
+SHA256 (rust/crates/equator-0.4.2.crate) = 4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc
+SIZE (rust/crates/equator-0.4.2.crate) = 11159
+SHA256 (rust/crates/equator-macro-0.4.2.crate) = 44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3
+SIZE (rust/crates/equator-macro-0.4.2.crate) = 6407
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/errno-0.3.13.crate) = 778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad
+SIZE (rust/crates/errno-0.3.13.crate) = 12449
+SHA256 (rust/crates/exr-1.73.0.crate) = f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0
+SIZE (rust/crates/exr-1.73.0.crate) = 244371
+SHA256 (rust/crates/fast-srgb8-1.0.0.crate) = dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1
+SIZE (rust/crates/fast-srgb8-1.0.0.crate) = 17214
+SHA256 (rust/crates/fast_image_resize-5.1.4.crate) = d372ab3252d8f162d858d675a3d88a8c33ba24a6238837c50c8851911c7e89cd
+SIZE (rust/crates/fast_image_resize-5.1.4.crate) = 152880
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/fdeflate-0.3.7.crate) = 1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c
+SIZE (rust/crates/fdeflate-0.3.7.crate) = 27188
+SHA256 (rust/crates/flate2-1.1.2.crate) = 4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d
+SIZE (rust/crates/flate2-1.1.2.crate) = 76495
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/fxhash-0.2.1.crate) = c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c
+SIZE (rust/crates/fxhash-0.2.1.crate) = 4102
+SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
+SIZE (rust/crates/getrandom-0.2.16.crate) = 40163
+SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4
+SIZE (rust/crates/getrandom-0.3.3.crate) = 49493
+SHA256 (rust/crates/gif-0.13.3.crate) = 4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b
+SIZE (rust/crates/gif-0.13.3.crate) = 36010
+SHA256 (rust/crates/git2-0.20.2.crate) = 2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110
+SIZE (rust/crates/git2-0.20.2.crate) = 223479
+SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2
+SIZE (rust/crates/glob-0.3.2.crate) = 22359
+SHA256 (rust/crates/half-2.6.0.crate) = 459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9
+SIZE (rust/crates/half-2.6.0.crate) = 59507
+SHA256 (rust/crates/hashbrown-0.15.4.crate) = 5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5
+SIZE (rust/crates/hashbrown-0.15.4.crate) = 140447
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/icu_collections-2.0.0.crate) = 200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47
+SIZE (rust/crates/icu_collections-2.0.0.crate) = 83033
+SHA256 (rust/crates/icu_locale_core-2.0.0.crate) = 0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a
+SIZE (rust/crates/icu_locale_core-2.0.0.crate) = 74430
+SHA256 (rust/crates/icu_normalizer-2.0.0.crate) = 436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979
+SIZE (rust/crates/icu_normalizer-2.0.0.crate) = 61543
+SHA256 (rust/crates/icu_normalizer_data-2.0.0.crate) = 00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3
+SIZE (rust/crates/icu_normalizer_data-2.0.0.crate) = 68101
+SHA256 (rust/crates/icu_properties-2.0.1.crate) = 016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b
+SIZE (rust/crates/icu_properties-2.0.1.crate) = 58165
+SHA256 (rust/crates/icu_properties_data-2.0.1.crate) = 298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632
+SIZE (rust/crates/icu_properties_data-2.0.1.crate) = 159735
+SHA256 (rust/crates/icu_provider-2.0.0.crate) = 03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af
+SIZE (rust/crates/icu_provider-2.0.0.crate) = 50966
+SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
+SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
+SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e
+SIZE (rust/crates/idna-1.0.3.crate) = 142515
+SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
+SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
+SHA256 (rust/crates/image-0.25.6.crate) = db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a
+SIZE (rust/crates/image-0.25.6.crate) = 242367
+SHA256 (rust/crates/image-webp-0.2.3.crate) = f6970fe7a5300b4b42e62c52efa0187540a5bef546c60edaf554ef595d2e6f0b
+SIZE (rust/crates/image-webp-0.2.3.crate) = 63210
+SHA256 (rust/crates/imgref-1.11.0.crate) = d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408
+SIZE (rust/crates/imgref-1.11.0.crate) = 65943
+SHA256 (rust/crates/indexmap-2.10.0.crate) = fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661
+SIZE (rust/crates/indexmap-2.10.0.crate) = 95836
+SHA256 (rust/crates/interpolate_name-0.2.4.crate) = c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60
+SIZE (rust/crates/interpolate_name-0.2.4.crate) = 4027
+SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
+SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569
+SIZE (rust/crates/itertools-0.12.1.crate) = 137761
+SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186
+SIZE (rust/crates/itertools-0.13.0.crate) = 146261
+SHA256 (rust/crates/itertools-0.14.0.crate) = 2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285
+SIZE (rust/crates/itertools-0.14.0.crate) = 152715
+SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
+SIZE (rust/crates/itoa-1.0.15.crate) = 11231
+SHA256 (rust/crates/jobserver-0.1.33.crate) = 38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a
+SIZE (rust/crates/jobserver-0.1.33.crate) = 29136
+SHA256 (rust/crates/jpeg-decoder-0.3.2.crate) = 00810f1d8b74be64b13dbf3db89ac67740615d6c891f0e7b6179326533011a07
+SIZE (rust/crates/jpeg-decoder-0.3.2.crate) = 745371
+SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f
+SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
+SHA256 (rust/crates/kmeans_colors-0.7.0.crate) = 43cad637ef7f2e901ec79f6e42130497b70c27f07bcf8e92418d56a602a55502
+SIZE (rust/crates/kmeans_colors-0.7.0.crate) = 31106
+SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
+SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
+SHA256 (rust/crates/lebe-0.5.2.crate) = 03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8
+SIZE (rust/crates/lebe-0.5.2.crate) = 8422
+SHA256 (rust/crates/libc-0.2.174.crate) = 1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776
+SIZE (rust/crates/libc-0.2.174.crate) = 779933
+SHA256 (rust/crates/libfuzzer-sys-0.4.10.crate) = 5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404
+SIZE (rust/crates/libfuzzer-sys-0.4.10.crate) = 133968
+SHA256 (rust/crates/libgit2-sys-0.18.2+1.9.1.crate) = 1c42fe03df2bd3c53a3a9c7317ad91d80c81cd1fb0caec8d7cc4cd2bfa10c222
+SIZE (rust/crates/libgit2-sys-0.18.2+1.9.1.crate) = 1856057
+SHA256 (rust/crates/libredox-0.1.4.crate) = 1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638
+SIZE (rust/crates/libredox-0.1.4.crate) = 6946
+SHA256 (rust/crates/libz-sys-1.1.22.crate) = 8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d
+SIZE (rust/crates/libz-sys-1.1.22.crate) = 841053
+SHA256 (rust/crates/linux-raw-sys-0.9.4.crate) = cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12
+SIZE (rust/crates/linux-raw-sys-0.9.4.crate) = 2311088
+SHA256 (rust/crates/litemap-0.8.0.crate) = 241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956
+SIZE (rust/crates/litemap-0.8.0.crate) = 34344
+SHA256 (rust/crates/litrs-0.4.1.crate) = b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5
+SIZE (rust/crates/litrs-0.4.1.crate) = 42603
+SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
+SIZE (rust/crates/log-0.4.27.crate) = 48120
+SHA256 (rust/crates/loop9-0.1.5.crate) = 0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062
+SIZE (rust/crates/loop9-0.1.5.crate) = 3406
+SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
+SIZE (rust/crates/maplit-1.0.2.crate) = 8871
+SHA256 (rust/crates/maybe-rayon-0.1.1.crate) = 8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519
+SIZE (rust/crates/maybe-rayon-0.1.1.crate) = 2901
+SHA256 (rust/crates/memchr-2.7.5.crate) = 32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0
+SIZE (rust/crates/memchr-2.7.5.crate) = 97603
+SHA256 (rust/crates/memo-map-0.3.3.crate) = 38d1115007560874e373613744c6fba374c17688327a71c1476d1a5954cc857b
+SIZE (rust/crates/memo-map-0.3.3.crate) = 10003
+SHA256 (rust/crates/minijinja-2.11.0.crate) = 4e60ac08614cc09062820e51d5d94c2fce16b94ea4e5003bb81b99a95f84e876
+SIZE (rust/crates/minijinja-2.11.0.crate) = 169462
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316
+SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
+SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086
+SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/noop_proc_macro-0.3.0.crate) = 0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8
+SIZE (rust/crates/noop_proc_macro-0.3.0.crate) = 2157
+SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
+SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801
+SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
+SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/num-derive-0.4.2.crate) = ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202
+SIZE (rust/crates/num-derive-0.4.2.crate) = 14709
+SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
+SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
+SHA256 (rust/crates/num-rational-0.4.2.crate) = f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824
+SIZE (rust/crates/num-rational-0.4.2.crate) = 28159
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/num_threads-0.1.7.crate) = 5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9
+SIZE (rust/crates/num_threads-0.1.7.crate) = 7455
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad
+SIZE (rust/crates/once_cell_polyfill-1.70.1.crate) = 7510
+SHA256 (rust/crates/oorandom-11.1.5.crate) = d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e
+SIZE (rust/crates/oorandom-11.1.5.crate) = 23750
+SHA256 (rust/crates/optfield-0.4.0.crate) = 969ccca8ffc4fb105bd131a228107d5c9dd89d9d627edf3295cbe979156f9712
+SIZE (rust/crates/optfield-0.4.0.crate) = 17396
+SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
+SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
+SHA256 (rust/crates/owo-colors-4.2.2.crate) = 48dd4f4a2c8405440fd0462561f0e5806bd0f77e86f51c761481bdd4018b545e
+SIZE (rust/crates/owo-colors-4.2.2.crate) = 38070
+SHA256 (rust/crates/palette-0.7.6.crate) = 4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6
+SIZE (rust/crates/palette-0.7.6.crate) = 230913
+SHA256 (rust/crates/palette_derive-0.7.6.crate) = f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30
+SIZE (rust/crates/palette_derive-0.7.6.crate) = 17073
+SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
+SIZE (rust/crates/paste-1.0.15.crate) = 18374
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/phf-0.12.1.crate) = 913273894cec178f401a31ec4b656318d95473527be05c0752cc41cdc32be8b7
+SIZE (rust/crates/phf-0.12.1.crate) = 23768
+SHA256 (rust/crates/phf_generator-0.12.1.crate) = 2cbb1126afed61dd6368748dae63b1ee7dc480191c6262a3b4ff1e29d86a6c5b
+SIZE (rust/crates/phf_generator-0.12.1.crate) = 15743
+SHA256 (rust/crates/phf_macros-0.12.1.crate) = d713258393a82f091ead52047ca779d37e5766226d009de21696c4e667044368
+SIZE (rust/crates/phf_macros-0.12.1.crate) = 19133
+SHA256 (rust/crates/phf_shared-0.12.1.crate) = 06005508882fb681fd97892ecff4b7fd0fee13ef1aa569f8695dae7ab9099981
+SIZE (rust/crates/phf_shared-0.12.1.crate) = 15568
+SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c
+SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370
+SHA256 (rust/crates/plotters-0.3.7.crate) = 5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747
+SIZE (rust/crates/plotters-0.3.7.crate) = 149031
+SHA256 (rust/crates/plotters-backend-0.3.7.crate) = df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a
+SIZE (rust/crates/plotters-backend-0.3.7.crate) = 13709
+SHA256 (rust/crates/plotters-svg-0.3.7.crate) = 51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670
+SIZE (rust/crates/plotters-svg-0.3.7.crate) = 6715
+SHA256 (rust/crates/png-0.17.16.crate) = 82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526
+SIZE (rust/crates/png-0.17.16.crate) = 117975
+SHA256 (rust/crates/potential_utf-0.1.2.crate) = e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585
+SIZE (rust/crates/potential_utf-0.1.2.crate) = 9613
+SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
+SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
+SHA256 (rust/crates/ppv-lite86-0.2.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9
+SIZE (rust/crates/ppv-lite86-0.2.21.crate) = 22522
+SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778
+SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820
+SHA256 (rust/crates/profiling-1.0.17.crate) = 3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773
+SIZE (rust/crates/profiling-1.0.17.crate) = 13493
+SHA256 (rust/crates/profiling-procmacros-1.0.17.crate) = 52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b
+SIZE (rust/crates/profiling-procmacros-1.0.17.crate) = 5895
+SHA256 (rust/crates/qoi-0.4.1.crate) = 7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001
+SIZE (rust/crates/qoi-0.4.1.crate) = 71135
+SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3
+SIZE (rust/crates/quick-error-2.0.1.crate) = 14265
+SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
+SIZE (rust/crates/quote-1.0.40.crate) = 31063
+SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
+SIZE (rust/crates/r-efi-5.3.0.crate) = 64532
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand-0.9.1.crate) = 9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97
+SIZE (rust/crates/rand-0.9.1.crate) = 97986
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_chacha-0.9.0.crate) = d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb
+SIZE (rust/crates/rand_chacha-0.9.0.crate) = 18258
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rand_core-0.9.3.crate) = 99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38
+SIZE (rust/crates/rand_core-0.9.3.crate) = 24543
+SHA256 (rust/crates/rav1e-0.7.1.crate) = cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9
+SIZE (rust/crates/rav1e-0.7.1.crate) = 1472522
+SHA256 (rust/crates/ravif-0.11.20.crate) = 5825c26fddd16ab9f515930d49028a630efec172e903483c94796cfe31893e6b
+SIZE (rust/crates/ravif-0.11.20.crate) = 19233
+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/redox_users-0.5.0.crate) = dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b
+SIZE (rust/crates/redox_users-0.5.0.crate) = 15586
+SHA256 (rust/crates/ref-cast-1.0.24.crate) = 4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf
+SIZE (rust/crates/ref-cast-1.0.24.crate) = 15252
+SHA256 (rust/crates/ref-cast-impl-1.0.24.crate) = 1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7
+SIZE (rust/crates/ref-cast-impl-1.0.24.crate) = 9968
+SHA256 (rust/crates/regex-1.11.1.crate) = b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191
+SIZE (rust/crates/regex-1.11.1.crate) = 254170
+SHA256 (rust/crates/regex-automata-0.4.9.crate) = 809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908
+SIZE (rust/crates/regex-automata-0.4.9.crate) = 618525
+SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c
+SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
+SHA256 (rust/crates/rgb-0.8.52.crate) = 0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce
+SIZE (rust/crates/rgb-0.8.52.crate) = 22449
+SHA256 (rust/crates/roff-0.2.2.crate) = 88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3
+SIZE (rust/crates/roff-0.2.2.crate) = 11648
+SHA256 (rust/crates/rustix-1.0.7.crate) = c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266
+SIZE (rust/crates/rustix-1.0.7.crate) = 414500
+SHA256 (rust/crates/rustversion-1.0.21.crate) = 8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d
+SIZE (rust/crates/rustversion-1.0.21.crate) = 21001
+SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
+SIZE (rust/crates/ryu-1.0.20.crate) = 48738
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/schemars-1.0.4.crate) = 82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0
+SIZE (rust/crates/schemars-1.0.4.crate) = 88282
+SHA256 (rust/crates/schemars_derive-1.0.4.crate) = 33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80
+SIZE (rust/crates/schemars_derive-1.0.4.crate) = 31126
+SHA256 (rust/crates/self_cell-1.2.0.crate) = 0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749
+SIZE (rust/crates/self_cell-1.2.0.crate) = 16883
+SHA256 (rust/crates/semver-1.0.26.crate) = 56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0
+SIZE (rust/crates/semver-1.0.26.crate) = 31303
+SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6
+SIZE (rust/crates/serde-1.0.219.crate) = 78983
+SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00
+SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798
+SHA256 (rust/crates/serde_derive_internals-0.29.1.crate) = 18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711
+SIZE (rust/crates/serde_derive_internals-0.29.1.crate) = 26189
+SHA256 (rust/crates/serde_json-1.0.140.crate) = 20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373
+SIZE (rust/crates/serde_json-1.0.140.crate) = 154852
+SHA256 (rust/crates/serde_spanned-0.6.9.crate) = bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3
+SIZE (rust/crates/serde_spanned-0.6.9.crate) = 10210
+SHA256 (rust/crates/serde_spanned-1.0.0.crate) = 40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83
+SIZE (rust/crates/serde_spanned-1.0.0.crate) = 10956
+SHA256 (rust/crates/shellexpand-3.1.1.crate) = 8b1fdf65dd6331831494dd616b30351c38e96e45921a27745cf98490458b90bb
+SIZE (rust/crates/shellexpand-3.1.1.crate) = 25904
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
+SHA256 (rust/crates/simd_helpers-0.1.0.crate) = 95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6
+SIZE (rust/crates/simd_helpers-0.1.0.crate) = 1527
+SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d
+SIZE (rust/crates/siphasher-1.0.1.crate) = 10351
+SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
+SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
+SHA256 (rust/crates/spinners-4.1.1.crate) = a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82
+SIZE (rust/crates/spinners-4.1.1.crate) = 9238
+SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
+SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/strum-0.24.1.crate) = 063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f
+SIZE (rust/crates/strum-0.24.1.crate) = 5636
+SHA256 (rust/crates/strum-0.27.1.crate) = f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32
+SIZE (rust/crates/strum-0.27.1.crate) = 7467
+SHA256 (rust/crates/strum_macros-0.24.3.crate) = 1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59
+SIZE (rust/crates/strum_macros-0.24.3.crate) = 20696
+SHA256 (rust/crates/strum_macros-0.27.1.crate) = c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8
+SIZE (rust/crates/strum_macros-0.27.1.crate) = 29670
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.104.crate) = 17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40
+SIZE (rust/crates/syn-2.0.104.crate) = 299699
+SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
+SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
+SHA256 (rust/crates/system-deps-6.2.2.crate) = a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349
+SIZE (rust/crates/system-deps-6.2.2.crate) = 25546
+SHA256 (rust/crates/target-lexicon-0.12.16.crate) = 61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1
+SIZE (rust/crates/target-lexicon-0.12.16.crate) = 26488
+SHA256 (rust/crates/tempfile-3.20.0.crate) = e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1
+SIZE (rust/crates/tempfile-3.20.0.crate) = 42306
+SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
+SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
+SHA256 (rust/crates/thiserror-2.0.12.crate) = 567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708
+SIZE (rust/crates/thiserror-2.0.12.crate) = 28693
+SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1
+SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365
+SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d
+SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141
+SHA256 (rust/crates/tiff-0.9.1.crate) = ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e
+SIZE (rust/crates/tiff-0.9.1.crate) = 1423953
+SHA256 (rust/crates/time-0.3.41.crate) = 8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40
+SIZE (rust/crates/time-0.3.41.crate) = 138369
+SHA256 (rust/crates/time-core-0.1.4.crate) = c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c
+SIZE (rust/crates/time-core-0.1.4.crate) = 8422
+SHA256 (rust/crates/time-macros-0.2.22.crate) = 3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49
+SIZE (rust/crates/time-macros-0.2.22.crate) = 24604
+SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b
+SIZE (rust/crates/tinystr-0.8.1.crate) = 23333
+SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
+SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
+SHA256 (rust/crates/toml-0.8.23.crate) = dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362
+SIZE (rust/crates/toml-0.8.23.crate) = 36050
+SHA256 (rust/crates/toml-0.9.2.crate) = ed0aee96c12fa71097902e0bb061a5e1ebd766a6636bb605ba401c45c1650eac
+SIZE (rust/crates/toml-0.9.2.crate) = 56695
+SHA256 (rust/crates/toml_datetime-0.6.11.crate) = 22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c
+SIZE (rust/crates/toml_datetime-0.6.11.crate) = 16125
+SHA256 (rust/crates/toml_datetime-0.7.0.crate) = bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3
+SIZE (rust/crates/toml_datetime-0.7.0.crate) = 18108
+SHA256 (rust/crates/toml_edit-0.22.27.crate) = 41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a
+SIZE (rust/crates/toml_edit-0.22.27.crate) = 78602
+SHA256 (rust/crates/toml_edit-0.23.1.crate) = b1f23a5f4511b296579b6c83e437fe85fa7ece22e3ec44e45ddb975bcf57c3dd
+SIZE (rust/crates/toml_edit-0.23.1.crate) = 66370
+SHA256 (rust/crates/toml_parser-1.0.1.crate) = 97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30
+SIZE (rust/crates/toml_parser-1.0.1.crate) = 35063
+SHA256 (rust/crates/toml_writer-1.0.2.crate) = fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64
+SIZE (rust/crates/toml_writer-1.0.2.crate) = 16988
+SHA256 (rust/crates/unicode-ident-1.0.18.crate) = 5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512
+SIZE (rust/crates/unicode-ident-1.0.18.crate) = 47743
+SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493
+SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323
+SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
+SIZE (rust/crates/url-2.5.4.crate) = 81097
+SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
+SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
+SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
+SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
+SHA256 (rust/crates/v_frame-0.3.9.crate) = 666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2
+SIZE (rust/crates/v_frame-0.3.9.crate) = 20856
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/vergen-9.0.6.crate) = 6b2bf58be11fc9414104c6d3a2e464163db5ef74b12296bda593cac37b6e4777
+SIZE (rust/crates/vergen-9.0.6.crate) = 33160
+SHA256 (rust/crates/vergen-git2-1.0.7.crate) = 4f6ee511ec45098eabade8a0750e76eec671e7fb2d9360c563911336bea9cac1
+SIZE (rust/crates/vergen-git2-1.0.7.crate) = 29815
+SHA256 (rust/crates/vergen-lib-0.1.6.crate) = 9b07e6010c0f3e59fcb164e0163834597da68d1f864e2b8ca49f74de01e9c166
+SIZE (rust/crates/vergen-lib-0.1.6.crate) = 20754
+SHA256 (rust/crates/version-compare-0.2.0.crate) = 852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b
+SIZE (rust/crates/version-compare-0.2.0.crate) = 13942
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/wallust_themes-1.1.0.crate) = 8e997c4b9815caad2bf32234f03c3b001d788fe65e38f48a53c53ed2bac847b8
+SIZE (rust/crates/wallust_themes-1.1.0.crate) = 80859
+SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b
+SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477
+SHA256 (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3
+SIZE (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 140921
+SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
+SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
+SIZE (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 32111
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407
+SIZE (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 9663
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 26243
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d
+SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570
+SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2
+SIZE (rust/crates/web-sys-0.3.77.crate) = 638246
+SHA256 (rust/crates/weezl-0.1.10.crate) = a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3
+SIZE (rust/crates/weezl-0.1.10.crate) = 46418
+SHA256 (rust/crates/winapi-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb
+SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
+SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows-targets-0.53.2.crate) = c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef
+SIZE (rust/crates/windows-targets-0.53.2.crate) = 7046
+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_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443
+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_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c
+SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446
+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_gnu-0.53.0.crate) = c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3
+SIZE (rust/crates/windows_i686_gnu-0.53.0.crate) = 936973
+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_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11
+SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056
+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_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d
+SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450
+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_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba
+SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585
+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_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434
+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/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486
+SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400
+SHA256 (rust/crates/winnow-0.7.12.crate) = f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95
+SIZE (rust/crates/winnow-0.7.12.crate) = 174403
+SHA256 (rust/crates/wit-bindgen-rt-0.39.0.crate) = 6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1
+SIZE (rust/crates/wit-bindgen-rt-0.39.0.crate) = 12241
+SHA256 (rust/crates/writeable-0.6.1.crate) = ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb
+SIZE (rust/crates/writeable-0.6.1.crate) = 24068
+SHA256 (rust/crates/yoke-0.8.0.crate) = 5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc
+SIZE (rust/crates/yoke-0.8.0.crate) = 28726
+SHA256 (rust/crates/yoke-derive-0.8.0.crate) = 38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6
+SIZE (rust/crates/yoke-derive-0.8.0.crate) = 7521
+SHA256 (rust/crates/zerocopy-0.8.26.crate) = 1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f
+SIZE (rust/crates/zerocopy-0.8.26.crate) = 249223
+SHA256 (rust/crates/zerocopy-derive-0.8.26.crate) = 9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181
+SIZE (rust/crates/zerocopy-derive-0.8.26.crate) = 88080
+SHA256 (rust/crates/zerofrom-0.1.6.crate) = 50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5
+SIZE (rust/crates/zerofrom-0.1.6.crate) = 5669
+SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502
+SIZE (rust/crates/zerofrom-derive-0.1.6.crate) = 8305
+SHA256 (rust/crates/zerotrie-0.2.2.crate) = 36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595
+SIZE (rust/crates/zerotrie-0.2.2.crate) = 74423
+SHA256 (rust/crates/zerovec-0.11.2.crate) = 4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428
+SIZE (rust/crates/zerovec-0.11.2.crate) = 124500
+SHA256 (rust/crates/zerovec-derive-0.11.1.crate) = 5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f
+SIZE (rust/crates/zerovec-derive-0.11.1.crate) = 21294
+SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a
+SIZE (rust/crates/zune-core-0.4.12.crate) = 17355
+SHA256 (rust/crates/zune-inflate-0.2.54.crate) = 73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02
+SIZE (rust/crates/zune-inflate-0.2.54.crate) = 37973
+SHA256 (rust/crates/zune-jpeg-0.4.19.crate) = 2c9e525af0a6a658e031e95f14b7f889976b74a11ba0eca5a5fc9ac8a1c43a6a
+SIZE (rust/crates/zune-jpeg-0.4.19.crate) = 66341
diff --git a/graphics/wallust/pkg-descr b/graphics/wallust/pkg-descr
new file mode 100644
index 000000000000..8d60e92bccac
--- /dev/null
+++ b/graphics/wallust/pkg-descr
@@ -0,0 +1,3 @@
+wallust is a command line tool for creating 16 color palettes, since
+it was the original intent of pywal, the tool that inspired the
+creation of wallust.
diff --git a/graphics/wallust/pkg-plist b/graphics/wallust/pkg-plist
new file mode 100644
index 000000000000..4acdc3ea8901
--- /dev/null
+++ b/graphics/wallust/pkg-plist
@@ -0,0 +1,9 @@
+bin/wallust
+%%COMPLETIONS%%etc/bash_completion.d/wallust
+%%COMPLETIONS%%share/fish/completions/wallust.fish
+%%MANPAGES%%share/man/man1/wallust-cs.1.gz
+%%MANPAGES%%share/man/man1/wallust-run.1.gz
+%%MANPAGES%%share/man/man1/wallust-theme.1.gz
+%%MANPAGES%%share/man/man1/wallust.1.gz
+%%MANPAGES%%share/man/man5/wallust.5.gz
+%%COMPLETIONS%%share/zsh/site-functions/_wallust
diff --git a/graphics/wayland-protocols/Makefile b/graphics/wayland-protocols/Makefile
index 3bc8d2176cb0..1d56101fe1f9 100644
--- a/graphics/wayland-protocols/Makefile
+++ b/graphics/wayland-protocols/Makefile
@@ -1,5 +1,5 @@
PORTNAME= wayland-protocols
-PORTVERSION= 1.44
+PORTVERSION= 1.45
CATEGORIES= graphics
MASTER_SITES= https://gitlab.freedesktop.org/wayland/${PORTNAME}/-/releases/${DISTVERSION}/downloads/
diff --git a/graphics/wayland-protocols/distinfo b/graphics/wayland-protocols/distinfo
index 68a19616837b..f5df6be42255 100644
--- a/graphics/wayland-protocols/distinfo
+++ b/graphics/wayland-protocols/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745909482
-SHA256 (wayland-protocols-1.44.tar.xz) = 3df1107ecf8bfd6ee878aeca5d3b7afd81248a48031e14caf6ae01f14eebb50e
-SIZE (wayland-protocols-1.44.tar.xz) = 124928
+TIMESTAMP = 1757749061
+SHA256 (wayland-protocols-1.45.tar.xz) = 4d2b2a9e3e099d017dc8107bf1c334d27bb87d9e4aff19a0c8d856d17cd41ef0
+SIZE (wayland-protocols-1.45.tar.xz) = 130040
diff --git a/graphics/wayland-protocols/pkg-plist b/graphics/wayland-protocols/pkg-plist
index 48ef7f73838d..e5bde910e235 100644
--- a/graphics/wayland-protocols/pkg-plist
+++ b/graphics/wayland-protocols/pkg-plist
@@ -5,6 +5,7 @@ include/wayland-protocols/commit-timing-v1-enum.h
include/wayland-protocols/content-type-v1-enum.h
include/wayland-protocols/cursor-shape-v1-enum.h
include/wayland-protocols/drm-lease-v1-enum.h
+include/wayland-protocols/ext-background-effect-v1-enum.h
include/wayland-protocols/ext-data-control-v1-enum.h
include/wayland-protocols/ext-foreign-toplevel-list-v1-enum.h
include/wayland-protocols/ext-idle-notify-v1-enum.h
@@ -26,6 +27,7 @@ include/wayland-protocols/linux-drm-syncobj-v1-enum.h
include/wayland-protocols/linux-explicit-synchronization-unstable-v1-enum.h
include/wayland-protocols/pointer-constraints-unstable-v1-enum.h
include/wayland-protocols/pointer-gestures-unstable-v1-enum.h
+include/wayland-protocols/pointer-warp-v1-enum.h
include/wayland-protocols/presentation-time-enum.h
include/wayland-protocols/primary-selection-unstable-v1-enum.h
include/wayland-protocols/relative-pointer-unstable-v1-enum.h
@@ -53,6 +55,7 @@ include/wayland-protocols/xdg-toplevel-icon-v1-enum.h
include/wayland-protocols/xdg-toplevel-tag-v1-enum.h
include/wayland-protocols/xwayland-keyboard-grab-unstable-v1-enum.h
include/wayland-protocols/xwayland-shell-v1-enum.h
+include/wayland-protocols/xx-session-management-v1-enum.h
share/pkgconfig/wayland-protocols.pc
%%DATADIR%%/stable/linux-dmabuf/linux-dmabuf-v1.xml
%%DATADIR%%/stable/presentation-time/presentation-time.xml
@@ -66,6 +69,7 @@ share/pkgconfig/wayland-protocols.pc
%%DATADIR%%/staging/content-type/content-type-v1.xml
%%DATADIR%%/staging/cursor-shape/cursor-shape-v1.xml
%%DATADIR%%/staging/drm-lease/drm-lease-v1.xml
+%%DATADIR%%/staging/ext-background-effect/ext-background-effect-v1.xml
%%DATADIR%%/staging/ext-data-control/ext-data-control-v1.xml
%%DATADIR%%/staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml
%%DATADIR%%/staging/ext-idle-notify/ext-idle-notify-v1.xml
@@ -77,6 +81,7 @@ share/pkgconfig/wayland-protocols.pc
%%DATADIR%%/staging/fifo/fifo-v1.xml
%%DATADIR%%/staging/fractional-scale/fractional-scale-v1.xml
%%DATADIR%%/staging/linux-drm-syncobj/linux-drm-syncobj-v1.xml
+%%DATADIR%%/staging/pointer-warp/pointer-warp-v1.xml
%%DATADIR%%/staging/security-context/security-context-v1.xml
%%DATADIR%%/staging/single-pixel-buffer/single-pixel-buffer-v1.xml
%%DATADIR%%/staging/tearing-control/tearing-control-v1.xml
diff --git a/graphics/wayland-utils/Makefile b/graphics/wayland-utils/Makefile
index d5dbfebc38da..21489aeb5704 100644
--- a/graphics/wayland-utils/Makefile
+++ b/graphics/wayland-utils/Makefile
@@ -1,6 +1,5 @@
PORTNAME= wayland-utils
-DISTVERSION= 1.2.0
-PORTREVISION= 1
+DISTVERSION= 1.3.0
CATEGORIES= graphics wayland
MAINTAINER= jbeich@FreeBSD.org
@@ -10,7 +9,7 @@ WWW= https://gitlab.freedesktop.org/wayland/wayland-utils
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= wayland-protocols>=1.20:graphics/wayland-protocols
+BUILD_DEPENDS= wayland-protocols>=1.44:graphics/wayland-protocols
LIB_DEPENDS= libwayland-client.so:graphics/wayland
USES= meson pkgconfig
diff --git a/graphics/wayland-utils/distinfo b/graphics/wayland-utils/distinfo
index 594256e1ecc5..85f58c056787 100644
--- a/graphics/wayland-utils/distinfo
+++ b/graphics/wayland-utils/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1686213481
-SHA256 (wayland-utils-1.2.0.tar.bz2) = f38c6a4ca2113cf716ca687a4cd8e24a11cbeeb04759678b7bb2da7d16335d18
-SIZE (wayland-utils-1.2.0.tar.bz2) = 15169
+TIMESTAMP = 1763988784
+SHA256 (wayland-utils-1.3.0.tar.bz2) = 898ceff3007b11aaec5b13844ac673b99ee186b2706b9b2ab41ba6be8c29ad06
+SIZE (wayland-utils-1.3.0.tar.bz2) = 18681
diff --git a/graphics/wayland/Makefile b/graphics/wayland/Makefile
index 2d1460e18de4..34789ca25893 100644
--- a/graphics/wayland/Makefile
+++ b/graphics/wayland/Makefile
@@ -1,6 +1,6 @@
PORTNAME= wayland
-DISTVERSION= 1.23.1
-PORTREVISION= 1
+DISTVERSION= 1.24.0
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= https://gitlab.freedesktop.org/${PORTNAME}/${PORTNAME}/-/releases/${DISTVERSION}/downloads/
diff --git a/graphics/wayland/distinfo b/graphics/wayland/distinfo
index 4dbb978a5d51..a7ae4000b61c 100644
--- a/graphics/wayland/distinfo
+++ b/graphics/wayland/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1724514235
-SHA256 (wayland-1.23.1.tar.xz) = 864fb2a8399e2d0ec39d56e9d9b753c093775beadc6022ce81f441929a81e5ed
-SIZE (wayland-1.23.1.tar.xz) = 238212
+TIMESTAMP = 1754383064
+SHA256 (wayland-1.24.0.tar.xz) = 82892487a01ad67b334eca83b54317a7c86a03a89cfadacfef5211f11a5d0536
+SIZE (wayland-1.24.0.tar.xz) = 241764
diff --git a/graphics/wayland/pkg-plist b/graphics/wayland/pkg-plist
index e7c1e9365b4b..69a27f0a140b 100644
--- a/graphics/wayland/pkg-plist
+++ b/graphics/wayland/pkg-plist
@@ -13,16 +13,16 @@ include/wayland-util.h
include/wayland-version.h
lib/libwayland-client.so
lib/libwayland-client.so.0
-lib/libwayland-client.so.0.23.1
+lib/libwayland-client.so.0.24.0
lib/libwayland-cursor.so
lib/libwayland-cursor.so.0
-lib/libwayland-cursor.so.0.23.1
+lib/libwayland-cursor.so.0.24.0
lib/libwayland-egl.so
lib/libwayland-egl.so.1
-lib/libwayland-egl.so.1.23.1
+lib/libwayland-egl.so.1.24.0
lib/libwayland-server.so
lib/libwayland-server.so.0
-lib/libwayland-server.so.0.23.1
+lib/libwayland-server.so.0.24.0
libdata/pkgconfig/wayland-client.pc
libdata/pkgconfig/wayland-cursor.pc
libdata/pkgconfig/wayland-egl-backend.pc
diff --git a/graphics/wrapland/files/patch-CMakeLists.txt b/graphics/wrapland/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..2944f1c78e2d
--- /dev/null
+++ b/graphics/wrapland/files/patch-CMakeLists.txt
@@ -0,0 +1,15 @@
+Qt 6.10+ does not automatically provide Qt6::GuiPrivate target for the
+QPA API which is not guaranteed to be compatible between releases.
+
+--- CMakeLists.txt.orig 2024-10-09 11:05:14 UTC
++++ CMakeLists.txt
+@@ -35,6 +35,9 @@ find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRE
+ set(KDE_COMPILERSETTINGS_LEVEL "5.84")
+
+ find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Concurrent Gui)
++if (Qt6_VERSION VERSION_GREATER_EQUAL 6.10.0)
++ find_package(Qt6 CONFIG REQUIRED COMPONENTS GuiPrivate)
++endif()
+
+ find_package(Wayland 1.18 COMPONENTS Client Server)
+ set_package_properties(Wayland PROPERTIES TYPE REQUIRED)
diff --git a/graphics/wxsvg/Makefile b/graphics/wxsvg/Makefile
index 164d0ca66c72..55e0ff7bd0bf 100644
--- a/graphics/wxsvg/Makefile
+++ b/graphics/wxsvg/Makefile
@@ -1,6 +1,5 @@
PORTNAME= wxsvg
-DISTVERSION= 1.5.24
-PORTREVISION= 5
+DISTVERSION= 1.5.25
CATEGORIES= graphics
MASTER_SITES= SF
diff --git a/graphics/wxsvg/distinfo b/graphics/wxsvg/distinfo
index dd9e903ff0ec..ef3f80412087 100644
--- a/graphics/wxsvg/distinfo
+++ b/graphics/wxsvg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1678809795
-SHA256 (wxsvg-1.5.24.tar.bz2) = ae473291f8d0a5feafa06cd270c826c6bead4bceb2b9dd6fcecf2db7c25e2482
-SIZE (wxsvg-1.5.24.tar.bz2) = 500480
+TIMESTAMP = 1756589420
+SHA256 (wxsvg-1.5.25.tar.bz2) = 5bf6ac6831b54bd19aef48cde8fa0572dbb63f30aee9d5323f6be6b3f326534b
+SIZE (wxsvg-1.5.25.tar.bz2) = 515503
diff --git a/graphics/xd3d/Makefile b/graphics/xd3d/Makefile
index 5e17d6129a0b..6f5600a2cca1 100644
--- a/graphics/xd3d/Makefile
+++ b/graphics/xd3d/Makefile
@@ -2,11 +2,11 @@ PORTNAME= xd3d
PORTVERSION= 8.3.1
PORTREVISION= 21
CATEGORIES= graphics math
-MASTER_SITES= http://www.cmap.polytechnique.fr/~jouve/xd3d/
+MASTER_SITES= https://www.ljll.fr/jouve/xd3d/
MAINTAINER= thierry@FreeBSD.org
COMMENT= Simple scientific visualization tool
-WWW= http://www.cmap.polytechnique.fr/~jouve/xd3d/
+WWW= https://www.ljll.fr/jouve/xd3d/
LICENSE= GPLv2
@@ -33,7 +33,7 @@ USES+= magick:run
RUN_DEPENDS+= gifsicle:graphics/gifsicle
.endif
-MASTER_SITES_BACKUP= http://pompo.net/ports/
+MASTER_SITES_BACKUP= https://www.pompo.net/ports/
REINPLACE_ARGS= -i ""
FETCH_ARGS=
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/xmountains/Makefile b/graphics/xmountains/Makefile
index 417c50ac222e..7d54701da4ab 100644
--- a/graphics/xmountains/Makefile
+++ b/graphics/xmountains/Makefile
@@ -1,5 +1,5 @@
PORTNAME= xmountains
-PORTVERSION= 2.11
+PORTVERSION= 2.15
CATEGORIES= graphics x11
MASTER_SITES= https://ftp.mirrorservice.org/sites/archive.raspbian.org/raspbian/pool/main/x/xmountains/ \
https://ftp.unicamp.br/pub/debian/pool/main/x/xmountains/
diff --git a/graphics/xmountains/distinfo b/graphics/xmountains/distinfo
index e909671b0d3c..8d452156dc64 100644
--- a/graphics/xmountains/distinfo
+++ b/graphics/xmountains/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1735119822
-SHA256 (xmountains_2.11.orig.tar.gz) = 123dddf40ed3a678a507526469f43af5e4a33bc0c0000232f78cd399c63809d0
-SIZE (xmountains_2.11.orig.tar.gz) = 1192756
+TIMESTAMP = 1765277537
+SHA256 (xmountains_2.15.orig.tar.gz) = 464e60fff2d565dc3000ab0027789a587a1804e1d7a0c0a97216d3b99ad9f5e6
+SIZE (xmountains_2.15.orig.tar.gz) = 1191657
diff --git a/graphics/xournal/Makefile b/graphics/xournal/Makefile
index 37bf0fcdcde0..4d0bba6d19e9 100644
--- a/graphics/xournal/Makefile
+++ b/graphics/xournal/Makefile
@@ -1,6 +1,6 @@
PORTNAME= xournal
PORTVERSION= 0.4.8.2016
-PORTREVISION= 53
+PORTREVISION= 54
CATEGORIES= graphics
MASTER_SITES= SF
diff --git a/graphics/xournalpp/Makefile b/graphics/xournalpp/Makefile
index b50f9f6f7a6c..662fa73c2086 100644
--- a/graphics/xournalpp/Makefile
+++ b/graphics/xournalpp/Makefile
@@ -1,7 +1,7 @@
PORTNAME= xournalpp
DISTVERSIONPREFIX= v
-DISTVERSION= 1.2.3-20240830
-PORTREVISION= 3
+DISTVERSION= 1.2.8
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -25,7 +25,6 @@ LIB_DEPENDS= libgtksourceview-4.so:x11-toolkits/gtksourceview4 \
USES= cmake compiler:c++11-lang gettext-tools gnome lua pkgconfig tex xorg desktop-file-utils shared-mime-info
USE_GITHUB= yes
-GH_TAGNAME= d435ef5
USE_GNOME= atk cairo gdkpixbuf glib20 gtk30 librsvg2 libxml2 pango
USE_XORG= x11 xext xi
USE_TEX= latex:build
diff --git a/graphics/xournalpp/distinfo b/graphics/xournalpp/distinfo
index 2c4f54090d20..af4ffd9bd6eb 100644
--- a/graphics/xournalpp/distinfo
+++ b/graphics/xournalpp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1725058302
-SHA256 (xournalpp-xournalpp-v1.2.3-20240830-d435ef5_GH0.tar.gz) = e906155ee1f46483fcfa4b7a6295c2659017794d0233a7f540b5540f6d00b321
-SIZE (xournalpp-xournalpp-v1.2.3-20240830-d435ef5_GH0.tar.gz) = 16927629
+TIMESTAMP = 1758687288
+SHA256 (xournalpp-xournalpp-v1.2.8_GH0.tar.gz) = f42d81e9509d4bd2d4c2cb2c54049c8518381aa9500c0671febd6c518010e0a7
+SIZE (xournalpp-xournalpp-v1.2.8_GH0.tar.gz) = 16874174
diff --git a/graphics/xournalpp/pkg-plist b/graphics/xournalpp/pkg-plist
index 376deefb1840..d94e395722a3 100644
--- a/graphics/xournalpp/pkg-plist
+++ b/graphics/xournalpp/pkg-plist
@@ -1,12 +1,5 @@
bin/xournalpp
bin/xournalpp-thumbnailer
-share/applications/com.github.xournalpp.xournalpp.desktop
-share/icons/hicolor/scalable/apps/com.github.xournalpp.xournalpp.svg
-share/icons/hicolor/scalable/mimetypes/application-x-xojpp.svg
-share/icons/hicolor/scalable/mimetypes/application-x-xopp.svg
-share/icons/hicolor/scalable/mimetypes/application-x-xopt.svg
-share/icons/hicolor/scalable/mimetypes/gnome-mime-application-x-xopp.svg
-share/icons/hicolor/scalable/mimetypes/gnome-mime-application-x-xopt.svg
share/locale/af_ZA/LC_MESSAGES/xournalpp.mo
share/locale/ar/LC_MESSAGES/xournalpp.mo
share/locale/bn_BD/LC_MESSAGES/xournalpp.mo
@@ -15,6 +8,7 @@ share/locale/cs/LC_MESSAGES/xournalpp.mo
share/locale/da/LC_MESSAGES/xournalpp.mo
share/locale/de/LC_MESSAGES/xournalpp.mo
share/locale/el/LC_MESSAGES/xournalpp.mo
+share/locale/en_GB/LC_MESSAGES/xournalpp.mo
share/locale/eo_UY/LC_MESSAGES/xournalpp.mo
share/locale/es/LC_MESSAGES/xournalpp.mo
share/locale/eu/LC_MESSAGES/xournalpp.mo
@@ -49,11 +43,6 @@ share/locale/zh_HK/LC_MESSAGES/xournalpp.mo
share/locale/zh_TW/LC_MESSAGES/xournalpp.mo
share/man/man1/xournalpp-thumbnailer.1.gz
share/man/man1/xournalpp.1.gz
-share/metainfo/com.github.xournalpp.xournalpp.appdata.xml
-share/mime/packages/com.github.xournalpp.xournalpp.xml
-share/thumbnailers/com.github.xournalpp.xournalpp.thumbnailer
-%%DATADIR%%/palettes/xournal.gpl
-%%DATADIR%%/palettes/xournalpp.gpl
%%DATADIR%%/plugins/ColorCycle/main.lua
%%DATADIR%%/plugins/ColorCycle/plugin.ini
%%DATADIR%%/plugins/Example/main.lua
@@ -61,12 +50,8 @@ share/thumbnailers/com.github.xournalpp.xournalpp.thumbnailer
%%DATADIR%%/plugins/Example/var_dump.lua
%%DATADIR%%/plugins/Export/main.lua
%%DATADIR%%/plugins/Export/plugin.ini
-%%DATADIR%%/plugins/FitToContent/main.lua
-%%DATADIR%%/plugins/FitToContent/plugin.ini
%%DATADIR%%/plugins/HighlightPosition/main.lua
%%DATADIR%%/plugins/HighlightPosition/plugin.ini
-%%DATADIR%%/plugins/ImageActions/main.lua
-%%DATADIR%%/plugins/ImageActions/plugin.ini
%%DATADIR%%/plugins/LayerActions/main.lua
%%DATADIR%%/plugins/LayerActions/plugin.ini
%%DATADIR%%/plugins/MigrateFontSizes/dialog.glade
@@ -76,13 +61,12 @@ share/thumbnailers/com.github.xournalpp.xournalpp.thumbnailer
%%DATADIR%%/plugins/QuickScreenshot/plugin.ini
%%DATADIR%%/plugins/ToggleGrid/plugin.ini
%%DATADIR%%/plugins/ToggleGrid/togglegrid.lua
-%%DATADIR%%/plugins/luapi_application.def.lua
%%DATADIR%%/resources/default_template.tex
%%DATADIR%%/resources/legacy_template.tex
%%DATADIR%%/ui/README.md
%%DATADIR%%/ui/about.glade
-%%DATADIR%%/ui/backgroundSelection.glade
%%DATADIR%%/ui/exportSettings.glade
+%%DATADIR%%/ui/fillOpacity.glade
%%DATADIR%%/ui/goto.glade
%%DATADIR%%/ui/iconsColor-dark/hicolor/24x24/actions/xopp-page-spinner.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/index.theme
@@ -113,25 +97,21 @@ share/thumbnailers/com.github.xournalpp.xournalpp.thumbnailer
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-edit-paste.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-edit-redo.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-edit-undo.svg
-%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-fill-opacity.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-fill.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-floating-toolbox.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-fullscreen.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-go-to.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-hand.svg
-%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-line-style-dash-dot-with-pen.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-line-style-dash-dot.svg
-%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-line-style-dash-with-pen.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-line-style-dash.svg
-%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-line-style-dot-with-pen.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-line-style-dot.svg
-%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-line-style-plain-with-pen.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-line-style-plain.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-object-play.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-object-select.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-page-add.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-page-annotated-next.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-page-delete.svg
+%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-pen-fill-opacity.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-presentation-mode.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-select-lasso.svg
%%DATADIR%%/ui/iconsColor-dark/hicolor/scalable/actions/xopp-select-multilayer-lasso.svg
@@ -172,13 +152,9 @@ share/thumbnailers/com.github.xournalpp.xournalpp.thumbnailer
%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-draw-line.svg
%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-draw-rect.svg
%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-draw-spline.svg
-%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-line-style-dash-dot-with-pen.svg
%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-line-style-dash-dot.svg
-%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-line-style-dash-with-pen.svg
%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-line-style-dash.svg
-%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-line-style-dot-with-pen.svg
%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-line-style-dot.svg
-%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-line-style-plain-with-pen.svg
%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-line-style-plain.svg
%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-presentation-mode.svg
%%DATADIR%%/ui/iconsColor-light/hicolor/scalable/actions/xopp-select-pdf-text-area.svg
@@ -221,25 +197,21 @@ share/thumbnailers/com.github.xournalpp.xournalpp.thumbnailer
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-edit-paste.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-edit-redo.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-edit-undo.svg
-%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-fill-opacity.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-fill.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-floating-toolbox.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-fullscreen.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-go-to.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-hand.svg
-%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-line-style-dash-dot-with-pen.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-line-style-dash-dot.svg
-%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-line-style-dash-with-pen.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-line-style-dash.svg
-%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-line-style-dot-with-pen.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-line-style-dot.svg
-%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-line-style-plain-with-pen.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-line-style-plain.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-object-play.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-object-select.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-page-add.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-page-annotated-next.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-page-delete.svg
+%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-pen-fill-opacity.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-presentation-mode.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-select-lasso.svg
%%DATADIR%%/ui/iconsLucide-dark/hicolor/scalable/actions/xopp-select-pdf-text-area.svg
@@ -297,25 +269,21 @@ share/thumbnailers/com.github.xournalpp.xournalpp.thumbnailer
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-edit-paste.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-edit-redo.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-edit-undo.svg
-%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-fill-opacity.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-fill.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-floating-toolbox.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-fullscreen.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-go-to.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-hand.svg
-%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-line-style-dash-dot-with-pen.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-line-style-dash-dot.svg
-%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-line-style-dash-with-pen.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-line-style-dash.svg
-%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-line-style-dot-with-pen.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-line-style-dot.svg
-%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-line-style-plain-with-pen.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-line-style-plain.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-object-play.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-object-select.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-page-add.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-page-annotated-next.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-page-delete.svg
+%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-pen-fill-opacity.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-presentation-mode.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-select-lasso.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-select-pdf-text-area.svg
@@ -346,13 +314,13 @@ share/thumbnailers/com.github.xournalpp.xournalpp.thumbnailer
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-toolbars-manage.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-transparent.svg
%%DATADIR%%/ui/iconsLucide-light/hicolor/scalable/actions/xopp-zoom-slider.svg
+%%DATADIR%%/ui/images.glade
%%DATADIR%%/ui/latexSettings.glade
%%DATADIR%%/ui/main.glade
-%%DATADIR%%/ui/mainmenubar.xml
-%%DATADIR%%/ui/pageFormat.glade
%%DATADIR%%/ui/pageTemplate.glade
+%%DATADIR%%/ui/pagesize.glade
%%DATADIR%%/ui/pagetemplates.ini
-%%DATADIR%%/ui/paletteSettings.glade
+%%DATADIR%%/ui/pdfpages.glade
%%DATADIR%%/ui/pixmaps/application-x-xojpp.svg
%%DATADIR%%/ui/pixmaps/application-x-xopp.svg
%%DATADIR%%/ui/pixmaps/application-x-xopt.svg
@@ -364,12 +332,10 @@ share/thumbnailers/com.github.xournalpp.xournalpp.thumbnailer
%%DATADIR%%/ui/plugin.glade
%%DATADIR%%/ui/pluginEntry.glade
%%DATADIR%%/ui/renameLayerDialog.glade
-%%DATADIR%%/ui/selectOpacity.glade
%%DATADIR%%/ui/settings.glade
%%DATADIR%%/ui/settingsButtonConfig.glade
%%DATADIR%%/ui/settingsDeviceClassConfig.glade
%%DATADIR%%/ui/settingsLanguageConfig.glade
-%%DATADIR%%/ui/sidebar.ui
%%DATADIR%%/ui/texdialog.glade
%%DATADIR%%/ui/toolbar.ini
%%DATADIR%%/ui/toolbarCustomizeDialog.glade
diff --git a/graphics/xpdf4/Makefile b/graphics/xpdf4/Makefile
index 34d496212312..5299234d7f46 100644
--- a/graphics/xpdf4/Makefile
+++ b/graphics/xpdf4/Makefile
@@ -1,6 +1,5 @@
PORTNAME= xpdf
-PORTVERSION= 4.05
-PORTREVISION= 4
+PORTVERSION= 4.06
PORTEPOCH= 1
CATEGORIES= graphics print
MASTER_SITES= https://dl.xpdfreader.com/
diff --git a/graphics/xpdf4/distinfo b/graphics/xpdf4/distinfo
index d342b133a69b..2c0313058d8b 100644
--- a/graphics/xpdf4/distinfo
+++ b/graphics/xpdf4/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1726541617
-SHA256 (xpdf-4.05.tar.gz) = 92707ed5acb6584fbd73f34091fda91365654ded1f31ba72f0970022cf2a5cea
-SIZE (xpdf-4.05.tar.gz) = 986596
+TIMESTAMP = 1763181564
+SHA256 (xpdf-4.06.tar.gz) = 1c38f527c46caee0f712386d42a885b96a31ed9ce11904e872559859894d137e
+SIZE (xpdf-4.06.tar.gz) = 999317
diff --git a/graphics/xreader/Makefile b/graphics/xreader/Makefile
new file mode 100644
index 000000000000..21919814dbfe
--- /dev/null
+++ b/graphics/xreader/Makefile
@@ -0,0 +1,113 @@
+PORTNAME= xreader
+PORTVERSION= 4.6.0
+PORTREVISION= 1
+CATEGORIES= graphics print gnome
+DIST_SUBDIR= gnome
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= GTK multi-format document viewer
+WWW= https://github.com/linuxmint/xreader
+
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= itstool:textproc/itstool
+LIB_DEPENDS= libxapp.so:x11/xapp \
+ libpoppler-glib.so:graphics/poppler-glib
+
+USES= compiler:c11 desktop-file-utils gnome meson pkgconfig \
+ python:build shebangfix xorg
+
+USE_GITHUB= yes
+GH_ACCOUNT= linuxmint
+
+SHEBANG_FILES= install-scripts test
+
+USE_XORG= ice sm x11
+
+USE_GNOME= cairo gdkpixbuf gtk30 intltool libxml2
+GLIB_SCHEMAS= org.x.reader.gschema.xml
+
+MESON_ARGS= -Dmathjax-directory=${PREFIX}/www/MathJax \
+ -Dpixbuf=true \
+ -Dpdf=true
+USE_LDCONFIG= yes
+
+PORTSCOUT= limit:^[0-9.]+$$ # ignore non-numeric tags
+
+OPTIONS_DEFINE= DBUS DOCS HELP INTROSPECTION KEYRING NLS PREVIEWER T1LIB \
+ THUMBNAILER WAYLAND
+OPTIONS_GROUP= BACKENDS
+OPTIONS_GROUP_BACKENDS= COMICS DJVU DVI EPUB PS TIFF XPS
+OPTIONS_DEFAULT= COMICS DBUS DJVU EPUB HELP INTROSPECTION KEYRING PREVIEWER PS \
+ THUMBNAILER TIFF WAYLAND XPS
+OPTIONS_SUB= yes
+# https://github.com/linuxmint/xreader/pull/662
+OPTIONS_EXCLUDE= DOCS
+
+COMICS_DESC= Comic book archives support
+DJVU_DESC= DJVU support
+DVI_DESC= DVI viewer support
+EPUB_DESC= Epub support
+HELP_DESC= Install help files
+INTROSPECTION_DESC= Enable GObject Introspection
+KEYRING_DESC= Password-protected document support
+PREVIEWER_DESC= Print previewer support
+T1LIB_DESC= T1LIB for TYPE1 fonts to DVI (Enables DVI)
+THUMBNAILER_DESC= Thumbnailer support
+XPS_DESC= XPS support
+
+COMICS_USES= libarchive
+COMICS_MESON_TRUE= comics
+
+DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
+DBUS_MESON_TRUE= enable_dbus
+
+DOCS_BUILD_DEPENDS= gtkdocize:textproc/gtk-doc
+DOCS_MESON_TRUE= docs
+
+DJVU_LIB_DEPENDS= libdjvulibre.so:graphics/djvulibre
+DJVU_MESON_TRUE= djvu
+
+DVI_LIB_DEPENDS= libspectre.so:print/libspectre
+DVI_USE= tex=kpathsea
+DVI_MESON_TRUE= dvi
+
+EPUB_LIB_DEPENDS= libwebkit2gtk-4.1.so:www/webkit2-gtk@41
+EPUB_RUN_DEPENDS= MathJax>0:www/mathjax
+EPUB_MESON_TRUE= epub
+
+HELP_IMPLIES= NLS
+HELP_RUN_DEPENDS= yelp>0:x11/yelp
+HELP_MESON_TRUE= help_files
+
+INTROSPECTION_USE= gnome=introspection:build
+INTROSPECTION_MESON_TRUE= introspection
+
+KEYRING_LIB_DEPENDS= libsecret-1.so:security/libsecret
+KEYRING_MESON_TRUE= keyring
+
+NLS_USES= gettext-tools
+
+PREVIEWER_MESON_TRUE= previewer
+
+PS_LIB_DEPENDS= libspectre.so:print/libspectre
+PS_MESON_TRUE= ps
+
+T1LIB_LIB_DEPENDS= libt1.so:devel/t1lib
+T1LIB_MESON_TRUE= t1lib
+T1LIB_IMPLIES= DVI
+
+THUMBNAILER_MESON_TRUE= thumbnailer
+
+TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
+TIFF_MESON_TRUE= tiff
+
+XPS_LIB_DEPENDS= libgxps.so:graphics/libgxps
+XPS_MESON_TRUE= xps
+
+# XXX x11-toolkits/gtk30 built with WAYLAND disabled will not have <gdk/gdkwayland.h>
+post-patch-WAYLAND-off:
+ @${REINPLACE_CMD} -e '/gdkwayland/d' ${WRKSRC}/libdocument/ev-document-misc.h
+
+.include <bsd.port.mk>
diff --git a/graphics/xreader/distinfo b/graphics/xreader/distinfo
new file mode 100644
index 000000000000..36f419f27dec
--- /dev/null
+++ b/graphics/xreader/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1763830748
+SHA256 (gnome/linuxmint-xreader-4.6.0_GH0.tar.gz) = abab93f367912d83a1df1ff0ade6a95037da0dd79bc6e2e6f142ad01e03c7b6e
+SIZE (gnome/linuxmint-xreader-4.6.0_GH0.tar.gz) = 2217125
diff --git a/graphics/xreader/pkg-descr b/graphics/xreader/pkg-descr
new file mode 100644
index 000000000000..3c6109e7f539
--- /dev/null
+++ b/graphics/xreader/pkg-descr
@@ -0,0 +1,3 @@
+Xreader is a document viewer for multiple document formats including PDF and
+Postscript. The goal of Xreader is to replace document viewers such as ggv and
+gpdf with a single, simple application.
diff --git a/graphics/xreader/pkg-plist b/graphics/xreader/pkg-plist
new file mode 100644
index 000000000000..05724e5ea8a5
--- /dev/null
+++ b/graphics/xreader/pkg-plist
@@ -0,0 +1,311 @@
+bin/xreader
+%%PREVIEWER%%bin/xreader-previewer
+%%THUMBNAILER%%bin/xreader-thumbnailer
+include/xreader/1.5/libdocument/ev-annotation.h
+include/xreader/1.5/libdocument/ev-async-renderer.h
+include/xreader/1.5/libdocument/ev-attachment.h
+include/xreader/1.5/libdocument/ev-backends-manager.h
+include/xreader/1.5/libdocument/ev-document-annotations.h
+include/xreader/1.5/libdocument/ev-document-attachments.h
+include/xreader/1.5/libdocument/ev-document-factory.h
+include/xreader/1.5/libdocument/ev-document-find.h
+include/xreader/1.5/libdocument/ev-document-fonts.h
+include/xreader/1.5/libdocument/ev-document-forms.h
+include/xreader/1.5/libdocument/ev-document-images.h
+include/xreader/1.5/libdocument/ev-document-info.h
+include/xreader/1.5/libdocument/ev-document-layers.h
+include/xreader/1.5/libdocument/ev-document-links.h
+include/xreader/1.5/libdocument/ev-document-misc.h
+include/xreader/1.5/libdocument/ev-document-print.h
+include/xreader/1.5/libdocument/ev-document-security.h
+include/xreader/1.5/libdocument/ev-document-text.h
+include/xreader/1.5/libdocument/ev-document-thumbnails.h
+include/xreader/1.5/libdocument/ev-document-transition.h
+include/xreader/1.5/libdocument/ev-document-type-builtins.h
+include/xreader/1.5/libdocument/ev-document.h
+include/xreader/1.5/libdocument/ev-file-exporter.h
+include/xreader/1.5/libdocument/ev-file-helpers.h
+include/xreader/1.5/libdocument/ev-form-field.h
+include/xreader/1.5/libdocument/ev-image.h
+include/xreader/1.5/libdocument/ev-init.h
+include/xreader/1.5/libdocument/ev-layer.h
+include/xreader/1.5/libdocument/ev-link-action.h
+include/xreader/1.5/libdocument/ev-link-dest.h
+include/xreader/1.5/libdocument/ev-link.h
+include/xreader/1.5/libdocument/ev-macros.h
+include/xreader/1.5/libdocument/ev-mapping-list.h
+include/xreader/1.5/libdocument/ev-page.h
+include/xreader/1.5/libdocument/ev-render-context.h
+include/xreader/1.5/libdocument/ev-selection.h
+include/xreader/1.5/libdocument/ev-transition-effect.h
+include/xreader/1.5/libdocument/ev-version.h
+include/xreader/1.5/libview/ev-document-model.h
+include/xreader/1.5/libview/ev-job-scheduler.h
+include/xreader/1.5/libview/ev-jobs.h
+include/xreader/1.5/libview/ev-print-operation.h
+include/xreader/1.5/libview/ev-stock-icons.h
+include/xreader/1.5/libview/ev-view-presentation.h
+include/xreader/1.5/libview/ev-view-type-builtins.h
+include/xreader/1.5/libview/ev-view.h
+include/xreader/1.5/libview/ev-web-view.h
+include/xreader/1.5/xreader-document.h
+include/xreader/1.5/xreader-view.h
+lib/girepository-1.0/XreaderDocument-1.5.typelib
+lib/girepository-1.0/XreaderView-1.5.typelib
+lib/libxreaderdocument.so
+lib/libxreaderdocument.so.3
+lib/libxreaderdocument.so.%%GTK3_VERSION%%
+lib/libxreaderview.so
+lib/libxreaderview.so.3
+lib/libxreaderview.so.%%GTK3_VERSION%%
+%%COMICS%%lib/xreader/3/backends/comicsdocument.xreader-backend
+%%DJVU%%lib/xreader/3/backends/djvudocument.xreader-backend
+%%DVI%%lib/xreader/3/backends/dvidocument.xreader-backend
+%%EPUB%%lib/xreader/3/backends/epubdocument.xreader-backend
+%%COMICS%%lib/xreader/3/backends/libcomicsdocument.so
+%%DJVU%%lib/xreader/3/backends/libdjvudocument.so
+%%DVI%%lib/xreader/3/backends/libdvidocument.so
+%%EPUB%%lib/xreader/3/backends/libepubdocument.so
+lib/xreader/3/backends/libpdfdocument.so
+lib/xreader/3/backends/libpixbufdocument.so
+%%PS%%lib/xreader/3/backends/libpsdocument.so
+%%TIFF%%lib/xreader/3/backends/libtiffdocument.so
+%%XPS%%lib/xreader/3/backends/libxpsdocument.so
+lib/xreader/3/backends/pdfdocument.xreader-backend
+lib/xreader/3/backends/pixbufdocument.xreader-backend
+%%PS%%lib/xreader/3/backends/psdocument.xreader-backend
+%%TIFF%%lib/xreader/3/backends/tiffdocument.xreader-backend
+%%XPS%%lib/xreader/3/backends/xpsdocument.xreader-backend
+libdata/pkgconfig/xreader-document-1.5.pc
+libdata/pkgconfig/xreader-view-1.5.pc
+%%DBUS%%libexec/xreaderd
+share/applications/xreader.desktop
+share/dbus-1/services/org.x.reader.Daemon.service
+share/gir-1.0/XreaderDocument-1.5.gir
+share/gir-1.0/XreaderView-1.5.gir
+%%HELP%%share/help/C/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/C/xreader/index.docbook
+%%HELP%%share/help/C/xreader/legal.xml
+%%HELP%%share/help/bg/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/bg/xreader/index.docbook
+%%HELP%%share/help/bg/xreader/legal.xml
+%%HELP%%share/help/ca/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/ca/xreader/index.docbook
+%%HELP%%share/help/ca/xreader/legal.xml
+%%HELP%%share/help/cs/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/cs/xreader/index.docbook
+%%HELP%%share/help/cs/xreader/legal.xml
+%%HELP%%share/help/de/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/de/xreader/index.docbook
+%%HELP%%share/help/de/xreader/legal.xml
+%%HELP%%share/help/el/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/el/xreader/index.docbook
+%%HELP%%share/help/el/xreader/legal.xml
+%%HELP%%share/help/en_GB/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/en_GB/xreader/index.docbook
+%%HELP%%share/help/en_GB/xreader/legal.xml
+%%HELP%%share/help/es/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/es/xreader/index.docbook
+%%HELP%%share/help/es/xreader/legal.xml
+%%HELP%%share/help/eu/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/eu/xreader/index.docbook
+%%HELP%%share/help/eu/xreader/legal.xml
+%%HELP%%share/help/fi/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/fi/xreader/index.docbook
+%%HELP%%share/help/fi/xreader/legal.xml
+%%HELP%%share/help/fr/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/fr/xreader/index.docbook
+%%HELP%%share/help/fr/xreader/legal.xml
+%%HELP%%share/help/it/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/it/xreader/index.docbook
+%%HELP%%share/help/it/xreader/legal.xml
+%%HELP%%share/help/ja/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/ja/xreader/index.docbook
+%%HELP%%share/help/ja/xreader/legal.xml
+%%HELP%%share/help/nl/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/nl/xreader/index.docbook
+%%HELP%%share/help/nl/xreader/legal.xml
+%%HELP%%share/help/oc/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/oc/xreader/index.docbook
+%%HELP%%share/help/oc/xreader/legal.xml
+%%HELP%%share/help/pt_BR/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/pt_BR/xreader/index.docbook
+%%HELP%%share/help/pt_BR/xreader/legal.xml
+%%HELP%%share/help/ru/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/ru/xreader/index.docbook
+%%HELP%%share/help/ru/xreader/legal.xml
+%%HELP%%share/help/sl/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/sl/xreader/index.docbook
+%%HELP%%share/help/sl/xreader/legal.xml
+%%HELP%%share/help/sr/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/sr/xreader/index.docbook
+%%HELP%%share/help/sr/xreader/legal.xml
+%%HELP%%share/help/sv/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/sv/xreader/index.docbook
+%%HELP%%share/help/sv/xreader/legal.xml
+%%HELP%%share/help/uk/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/uk/xreader/index.docbook
+%%HELP%%share/help/uk/xreader/legal.xml
+%%HELP%%share/help/vi/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/vi/xreader/index.docbook
+%%HELP%%share/help/vi/xreader/legal.xml
+%%HELP%%share/help/zh_CN/xreader/figures/xreader_start_window.png
+%%HELP%%share/help/zh_CN/xreader/index.docbook
+%%HELP%%share/help/zh_CN/xreader/legal.xml
+share/icons/hicolor/16x16/apps/xreader.png
+share/icons/hicolor/22x22/apps/xreader.png
+share/icons/hicolor/24x24/apps/xreader.png
+share/icons/hicolor/48x48/apps/xreader.png
+share/icons/hicolor/scalable/apps/xreader.svg
+%%NLS%%share/locale/ab/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/af/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/am/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ar/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/as/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ast/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/az/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/be/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/be@latin/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ber/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/bg/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/bn/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/bn_IN/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/br/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ca/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ca@valencia/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/cmn/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/cy/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/da/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/de/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/dz/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/el/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/en@shaw/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/en_AU/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/en_CA/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/en_GB/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/eo/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/es/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/es_CO/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/es_VE/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/et/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/eu/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/fa/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/fr_CA/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ga/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/gl/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/gu/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/he/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/hi/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/hr/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/hu/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/hy/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ia/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/id/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ie/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/is/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/it/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ja/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/jv/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ka/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/kab/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/kk/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/kn/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ko/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ks/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ku/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ky/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/la/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/lv/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/mai/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/mg/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/mk/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ml/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/mn/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/mr/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ms/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/nb/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/nds/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ne/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/nn/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/oc/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/or/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/pa/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ps/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/rw/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/sc/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/si/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/sk/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/sl/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/sq/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/sr@latin/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ta/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/te/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/th/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/tt/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/ur/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/uz/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/vi/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/wa/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/zgh/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/zh_HK/LC_MESSAGES/xreader.mo
+%%NLS%%share/locale/zh_TW/LC_MESSAGES/xreader.mo
+share/man/man1/xreader.1.gz
+%%PREVIEWER%%share/man/man1/xreader-previewer.1.gz
+%%THUMBNAILER%%share/man/man1/xreader-thumbnailer.1.gz
+share/metainfo/xreader.appdata.xml
+%%THUMBNAILER%%share/thumbnailers/xreader.thumbnailer
+%%DATADIR%%/hand-open.png
+%%DATADIR%%/icons/hicolor/16x16/actions/object-rotate-left.png
+%%DATADIR%%/icons/hicolor/16x16/actions/object-rotate-right.png
+%%DATADIR%%/icons/hicolor/16x16/actions/view-page-continuous.png
+%%DATADIR%%/icons/hicolor/16x16/actions/view-page-facing.png
+%%DATADIR%%/icons/hicolor/16x16/actions/zoom-fit-height.png
+%%DATADIR%%/icons/hicolor/16x16/actions/zoom-fit-width.png
+%%DATADIR%%/icons/hicolor/16x16/actions/zoom.png
+%%DATADIR%%/icons/hicolor/16x16/mimetypes/x-office-presentation.png
+%%DATADIR%%/icons/hicolor/22x22/actions/eye.png
+%%DATADIR%%/icons/hicolor/22x22/actions/object-rotate-left.png
+%%DATADIR%%/icons/hicolor/22x22/actions/object-rotate-right.png
+%%DATADIR%%/icons/hicolor/22x22/actions/view-page-continuous.png
+%%DATADIR%%/icons/hicolor/22x22/actions/view-page-facing.png
+%%DATADIR%%/icons/hicolor/22x22/actions/zoom-fit-page.png
+%%DATADIR%%/icons/hicolor/22x22/actions/zoom-fit-width.png
+%%DATADIR%%/icons/hicolor/22x22/actions/zoom.png
+%%DATADIR%%/icons/hicolor/22x22/mimetypes/x-office-presentation.png
+%%DATADIR%%/icons/hicolor/24x24/actions/object-rotate-left.png
+%%DATADIR%%/icons/hicolor/24x24/actions/object-rotate-right.png
+%%DATADIR%%/icons/hicolor/24x24/actions/stock_filters-invert.png
+%%DATADIR%%/icons/hicolor/24x24/actions/view-page-continuous.png
+%%DATADIR%%/icons/hicolor/24x24/actions/view-page-facing.png
+%%DATADIR%%/icons/hicolor/24x24/actions/zoom-fit-height.png
+%%DATADIR%%/icons/hicolor/24x24/actions/zoom-fit-width.png
+%%DATADIR%%/icons/hicolor/24x24/actions/zoom.png
+%%DATADIR%%/icons/hicolor/24x24/mimetypes/x-office-presentation.png
+%%DATADIR%%/icons/hicolor/32x32/actions/object-rotate-left.png
+%%DATADIR%%/icons/hicolor/32x32/actions/object-rotate-right.png
+%%DATADIR%%/icons/hicolor/32x32/actions/view-page-continuous.png
+%%DATADIR%%/icons/hicolor/32x32/actions/view-page-facing.png
+%%DATADIR%%/icons/hicolor/32x32/mimetypes/x-office-presentation.png
+%%DATADIR%%/icons/hicolor/48x48/actions/close.png
+%%DATADIR%%/icons/hicolor/48x48/actions/resize-se.png
+%%DATADIR%%/icons/hicolor/48x48/actions/resize-sw.png
+%%DATADIR%%/icons/hicolor/48x48/actions/view-page-continuous.png
+%%DATADIR%%/icons/hicolor/48x48/actions/view-page-facing.png
+%%DATADIR%%/icons/hicolor/scalable/actions/object-rotate-left.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/object-rotate-right.svg
+%%DATADIR%%/icons/hicolor/scalable/mimetypes/x-office-presentation.svg
diff --git a/graphics/xv/Makefile b/graphics/xv/Makefile
index 511268c9554c..c4744bdfab0c 100644
--- a/graphics/xv/Makefile
+++ b/graphics/xv/Makefile
@@ -1,5 +1,5 @@
PORTNAME= xv
-PORTVERSION= 6.0.2
+PORTVERSION= 6.1.0
DISTVERSIONPREFIX= v
PORTREVISION= 0
CATEGORIES+= graphics
diff --git a/graphics/xv/distinfo b/graphics/xv/distinfo
index b47c11412ed7..68e43f1734c3 100644
--- a/graphics/xv/distinfo
+++ b/graphics/xv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1729055074
-SHA256 (xv/jasper-software-xv-v6.0.2_GH0.tar.gz) = 3fcbc088a01629719c003bde8655105c0b8557ec6ca1f04b40361fced6c08bae
-SIZE (xv/jasper-software-xv-v6.0.2_GH0.tar.gz) = 5052705
+TIMESTAMP = 1764566845
+SHA256 (xv/jasper-software-xv-v6.1.0_GH0.tar.gz) = 7dd3fc9f7ece593d8871bfcc5b894f91e33606f8404ca58bf1b627200cf6db5b
+SIZE (xv/jasper-software-xv-v6.1.0_GH0.tar.gz) = 5150999
diff --git a/graphics/xviewer/Makefile b/graphics/xviewer/Makefile
index cbba10bcec9a..785de1f518df 100644
--- a/graphics/xviewer/Makefile
+++ b/graphics/xviewer/Makefile
@@ -1,6 +1,6 @@
PORTNAME= xviewer
PORTVERSION= 3.4.8
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics gnome
DIST_SUBDIR= gnome
diff --git a/graphics/yacreader/Makefile b/graphics/yacreader/Makefile
index 757f90b66d63..f56cddfee09d 100644
--- a/graphics/yacreader/Makefile
+++ b/graphics/yacreader/Makefile
@@ -1,14 +1,9 @@
PORTNAME= yacreader
-DISTVERSION= 9.15.0
-PORTREVISION= 2
+DISTVERSION= 9.16.1
CATEGORIES= graphics
MASTER_SITES= https://github.com/YACReader/${PORTNAME}/releases/download/${DISTVERSION}/
EXTRACT_SUFX= -src.tar.xz
-PATCH_SITES= https://github.com/YACReader/${PORTNAME}/commit/
-PATCHFILES+= 254652f03ec648423c9488929dc62fb3f4b817c7.patch:-p1 # Fix build with Qt >= 6.9.0
-PATCHFILES+= 6e0e6f3bc39ddc4d7241f4f946088291410feb50.patch:-p1 # Fix build with Qt >= 6.9.0
-
MAINTAINER= eduardo@FreeBSD.org
COMMENT= Yet another comic reader
WWW= https://www.yacreader.com/
diff --git a/graphics/yacreader/distinfo b/graphics/yacreader/distinfo
index b8e8b7a25622..68bcdf28c029 100644
--- a/graphics/yacreader/distinfo
+++ b/graphics/yacreader/distinfo
@@ -1,7 +1,3 @@
-TIMESTAMP = 1745216597
-SHA256 (yacreader-9.15.0-src.tar.xz) = d0f69b7446dd36fdd29ce1a69787a8b563db8b52d2d2444dab678a2d9ae7e6ea
-SIZE (yacreader-9.15.0-src.tar.xz) = 1380428
-SHA256 (254652f03ec648423c9488929dc62fb3f4b817c7.patch) = e9263046475f3fe09e35e9f4a8e1ce71220908e6939858abae434996a5239585
-SIZE (254652f03ec648423c9488929dc62fb3f4b817c7.patch) = 858
-SHA256 (6e0e6f3bc39ddc4d7241f4f946088291410feb50.patch) = 825d8f5fa8dbea88b9b5db5278a08815e0438fd99c6184af4b9727e1363e717a
-SIZE (6e0e6f3bc39ddc4d7241f4f946088291410feb50.patch) = 1095
+TIMESTAMP = 1765202252
+SHA256 (yacreader-9.16.1-src.tar.xz) = 6b53eeaf5094afe5186a98052b6d879dec09c0ef6930805977385783764bcb2f
+SIZE (yacreader-9.16.1-src.tar.xz) = 1392404
diff --git a/graphics/yafaray/Makefile b/graphics/yafaray/Makefile
index 070dcbc0c081..347276dd576e 100644
--- a/graphics/yafaray/Makefile
+++ b/graphics/yafaray/Makefile
@@ -1,7 +1,7 @@
PORTNAME= yafaray
DISTVERSIONPREFIX= v
DISTVERSION= 3.5.1
-PORTREVISION= 29
+PORTREVISION= 32
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -15,7 +15,7 @@ LICENSE_FILE_LGPL21= ${WRKSRC}/LICENSES
ONLY_FOR_ARCHS= amd64 powerpc64le
-LIB_DEPENDS= libboost_system.so:devel/boost-libs \
+LIB_DEPENDS= libboost_thread.so:devel/boost-libs \
libfreetype.so:print/freetype2 \
libImath.so:math/Imath \
libOpenEXR.so:graphics/openexr \
diff --git a/graphics/zathura-cb/Makefile b/graphics/zathura-cb/Makefile
index 47dfd0d9ea37..de09b6d0e643 100644
--- a/graphics/zathura-cb/Makefile
+++ b/graphics/zathura-cb/Makefile
@@ -1,5 +1,6 @@
PORTNAME= zathura-cb
-DISTVERSION= 0.1.11
+DISTVERSION= 0.1.12
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://pwmt.org/projects/zathura-cb/download/
@@ -10,14 +11,12 @@ WWW= https://pwmt.org/projects/zathura-cb/
LICENSE= ZLIB
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= appstream-util:devel/appstream-glib \
+BUILD_DEPENDS= appstreamcli:devel/appstream \
zathura:graphics/zathura
LIB_DEPENDS= libgirara-gtk3.so:x11-toolkits/girara
RUN_DEPENDS= zathura:graphics/zathura
-# testing without USES=ssl
-USES= compiler:c11 desktop-file-utils gnome libarchive meson ninja \
- pkgconfig tar:xz
+USES= compiler:c17 desktop-file-utils gnome meson pkgconfig tar:xz
USE_GNOME= glib20 gtk30
PLIST_FILES= lib/zathura/libcb.so \
diff --git a/graphics/zathura-cb/distinfo b/graphics/zathura-cb/distinfo
index 62bf55282d2a..8d05d369816f 100644
--- a/graphics/zathura-cb/distinfo
+++ b/graphics/zathura-cb/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1724219069
-SHA256 (zathura-cb-0.1.11.tar.xz) = 4e201ea54cdc20a93258c43556f6389441af99740de7dca6ca1ff524172fbd47
-SIZE (zathura-cb-0.1.11.tar.xz) = 6748
+TIMESTAMP = 1761827756
+SHA256 (zathura-cb-0.1.12.tar.xz) = bc62dec4d04d51419192d370ecdf2afa66ba10554c2518abecee0dfce2aac96e
+SIZE (zathura-cb-0.1.12.tar.xz) = 6844
diff --git a/graphics/zathura-cb/files/patch-meson.build b/graphics/zathura-cb/files/patch-meson.build
new file mode 100644
index 000000000000..80473bacb482
--- /dev/null
+++ b/graphics/zathura-cb/files/patch-meson.build
@@ -0,0 +1,21 @@
+--- meson.build.orig 2025-10-28 17:47:54 UTC
++++ meson.build
+@@ -18,9 +18,8 @@ cairo = dependency('cairo')
+ girara = dependency('girara-gtk3')
+ glib = dependency('glib-2.0')
+ cairo = dependency('cairo')
+-libarchive = dependency('libarchive')
+
+-build_dependencies = [zathura, girara, glib, cairo, libarchive]
++build_dependencies = [zathura, girara, glib, cairo]
+
+ if get_option('plugindir') == ''
+ plugindir = zathura.get_variable(pkgconfig: 'plugindir')
+@@ -60,6 +59,7 @@ cb = shared_module('cb',
+ sources,
+ dependencies: build_dependencies,
+ c_args: defines + flags,
++ link_args: ['-larchive'],
+ install: true,
+ install_dir: plugindir
+ )
diff --git a/graphics/zathura-djvu/Makefile b/graphics/zathura-djvu/Makefile
index 95bef96e69ad..1484103bae27 100644
--- a/graphics/zathura-djvu/Makefile
+++ b/graphics/zathura-djvu/Makefile
@@ -1,23 +1,22 @@
PORTNAME= zathura-djvu
-DISTVERSION= 0.2.10
+DISTVERSION= 0.2.11
CATEGORIES= graphics
MASTER_SITES= https://pwmt.org/projects/zathura-djvu/download/
-MAINTAINER= alexander.4mail@gmail.com
-COMMENT= DjVu support for zathura
+MAINTAINER= mew14930xvi@inbox.lv
+COMMENT= DjVu support for Zathura PDF viewer
WWW= https://pwmt.org/projects/zathura-djvu/
LICENSE= ZLIB
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= appstream-util:devel/appstream-glib \
+BUILD_DEPENDS= appstreamcli:devel/appstream \
zathura:graphics/zathura
LIB_DEPENDS= libdjvulibre.so:graphics/djvulibre \
libgirara-gtk3.so:x11-toolkits/girara
RUN_DEPENDS= zathura:graphics/zathura
-USES= compiler:c11 desktop-file-utils gnome meson ninja pkgconfig \
- tar:xz
+USES= compiler:c17 desktop-file-utils gnome meson pkgconfig tar:xz
USE_GNOME= cairo glib20
diff --git a/graphics/zathura-djvu/distinfo b/graphics/zathura-djvu/distinfo
index f1abbba4f279..05abd44d6b0f 100644
--- a/graphics/zathura-djvu/distinfo
+++ b/graphics/zathura-djvu/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1724195438
-SHA256 (zathura-djvu-0.2.10.tar.xz) = 32e9d89929a76cd7d3fcbaf79f441868bdabedf17317d1d1843faa1f19338d95
-SIZE (zathura-djvu-0.2.10.tar.xz) = 9408
+TIMESTAMP = 1761830727
+SHA256 (zathura-djvu-0.2.11.tar.xz) = a854d1d98ec54c2847818270506df3c5f0e134175dd01111af8b3ab3982985c4
+SIZE (zathura-djvu-0.2.11.tar.xz) = 9504
diff --git a/graphics/zathura-djvu/pkg-descr b/graphics/zathura-djvu/pkg-descr
index f32456e5db8f..02bc599b7401 100644
--- a/graphics/zathura-djvu/pkg-descr
+++ b/graphics/zathura-djvu/pkg-descr
@@ -1 +1,2 @@
-Zathura plugin to view DJVU with djvulibre
+The zathura-djvu plugin adds DjVu support to zathura by using the djvulibre
+library.
diff --git a/graphics/zathura-pdf-mupdf/Makefile b/graphics/zathura-pdf-mupdf/Makefile
index ca48d5ee2792..f13d6a011222 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= 4
+DISTVERSION= 0.4.6
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://pwmt.org/projects/zathura-pdf-mupdf/download/
@@ -11,7 +11,7 @@ WWW= https://pwmt.org/projects/zathura-pdf-mupdf/
LICENSE= ZLIB
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= appstream-util:devel/appstream-glib \
+BUILD_DEPENDS= appstreamcli:devel/appstream \
zathura:graphics/zathura
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libgirara-gtk3.so:x11-toolkits/girara \
diff --git a/graphics/zathura-pdf-mupdf/distinfo b/graphics/zathura-pdf-mupdf/distinfo
index cb9b6dad78cd..e9ffaa055075 100644
--- a/graphics/zathura-pdf-mupdf/distinfo
+++ b/graphics/zathura-pdf-mupdf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1722857611
-SHA256 (zathura-pdf-mupdf-0.4.4.tar.xz) = 0125624901cabe3a2fe63315a46e7d966a323c028ff53890dfaf7856adb1f4fc
-SIZE (zathura-pdf-mupdf-0.4.4.tar.xz) = 9512
+TIMESTAMP = 1761799782
+SHA256 (zathura-pdf-mupdf-0.4.6.tar.xz) = c43cddb5809cc87f0bf263999020cb17eeb9ce46e2ea4525eb0ad954ddfb17bb
+SIZE (zathura-pdf-mupdf-0.4.6.tar.xz) = 10328
diff --git a/graphics/zathura-pdf-mupdf/files/patch-meson.build b/graphics/zathura-pdf-mupdf/files/patch-meson.build
index 52af85b6f040..796828013b0b 100644
--- a/graphics/zathura-pdf-mupdf/files/patch-meson.build
+++ b/graphics/zathura-pdf-mupdf/files/patch-meson.build
@@ -1,26 +1,25 @@
---- meson.build.orig 2024-08-04 08:34:58 UTC
+--- meson.build.orig 2025-11-02 14:41:12 UTC
+++ meson.build
-@@ -22,8 +22,7 @@ cairo = dependency('cairo')
+@@ -23,7 +23,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 = [
+@@ -32,26 +32,7 @@ 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)
+- mupdfthird = cc.find_library('mupdf-third')
- 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
@@ -32,27 +31,9 @@
- 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
- ]
+- build_dependencies += [mupdf]
-endif
++build_dependencies += [mupdf]
if get_option('plugindir') == ''
plugindir = zathura.get_variable(pkgconfig: 'plugindir')
diff --git a/graphics/zathura-pdf-mupdf/pkg-descr b/graphics/zathura-pdf-mupdf/pkg-descr
index b3a3afa07d16..3284b499ee4d 100644
--- a/graphics/zathura-pdf-mupdf/pkg-descr
+++ b/graphics/zathura-pdf-mupdf/pkg-descr
@@ -1 +1,3 @@
-Zathura plugin to view PDF using the MuPDF rendering engine.
+zathura is a highly customizable and functional document viewer based on the
+girara user interface library and several document libraries. This plugin for
+zathura provides PDF support using the mupdf library.
diff --git a/graphics/zathura-pdf-poppler/Makefile b/graphics/zathura-pdf-poppler/Makefile
index 7ccc6e5658d4..7f1a5cfd3425 100644
--- a/graphics/zathura-pdf-poppler/Makefile
+++ b/graphics/zathura-pdf-poppler/Makefile
@@ -1,6 +1,6 @@
PORTNAME= zathura-pdf-poppler
-DISTVERSION= 0.3.3
-PORTREVISION= 3
+DISTVERSION= 0.3.4
+PORTREVISION= 1
CATEGORIES= graphics
MASTER_SITES= https://pwmt.org/projects/zathura-pdf-poppler/download/
@@ -11,14 +11,13 @@ WWW= https://pwmt.org/projects/zathura-pdf-poppler/
LICENSE= ZLIB
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= appstream-util:devel/appstream-glib \
- zathura>=0.5.3:graphics/zathura
+BUILD_DEPENDS= appstreamcli:devel/appstream \
+ zathura:graphics/zathura
LIB_DEPENDS= libgirara-gtk3.so:x11-toolkits/girara \
libpoppler-glib.so:graphics/poppler-glib
-RUN_DEPENDS= zathura>=0.5.3:graphics/zathura
+RUN_DEPENDS= zathura:graphics/zathura
-USES= compiler:c11 desktop-file-utils gnome meson ninja pkgconfig \
- tar:xz
+USES= compiler:c17 desktop-file-utils gnome meson pkgconfig tar:xz
USE_GNOME= cairo glib20
CONFLICTS_INSTALL= zathura-pdf-mupdf
diff --git a/graphics/zathura-pdf-poppler/distinfo b/graphics/zathura-pdf-poppler/distinfo
index 7035211e1a75..4308111b5df1 100644
--- a/graphics/zathura-pdf-poppler/distinfo
+++ b/graphics/zathura-pdf-poppler/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1722797047
-SHA256 (zathura-pdf-poppler-0.3.3.tar.xz) = c812f2f4446fd5de16734e13c02ea9aa25ba4e3ba9f72b732c0ff90f9ba34935
-SIZE (zathura-pdf-poppler-0.3.3.tar.xz) = 9832
+TIMESTAMP = 1761827808
+SHA256 (zathura-pdf-poppler-0.3.4.tar.xz) = 389fd46e27c7bb0ecb266dbdb0dca4aa9c90a5a0ef5096912f8faebeff939813
+SIZE (zathura-pdf-poppler-0.3.4.tar.xz) = 9944
diff --git a/graphics/zathura-ps/Makefile b/graphics/zathura-ps/Makefile
index 5cc0d31b503c..ea05dd904135 100644
--- a/graphics/zathura-ps/Makefile
+++ b/graphics/zathura-ps/Makefile
@@ -1,6 +1,5 @@
PORTNAME= zathura-ps
-DISTVERSION= 0.2.8
-PORTREVISION= 2
+DISTVERSION= 0.2.9
CATEGORIES= graphics
MASTER_SITES= https://pwmt.org/projects/zathura-ps/download/
@@ -11,14 +10,13 @@ WWW= https://pwmt.org/projects/zathura-ps/
LICENSE= ZLIB
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= appstream-util:devel/appstream-glib \
+BUILD_DEPENDS= appstreamcli:devel/appstream \
zathura:graphics/zathura
LIB_DEPENDS= libgirara-gtk3.so:x11-toolkits/girara \
libspectre.so:print/libspectre
RUN_DEPENDS= zathura:graphics/zathura
-USES= compiler:c11 desktop-file-utils gnome meson ninja pkgconfig \
- tar:xz
+USES= compiler:c17 desktop-file-utils gnome meson pkgconfig tar:xz
USE_GNOME= cairo
PLIST_FILES= lib/zathura/libps.so \
diff --git a/graphics/zathura-ps/distinfo b/graphics/zathura-ps/distinfo
index 8ee43171c512..465cc92f9a1f 100644
--- a/graphics/zathura-ps/distinfo
+++ b/graphics/zathura-ps/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1722800434
-SHA256 (zathura-ps-0.2.8.tar.xz) = 07ca594f7277f9876d0038048418343ea2964028e93c90f9569eff36a8932e4a
-SIZE (zathura-ps-0.2.8.tar.xz) = 4716
+TIMESTAMP = 1761691106
+SHA256 (zathura-ps-0.2.9.tar.xz) = a95334500848a7a6e8f497232abbc63ba4a628796df73766c3714840083555e8
+SIZE (zathura-ps-0.2.9.tar.xz) = 4820
diff --git a/graphics/zathura/Makefile b/graphics/zathura/Makefile
index 619f39bd68a4..2dc38c7097e4 100644
--- a/graphics/zathura/Makefile
+++ b/graphics/zathura/Makefile
@@ -1,5 +1,5 @@
PORTNAME= zathura
-DISTVERSION= 0.5.11
+DISTVERSION= 0.5.14
CATEGORIES= graphics print
MASTER_SITES= https://pwmt.org/projects/zathura/download/
@@ -13,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libgirara-gtk3.so:x11-toolkits/girara \
libjson-glib-1.0.so:devel/json-glib
-USES= compiler:c17 gettext gnome meson ninja pkgconfig sqlite tar:xz
+USES= compiler:c17 gettext gnome meson pkgconfig sqlite tar:xz
USE_GNOME= glib20 gtk30
MESON_ARGS= -Dlandlock=disabled \
-Dseccomp=disabled \
@@ -26,15 +26,15 @@ OPTIONS_SUB= yes
SYNCTEX_DESC= Direct and reverse synchronisation support with SyncTeX
MANPAGES_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}sphinx>=1.2.2,1:textproc/py-sphinx@${PY_FLAVOR}
-MANPAGES_USES= python
+ ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR}
+MANPAGES_USES= python:build
MANPAGES_MESON_ENABLED= manpages
-SYNCTEX_BUILD_DEPENDS= tex-synctex>=1.19.0:devel/tex-synctex
+SYNCTEX_BUILD_DEPENDS= tex-synctex>0:devel/tex-synctex
SYNCTEX_RUN_DEPENDS= ${SYNCTEX_BUILD_DEPENDS}
SYNCTEX_MESON_ENABLED= synctex
-post-patch:
+post-patch-MANPAGES-on:
@${REINPLACE_CMD} -e 's|^/etc|${PREFIX}/etc|' ${WRKSRC}/doc/man/zathurarc.5.rst
.include <bsd.port.mk>
diff --git a/graphics/zathura/distinfo b/graphics/zathura/distinfo
index 212920c6447d..1868cd6d571b 100644
--- a/graphics/zathura/distinfo
+++ b/graphics/zathura/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734525804
-SHA256 (zathura-0.5.11.tar.xz) = 54458a9998af0fb8faef2e934a81127bbe4b790c86dcd2c8b8f32365f3d1b53c
-SIZE (zathura-0.5.11.tar.xz) = 167820
+TIMESTAMP = 1761604876
+SHA256 (zathura-0.5.14.tar.xz) = 647aca4d494315905d236504576e35b7568a4d702e56aa4590295a9f6a7259bd
+SIZE (zathura-0.5.14.tar.xz) = 177360
diff --git a/graphics/zathura/pkg-plist b/graphics/zathura/pkg-plist
index 71d20bc03aad..8f82fd94c3a3 100644
--- a/graphics/zathura/pkg-plist
+++ b/graphics/zathura/pkg-plist
@@ -19,29 +19,28 @@ share/icons/hicolor/256x256/apps/org.pwmt.zathura.png
share/icons/hicolor/32x32/apps/org.pwmt.zathura.png
share/icons/hicolor/64x64/apps/org.pwmt.zathura.png
share/icons/hicolor/scalable/apps/org.pwmt.zathura.svg
-share/locale/ar/LC_MESSAGES/zathura.mo
-share/locale/ca/LC_MESSAGES/zathura.mo
-share/locale/cs/LC_MESSAGES/zathura.mo
-share/locale/de/LC_MESSAGES/zathura.mo
-share/locale/el/LC_MESSAGES/zathura.mo
-share/locale/eo/LC_MESSAGES/zathura.mo
-share/locale/es/LC_MESSAGES/zathura.mo
-share/locale/es_CL/LC_MESSAGES/zathura.mo
-share/locale/et/LC_MESSAGES/zathura.mo
-share/locale/fr/LC_MESSAGES/zathura.mo
-share/locale/he/LC_MESSAGES/zathura.mo
-share/locale/hr/LC_MESSAGES/zathura.mo
-share/locale/id_ID/LC_MESSAGES/zathura.mo
-share/locale/it/LC_MESSAGES/zathura.mo
-share/locale/lt/LC_MESSAGES/zathura.mo
-share/locale/nl/LC_MESSAGES/zathura.mo
-share/locale/no/LC_MESSAGES/zathura.mo
-share/locale/pl/LC_MESSAGES/zathura.mo
-share/locale/pt_BR/LC_MESSAGES/zathura.mo
-share/locale/ru/LC_MESSAGES/zathura.mo
-share/locale/sv/LC_MESSAGES/zathura.mo
-share/locale/ta_IN/LC_MESSAGES/zathura.mo
-share/locale/tr/LC_MESSAGES/zathura.mo
-share/locale/uk_UA/LC_MESSAGES/zathura.mo
+share/locale/ar/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/ca/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/cs/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/de/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/el/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/eo/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/es/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/es_CL/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/et/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/fr/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/he/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/id_ID/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/it/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/lt/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/nl/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/no/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/pl/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/pt_BR/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/ru/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/sv/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/ta_IN/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/tr/LC_MESSAGES/org.pwmt.zathura.mo
+share/locale/uk_UA/LC_MESSAGES/org.pwmt.zathura.mo
share/metainfo/org.pwmt.zathura.appdata.xml
share/zsh/site-functions/_zathura
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 \