aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'graphics')
-rw-r--r--graphics/Coin/Makefile2
-rw-r--r--graphics/Coin/distinfo6
-rw-r--r--graphics/Coin/pkg-plist2
-rw-r--r--graphics/ImageMagick6/Makefile2
-rw-r--r--graphics/ImageMagick7/Makefile2
-rw-r--r--graphics/Makefile7
-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-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/agg/Makefile2
-rw-r--r--graphics/appleseed/Makefile2
-rw-r--r--graphics/blender/Makefile2
-rw-r--r--graphics/cimg/Makefile2
-rw-r--r--graphics/cimg/distinfo6
-rw-r--r--graphics/cloudcompare/Makefile4
-rw-r--r--graphics/colmap/Makefile1
-rw-r--r--graphics/converseen/Makefile2
-rw-r--r--graphics/converseen/distinfo6
-rw-r--r--graphics/corrupter/Makefile2
-rw-r--r--graphics/d2/Makefile2
-rw-r--r--graphics/digikam/Makefile2
-rw-r--r--graphics/digikam/distinfo6
-rw-r--r--graphics/digikam/pkg-plist1
-rw-r--r--graphics/drawio/Makefile2
-rw-r--r--graphics/drm-510-kmod/Makefile2
-rw-r--r--graphics/drm-510-kmod/Makefile.version2
-rw-r--r--graphics/drm-510-kmod/distinfo6
-rw-r--r--graphics/drm-515-kmod/Makefile2
-rw-r--r--graphics/drm-515-kmod/Makefile.version2
-rw-r--r--graphics/drm-515-kmod/distinfo6
-rw-r--r--graphics/drm-61-kmod/Makefile2
-rw-r--r--graphics/drm-61-kmod/Makefile.version2
-rw-r--r--graphics/drm-61-kmod/distinfo6
-rw-r--r--graphics/drm-66-kmod/Makefile2
-rw-r--r--graphics/drm-66-kmod/Makefile.version2
-rw-r--r--graphics/drm-66-kmod/distinfo6
-rw-r--r--graphics/dspdfviewer/Makefile2
-rw-r--r--graphics/epsonscan2/Makefile2
-rw-r--r--graphics/evolvotron/Makefile2
-rw-r--r--graphics/fracplanet/Makefile2
-rw-r--r--graphics/frei0r/distinfo6
-rw-r--r--graphics/frei0r/files/patch-src_filter_CMakeLists.txt4
-rw-r--r--graphics/frei0r/files/patch-src_filter_heatmap0r_CMakeLists.txt10
-rw-r--r--graphics/frei0r/pkg-plist1
-rw-r--r--graphics/frei0r/version.mk2
-rw-r--r--graphics/gegl/Makefile10
-rw-r--r--graphics/gegl/distinfo8
-rw-r--r--graphics/geoserver/Makefile14
-rw-r--r--graphics/geoserver/distinfo6
-rw-r--r--graphics/geoserver/pkg-plist121
-rw-r--r--graphics/gimp-app/files/patch-libgimp_gimp.c8
-rw-r--r--graphics/gimp3-app/Makefile17
-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-plist25
-rw-r--r--graphics/gnash/Makefile2
-rw-r--r--graphics/gource/Makefile11
-rw-r--r--graphics/gource/distinfo6
-rw-r--r--graphics/gowall/Makefile41
-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/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/gtkam/Makefile2
-rw-r--r--graphics/hugin/Makefile2
-rw-r--r--graphics/hyprgraphics/Makefile6
-rw-r--r--graphics/hyprgraphics/distinfo6
-rw-r--r--graphics/hyprland-protocols/Makefile2
-rw-r--r--graphics/hyprland-protocols/distinfo6
-rw-r--r--graphics/hyprland-protocols/pkg-plist1
-rw-r--r--graphics/inkscape/Makefile2
-rw-r--r--graphics/jp/Makefile2
-rw-r--r--graphics/kgraphviewer/Makefile1
-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/libetonyek01/Makefile3
-rw-r--r--graphics/libetonyek01/distinfo6
-rw-r--r--graphics/libetonyek01/files/patch-src_lib_IWAParser.cpp29
-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/libskiasharp/Makefile26
-rw-r--r--graphics/libskiasharp/distinfo8
-rw-r--r--graphics/libskiasharp/files/libskiasharp.map10
-rw-r--r--graphics/luminance-qt5/Makefile2
-rw-r--r--graphics/mapnik/Makefile48
-rw-r--r--graphics/mapnik/distinfo18
-rw-r--r--graphics/mapnik/files/patch-plugins_input_tiles_pmtiles__source.hpp29
-rw-r--r--graphics/mapnik/pkg-plist4
-rw-r--r--graphics/mapserver/Makefile3
-rw-r--r--graphics/mapserver/distinfo6
-rw-r--r--graphics/mapserver/pkg-plist2
-rw-r--r--graphics/mesa-devel/Makefile9
-rw-r--r--graphics/mesa-devel/distinfo6
-rw-r--r--graphics/msl/Makefile4
-rw-r--r--graphics/natron/Makefile4
-rw-r--r--graphics/nip2/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/Makefile4
-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-66-kmod-devel/Makefile4
-rw-r--r--graphics/nvidia-drm-66-kmod-devel/distinfo10
-rw-r--r--graphics/nvidia-drm-66-kmod/Makefile3
-rw-r--r--graphics/nvidia-drm-66-kmod/distinfo10
-rw-r--r--graphics/nvidia-drm-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-kmod/Makefile2
-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/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/Makefile4
-rw-r--r--graphics/openexr/distinfo6
-rw-r--r--graphics/openexr/files/patch-openjph23
-rw-r--r--graphics/openimageio/Makefile2
-rw-r--r--graphics/openjpeg/Makefile2
-rw-r--r--graphics/openjpeg/distinfo6
-rw-r--r--graphics/openjph/Makefile2
-rw-r--r--graphics/openjph/distinfo6
-rw-r--r--graphics/openjph/pkg-plist2
-rw-r--r--graphics/openmvs/Makefile4
-rw-r--r--graphics/openorienteering-mapper/Makefile6
-rw-r--r--graphics/openorienteering-mapper/distinfo4
-rw-r--r--graphics/openshadinglanguage/Makefile2
-rw-r--r--graphics/openvkl/Makefile3
-rw-r--r--graphics/openxr/Makefile2
-rw-r--r--graphics/openxr/distinfo6
-rw-r--r--graphics/osg/Makefile2
-rw-r--r--graphics/osgearth/Makefile2
-rw-r--r--graphics/oyranos/Makefile2
-rw-r--r--graphics/p5-Image-ExifTool-devel/Makefile2
-rw-r--r--graphics/p5-Image-ExifTool-devel/distinfo6
-rw-r--r--graphics/p5-Image-ExifTool/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/pcl-pointclouds/Makefile8
-rw-r--r--graphics/photoqt/Makefile2
-rw-r--r--graphics/povray37/Makefile2
-rw-r--r--graphics/povray38/Makefile2
-rw-r--r--graphics/proj-data/Makefile2
-rw-r--r--graphics/proj-data/distinfo6
-rw-r--r--graphics/proj-data/pkg-plist2
-rw-r--r--graphics/proj/Makefile4
-rw-r--r--graphics/proj/distinfo6
-rw-r--r--graphics/proj/pkg-plist2
-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-face_recognition_models/Makefile4
-rw-r--r--graphics/py-openimageio/Makefile2
-rw-r--r--graphics/py-openshadinglanguage/Makefile2
-rw-r--r--graphics/py-pygraphviz/Makefile2
-rw-r--r--graphics/py-sorl-thumbnail/Makefile2
-rw-r--r--graphics/py-tifffile/Makefile4
-rw-r--r--graphics/py-tifffile/distinfo6
-rw-r--r--graphics/satty/Makefile4
-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/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/synfig/Makefile2
-rw-r--r--graphics/vhs/Makefile2
-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/yafaray/Makefile4
220 files changed, 2479 insertions, 1167 deletions
diff --git a/graphics/Coin/Makefile b/graphics/Coin/Makefile
index f89b39380542..020fda30ff67 100644
--- a/graphics/Coin/Makefile
+++ b/graphics/Coin/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Coin
-PORTVERSION= 4.0.5
+PORTVERSION= 4.0.6
DISTVERSIONPREFIX= v
CATEGORIES= graphics
diff --git a/graphics/Coin/distinfo b/graphics/Coin/distinfo
index 7cc7a285b266..13370066dfd5 100644
--- a/graphics/Coin/distinfo
+++ b/graphics/Coin/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1754387694
-SHA256 (coin3d-coin-v4.0.5_GH0.tar.gz) = 4bd23e11f0934ce8311497770d2f9e89703e6876c232831f004fcdd496e5f5a6
-SIZE (coin3d-coin-v4.0.5_GH0.tar.gz) = 6953433
+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 28958fb59016..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.5
+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 492e56d0d38d..0cfc88e77cc1 100644
--- a/graphics/ImageMagick6/Makefile
+++ b/graphics/ImageMagick6/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ImageMagick
DISTVERSION= 6.9.13-23
-PORTREVISION= 4
+PORTREVISION= 5
PORTEPOCH= 1
CATEGORIES= graphics perl5
MASTER_SITES= https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/releases/ \
diff --git a/graphics/ImageMagick7/Makefile b/graphics/ImageMagick7/Makefile
index fb81c00d0923..895fb84ff200 100644
--- a/graphics/ImageMagick7/Makefile
+++ b/graphics/ImageMagick7/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ImageMagick
DISTVERSION= 7.1.1-45
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics perl5
MASTER_SITES= https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/releases/ \
https://mirror.dogado.de/imagemagick/releases/ \
diff --git a/graphics/Makefile b/graphics/Makefile
index 50b87413c358..bd51262e1430 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
@@ -634,6 +637,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
@@ -916,6 +921,7 @@
SUBDIR += py-contextily
SUBDIR += py-descartes
SUBDIR += py-diplib
+ SUBDIR += py-dj52-sorl-thumbnail
SUBDIR += py-django-easy-thumbnails
SUBDIR += py-djvulibre
SUBDIR += py-exifread
@@ -1184,6 +1190,7 @@
SUBDIR += simpleviewer
SUBDIR += skanlite
SUBDIR += skanpage
+ SUBDIR += skia
SUBDIR += spirv-cross
SUBDIR += spirv-tools
SUBDIR += springgraph
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-rgl/Makefile b/graphics/R-cran-rgl/Makefile
new file mode 100644
index 000000000000..2725b38a9859
--- /dev/null
+++ b/graphics/R-cran-rgl/Makefile
@@ -0,0 +1,44 @@
+PORTNAME= rgl
+DISTVERSION= 1.3.24
+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..30d9e3c3e784
--- /dev/null
+++ b/graphics/R-cran-rgl/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760362372
+SHA256 (rgl_1.3.24.tar.gz) = 9f580a97c56eaf28344da83a2309e35cd665fa77ba07a324d9c4789bdc03ee49
+SIZE (rgl_1.3.24.tar.gz) = 4146898
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/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/appleseed/Makefile b/graphics/appleseed/Makefile
index 2978ccdaa53c..a9b98309da64 100644
--- a/graphics/appleseed/Makefile
+++ b/graphics/appleseed/Makefile
@@ -1,6 +1,6 @@
PORTNAME= appleseed
DISTVERSION= 2.1.0-beta
-PORTREVISION= 21
+PORTREVISION= 22
CATEGORIES= graphics
PATCH_SITES= http://vault.101011010.xyz/distfiles/ LOCAL/danfe
diff --git a/graphics/blender/Makefile b/graphics/blender/Makefile
index aa247cd14c52..891e636ddfd6 100644
--- a/graphics/blender/Makefile
+++ b/graphics/blender/Makefile
@@ -1,6 +1,6 @@
PORTNAME= blender
DISTVERSION= 4.2.0
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= graphics multimedia
MASTER_SITES= http://download.blender.org/source/ \
http://mirror.cs.umn.edu/blender.org/source/ \
diff --git a/graphics/cimg/Makefile b/graphics/cimg/Makefile
index 7b866483c31a..bed8e440d0bf 100644
--- a/graphics/cimg/Makefile
+++ b/graphics/cimg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cimg
DISTVERSIONPREFIX= v.
-DISTVERSION= 3.6.2
+DISTVERSION= 3.6.3
PORTEPOCH= 3
CATEGORIES= graphics devel
diff --git a/graphics/cimg/distinfo b/graphics/cimg/distinfo
index a0fba8eddaa8..bae94f40d62d 100644
--- a/graphics/cimg/distinfo
+++ b/graphics/cimg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759493205
-SHA256 (GreycLab-CImg-v.3.6.2_GH0.tar.gz) = e4ec8c103015903d5e66bc4d1cd39fb19e9d2f535c45917587668abc74226147
-SIZE (GreycLab-CImg-v.3.6.2_GH0.tar.gz) = 12680285
+TIMESTAMP = 1760881812
+SHA256 (GreycLab-CImg-v.3.6.3_GH0.tar.gz) = 6dd5aabbf1edf56f39d09cdb9d361dd526db0b9c0991f7bf8b1b2b489fa043ae
+SIZE (GreycLab-CImg-v.3.6.3_GH0.tar.gz) = 12682908
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 80a35cd4254b..56ef149eda67 100644
--- a/graphics/colmap/Makefile
+++ b/graphics/colmap/Makefile
@@ -1,5 +1,6 @@
PORTNAME= colmap
DISTVERSION= 3.12.6
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= fuz@FreeBSD.org
diff --git a/graphics/converseen/Makefile b/graphics/converseen/Makefile
index 6a935e4fe788..33e253d08d0e 100644
--- a/graphics/converseen/Makefile
+++ b/graphics/converseen/Makefile
@@ -1,6 +1,6 @@
PORTNAME= converseen
DISTVERSIONPREFIX= v
-DISTVERSION= 0.15.0.3
+DISTVERSION= 0.15.1.0
CATEGORIES= graphics
MAINTAINER= fernape@FreeBSD.org
diff --git a/graphics/converseen/distinfo b/graphics/converseen/distinfo
index 73f9741f1150..a11ff1b8db6d 100644
--- a/graphics/converseen/distinfo
+++ b/graphics/converseen/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1758644965
-SHA256 (Faster3ck-Converseen-v0.15.0.3_GH0.tar.gz) = 9684793bc39726b852601559ab991c5cf8e0401c8a408bdcafa9f0e83215f640
-SIZE (Faster3ck-Converseen-v0.15.0.3_GH0.tar.gz) = 969382
+TIMESTAMP = 1760885885
+SHA256 (Faster3ck-Converseen-v0.15.1.0_GH0.tar.gz) = 8212ba763e0d80dc8ebc39b6fb75923ecadef807a04ad3296e24c04a99fc881e
+SIZE (Faster3ck-Converseen-v0.15.1.0_GH0.tar.gz) = 972563
diff --git a/graphics/corrupter/Makefile b/graphics/corrupter/Makefile
index 3a7d46968871..2018f46b6ea1 100644
--- a/graphics/corrupter/Makefile
+++ b/graphics/corrupter/Makefile
@@ -1,7 +1,7 @@
PORTNAME= corrupter
DISTVERSIONPREFIX= v
DISTVERSION= 1.0
-PORTREVISION= 29
+PORTREVISION= 31
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/d2/Makefile b/graphics/d2/Makefile
index 9c883877e501..82543c9d8817 100644
--- a/graphics/d2/Makefile
+++ b/graphics/d2/Makefile
@@ -1,7 +1,7 @@
PORTNAME= d2
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.1
-PORTREVISION= 1
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= adamw@FreeBSD.org
diff --git a/graphics/digikam/Makefile b/graphics/digikam/Makefile
index aed06b7421ae..bab4f3f3a0a5 100644
--- a/graphics/digikam/Makefile
+++ b/graphics/digikam/Makefile
@@ -1,5 +1,5 @@
PORTNAME= digikam
-DISTVERSION= 8.7.0
+DISTVERSION= 8.8.0
CATEGORIES= graphics kde
MASTER_SITES= KDE/stable/${PORTNAME}/${PORTVERSION} \
https://files.kde.org/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet \
diff --git a/graphics/digikam/distinfo b/graphics/digikam/distinfo
index cb07adbc6828..0f555e15b762 100644
--- a/graphics/digikam/distinfo
+++ b/graphics/digikam/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1755889431
-SHA256 (KDE/digikam/digiKam-8.7.0.tar.xz) = 79e35ec20a43934cf8322d47c9c0540b0b8b727fa7d9aceb90f710fcfe9da02f
-SIZE (KDE/digikam/digiKam-8.7.0.tar.xz) = 55060536
+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
diff --git a/graphics/digikam/pkg-plist b/graphics/digikam/pkg-plist
index a8e603db429f..b2473a48c89f 100644
--- a/graphics/digikam/pkg-plist
+++ b/graphics/digikam/pkg-plist
@@ -205,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
diff --git a/graphics/drawio/Makefile b/graphics/drawio/Makefile
index 697976df12a3..bc4cadee66fa 100644
--- a/graphics/drawio/Makefile
+++ b/graphics/drawio/Makefile
@@ -1,6 +1,6 @@
PORTNAME= drawio
PORTVERSION= 28.0.6
-PORTREVISION= 7
+PORTREVISION= 10
DISTVERSIONPREFIX= x86_64-
CATEGORIES= graphics
MASTER_SITES= https://github.com/jgraph/drawio-desktop/releases/download/v${PORTVERSION}/
diff --git a/graphics/drm-510-kmod/Makefile b/graphics/drm-510-kmod/Makefile
index 3abf0d0ff5ff..d6cd2dcd56ec 100644
--- a/graphics/drm-510-kmod/Makefile
+++ b/graphics/drm-510-kmod/Makefile
@@ -1,6 +1,6 @@
PORTNAME= drm-510-kmod
PORTVERSION= ${DRM_KMOD_DISTVERSION}
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= graphics kld
.include "Makefile.version"
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 047fb1ea6631..671c1726f40f 100644
--- a/graphics/drm-515-kmod/Makefile
+++ b/graphics/drm-515-kmod/Makefile
@@ -1,6 +1,6 @@
PORTNAME= drm-515-kmod
PORTVERSION= ${DRM_KMOD_DISTVERSION}
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics kld
.include "Makefile.version"
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-61-kmod/Makefile b/graphics/drm-61-kmod/Makefile
index 093ca725da27..91df80087b59 100644
--- a/graphics/drm-61-kmod/Makefile
+++ b/graphics/drm-61-kmod/Makefile
@@ -1,6 +1,6 @@
PORTNAME= drm-61-kmod
PORTVERSION= ${DRM_KMOD_DISTVERSION}
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics kld
.include "Makefile.version"
diff --git a/graphics/drm-61-kmod/Makefile.version b/graphics/drm-61-kmod/Makefile.version
index 3a86e2b89163..d3d1bf7c8e96 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_5
+DRM_KMOD_GH_TAGNAME= drm_v6.1.128_6
diff --git a/graphics/drm-61-kmod/distinfo b/graphics/drm-61-kmod/distinfo
index 4c18812742e8..7e23f847980c 100644
--- a/graphics/drm-61-kmod/distinfo
+++ b/graphics/drm-61-kmod/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1757966238
-SHA256 (freebsd-drm-kmod-6.1.128-drm_v6.1.128_5_GH0.tar.gz) = 6cbb9f5827644b4b5965109fba263cebba463d3afda2366ad51e4b8c3a944313
-SIZE (freebsd-drm-kmod-6.1.128-drm_v6.1.128_5_GH0.tar.gz) = 37105728
+TIMESTAMP = 1760982961
+SHA256 (freebsd-drm-kmod-6.1.128-drm_v6.1.128_6_GH0.tar.gz) = cfc9f2a0519a4d4c98f0489914925c6da9177bc48759ea0b1aecb51dda90f145
+SIZE (freebsd-drm-kmod-6.1.128-drm_v6.1.128_6_GH0.tar.gz) = 37106003
diff --git a/graphics/drm-66-kmod/Makefile b/graphics/drm-66-kmod/Makefile
index 8111cdf1cb13..759823025495 100644
--- a/graphics/drm-66-kmod/Makefile
+++ b/graphics/drm-66-kmod/Makefile
@@ -1,6 +1,6 @@
PORTNAME= drm-66-kmod
PORTVERSION= ${DRM_KMOD_DISTVERSION}
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= graphics kld
.include "Makefile.version"
diff --git a/graphics/drm-66-kmod/Makefile.version b/graphics/drm-66-kmod/Makefile.version
index aa9e5ccdd14d..fe8adadf8315 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_6
+DRM_KMOD_GH_TAGNAME= drm_v6.6.25_7
diff --git a/graphics/drm-66-kmod/distinfo b/graphics/drm-66-kmod/distinfo
index 03028f99ebd5..7d1944e00526 100644
--- a/graphics/drm-66-kmod/distinfo
+++ b/graphics/drm-66-kmod/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1757965987
-SHA256 (freebsd-drm-kmod-6.6.25-drm_v6.6.25_6_GH0.tar.gz) = 3413b0233df5652501d1440fe8f761e28b23f9004b722f88ef412e88d0d7fd68
-SIZE (freebsd-drm-kmod-6.6.25-drm_v6.6.25_6_GH0.tar.gz) = 38488232
+TIMESTAMP = 1760983004
+SHA256 (freebsd-drm-kmod-6.6.25-drm_v6.6.25_7_GH0.tar.gz) = 43fd533b2232b9d5ffe4a30fb99a8976c99c76207f5960d823d19cf6f118495a
+SIZE (freebsd-drm-kmod-6.6.25-drm_v6.6.25_7_GH0.tar.gz) = 38487814
diff --git a/graphics/dspdfviewer/Makefile b/graphics/dspdfviewer/Makefile
index 48618332398c..46762347fdc8 100644
--- a/graphics/dspdfviewer/Makefile
+++ b/graphics/dspdfviewer/Makefile
@@ -1,7 +1,7 @@
PORTNAME= dspdfviewer
PORTVERSION= 1.15.1
DISTVERSIONPREFIX= v
-PORTREVISION= 74
+PORTREVISION= 75
CATEGORIES= graphics
MAINTAINER= fox@FreeBSD.org
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/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/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/frei0r/distinfo b/graphics/frei0r/distinfo
index fbbd64e50389..ad3a06785455 100644
--- a/graphics/frei0r/distinfo
+++ b/graphics/frei0r/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1756953325
-SHA256 (dyne-frei0r-v2.4.0_GH0.tar.gz) = 6b3491ee65c775b251ecd0ba2cb86955ca2469de47c73718170442732cb9ce75
-SIZE (dyne-frei0r-v2.4.0_GH0.tar.gz) = 935395
+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-src_filter_CMakeLists.txt b/graphics/frei0r/files/patch-src_filter_CMakeLists.txt
index 2d6a3fd597e5..b3de8938b99f 100644
--- a/graphics/frei0r/files/patch-src_filter_CMakeLists.txt
+++ b/graphics/frei0r/files/patch-src_filter_CMakeLists.txt
@@ -1,6 +1,6 @@
- Add logic so slave ports can build without installing base plugins.
---- src/filter/CMakeLists.txt.orig 2025-09-03 14:34:34 UTC
+--- src/filter/CMakeLists.txt.orig 2025-10-07 14:15:56 UTC
+++ src/filter/CMakeLists.txt
@@ -15,6 +15,7 @@ endif (${Cairo_FOUND})
add_subdirectory (mirr0r)
@@ -10,7 +10,7 @@
add_subdirectory (3dflippo)
add_subdirectory (aech0r)
add_subdirectory (alpha0ps)
-@@ -101,3 +102,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/pkg-plist b/graphics/frei0r/pkg-plist
index 43cd158e817b..57124bae10c0 100644
--- a/graphics/frei0r/pkg-plist
+++ b/graphics/frei0r/pkg-plist
@@ -69,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
diff --git a/graphics/frei0r/version.mk b/graphics/frei0r/version.mk
index 4857de20d005..de7ec6e8b8d6 100644
--- a/graphics/frei0r/version.mk
+++ b/graphics/frei0r/version.mk
@@ -1 +1 @@
-FREI0R_VERSION= 2.4.0
+FREI0R_VERSION= 2.5.0
diff --git a/graphics/gegl/Makefile b/graphics/gegl/Makefile
index 7c363201fa41..dee5645bc2a1 100644
--- a/graphics/gegl/Makefile
+++ b/graphics/gegl/Makefile
@@ -1,12 +1,8 @@
PORTNAME= gegl
-DISTVERSION= 0.4.62
-PORTREVISION= 4
+DISTVERSION= 0.4.64
CATEGORIES= graphics
MASTER_SITES= GIMP
-PATCH_SITES+= https://gitlab.gnome.org/GNOME/gegl/-/commit/
-PATCHFILES+= eda8ba51786f197b72265eafcdab407d91ec9c70.diff:-p1
-
MAINTAINER= gnome@FreeBSD.org
COMMENT= Graph based image processing framework
WWW= https://gegl.org/
@@ -34,8 +30,6 @@ MESON_ARGS= -Ddocs=false \
-Dworkshop=false \
-Dintrospection=true \
-Dlensfun=disabled \
- -Dlibjpeg=enabled \
- -Dlibpng=enabled \
-Dmaxflow=disabled \
-Dmrg=disabled \
-Dpygobject=disabled \
@@ -44,7 +38,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 20c4e35e202d..8c41ce29aae0 100644
--- a/graphics/gegl/distinfo
+++ b/graphics/gegl/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1757339996
-SHA256 (gegl-0.4.62.tar.xz) = 5887576371ebf1d9e90797d10e4b9a7f1658228d4827583e79e1db3d94505c6c
-SIZE (gegl-0.4.62.tar.xz) = 6025372
-SHA256 (eda8ba51786f197b72265eafcdab407d91ec9c70.diff) = 2e83d7f6835a9eda7dcbba6579a762bf6c231457109176f4de20ffabd85ecf63
-SIZE (eda8ba51786f197b72265eafcdab407d91ec9c70.diff) = 1335
+TIMESTAMP = 1759928302
+SHA256 (gegl-0.4.64.tar.xz) = 0de1c9dd22c160d5e4bdfc388d292f03447cca6258541b9a12fed783d0cf7c60
+SIZE (gegl-0.4.64.tar.xz) = 6066976
diff --git a/graphics/geoserver/Makefile b/graphics/geoserver/Makefile
index fcbdfd515533..5d58a504ff67 100644
--- a/graphics/geoserver/Makefile
+++ b/graphics/geoserver/Makefile
@@ -1,5 +1,5 @@
PORTNAME= geoserver
-DISTVERSION= 2.27.2
+DISTVERSION= 2.28.0
CATEGORIES= graphics geography java
MASTER_SITES= SF/${PORTNAME}/GeoServer/${PORTVERSION}
DISTNAME= ${PORTNAME}-${PORTVERSION}-bin
@@ -30,19 +30,17 @@ GEODIRS= data_dir etc lib logs modules resources webapps
PLIST_SUB= BATIK=1.18 \
ECLIPSE=2.15.0 \
G="${GEOSERVERDIR:S,^${PREFIX}/,,}" \
- GT=33.2 \
- GWC=1.27.2 \
- IMAGEIO=1.4.15 \
+ GT=34.0 \
+ GWC=1.28.0 \
+ IMAGEIO=2.0.0 \
JACKSON=2.19.0 \
- JETTY=9.4.57.v20241219 \
+ JETTY=10.0.25 \
JNA=5.17.0 \
- JT=1.1.31 \
- JT1=1.6.0 \
+ JT=0.9.0 \
MVER=${PORTVERSION} \
SI=2.2 \
SPRING=5.3.39 \
SPRINGS=5.8.16 \
- VER3=1.1.3 \
WICKET=9.21.0
post-patch:
diff --git a/graphics/geoserver/distinfo b/graphics/geoserver/distinfo
index fba585023356..36c0f94baeb9 100644
--- a/graphics/geoserver/distinfo
+++ b/graphics/geoserver/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753304165
-SHA256 (geoserver-2.27.2-bin.zip) = cb37a3562fb41734c2b548ab0af9f73ecc4b2e6a08512c52dac0352965a8df45
-SIZE (geoserver-2.27.2-bin.zip) = 121877642
+TIMESTAMP = 1761412299
+SHA256 (geoserver-2.28.0-bin.zip) = 4053c22b68dc0b7277d718e9bd6f3207932612678536eb241d9ff61a189ee22b
+SIZE (geoserver-2.28.0-bin.zip) = 123697517
diff --git a/graphics/geoserver/pkg-plist b/graphics/geoserver/pkg-plist
index c0ac87084579..6c4cc8028c8b 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/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.3.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.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.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
@@ -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,6 +767,8 @@
%%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
@@ -745,49 +776,6 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/json-lib-2.4.2-%%G%%.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jspecify-1.0.0.jar
%%G%%/webapps/%%G%%/WEB-INF/lib/jsr305-3.0.2.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-affine-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-algebra-%%JT%%.jar
-%%G%%/webapps/%%G%%/WEB-INF/lib/jt-attributeop-%%JT1%%.jar
-%%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/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
@@ -796,15 +784,19 @@
%%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
@@ -812,12 +804,20 @@
%%G%%/webapps/%%G%%/WEB-INF/lib/org.w3.xlink-%%GT%%.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.7.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
@@ -835,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
@@ -852,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/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 2fa3c2ffd9d0..d47df19d9cc8 100644
--- a/graphics/gimp3-app/Makefile
+++ b/graphics/gimp3-app/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gimp
-DISTVERSION= 3.0.4
-PORTREVISION= 2
+DISTVERSION= 3.0.6
CATEGORIES?= graphics gnome
MASTER_SITES= GIMP/gimp/v${PORTVERSION:R}
PKGNAMESUFFIX= 3-app
@@ -111,10 +110,10 @@ 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
+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
@@ -146,7 +145,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>
@@ -156,6 +155,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 069a0fa726e1..e0a8ec9259db 100644
--- a/graphics/gimp3-app/pkg-plist
+++ b/graphics/gimp3-app/pkg-plist
@@ -259,7 +259,6 @@ 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
%%JS%%lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-gjs.js
@@ -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/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 850c65c16833..9a79ea37700a 100644
--- a/graphics/gource/Makefile
+++ b/graphics/gource/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gource
-PORTVERSION= 0.51
-PORTREVISION= 12
+PORTVERSION= 0.55
CATEGORIES= graphics
MASTER_SITES= https://github.com/acaudwell/Gource/releases/download/${PORTNAME}-${PORTVERSION}/
@@ -11,9 +10,6 @@ WWW= https://gource.io/
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
-BROKEN= fails to build with boost-1.85+
-EXPIRATION_DATE=2025-10-13
-
BUILD_DEPENDS= ${LOCALBASE}/include/glm/glm.hpp:math/glm
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libpcre.so:devel/pcre \
@@ -21,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 c8f1d1aa390a..dce6566dbfbc 100644
--- a/graphics/gowall/Makefile
+++ b/graphics/gowall/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gowall
DISTVERSIONPREFIX= v
-DISTVERSION= 0.2.1
+DISTVERSION= 0.2.3
PORTREVISION= 1
CATEGORIES= graphics
@@ -11,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/graphviz/Makefile b/graphics/graphviz/Makefile
index 1c1f99be797a..6334be9c0e8d 100644
--- a/graphics/graphviz/Makefile
+++ b/graphics/graphviz/Makefile
@@ -1,6 +1,6 @@
PORTNAME= graphviz
-PORTVERSION= 12.2.1
-PORTREVISION= 2
+PORTVERSION= 14.0.2
+PORTREVISION= 0
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.2"
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..a0603029fd06 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 = 1761457644
+SHA256 (graphviz-14.0.2.tar.gz) = d555b4fd18a3645c34bdd876bc7e8206c8c8e2404abf7872aae5ee0d5df46378
+SIZE (graphviz-14.0.2.tar.gz) = 26817906
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..150f65688c6a 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.0
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.1
lib/libgvpr.la
lib/libgvpr.so
lib/libgvpr.so.2
-lib/libgvpr.so.2.0.0
+lib/libgvpr.so.2.0.2
lib/libpathplan.la
lib/libpathplan.so
lib/libpathplan.so.4
-lib/libpathplan.so.4.0.0
+lib/libpathplan.so.4.0.2
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/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/hugin/Makefile b/graphics/hugin/Makefile
index 5a11e8bd6a52..c44c24280485 100644
--- a/graphics/hugin/Makefile
+++ b/graphics/hugin/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hugin
DISTVERSION= 2024.0.1
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION:R}
diff --git a/graphics/hyprgraphics/Makefile b/graphics/hyprgraphics/Makefile
index d6430fe7ca65..c6af0877dab7 100644
--- a/graphics/hyprgraphics/Makefile
+++ b/graphics/hyprgraphics/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hyprgraphics
DISTVERSIONPREFIX= v
-DISTVERSION= 0.1.6
+DISTVERSION= 0.2.0
CATEGORIES= graphics
MAINTAINER= tagattie@FreeBSD.org
@@ -23,12 +23,12 @@ GH_ACCOUNT= hyprwm
USE_LDCONFIG= yes
-USE_GNOME= cairo pango
+USE_GNOME= cairo librsvg2 pango
USE_XORG= pixman
LDFLAGS+= -pthread
-PLIST_SUB= SOVERSION_MAJOR=0 \
+PLIST_SUB= SOVERSION_MAJOR=1 \
SOVERSION_FULL=${DISTVERSION:C/-.*//}
.include <bsd.port.mk>
diff --git a/graphics/hyprgraphics/distinfo b/graphics/hyprgraphics/distinfo
index 1e9e21c25bdf..d2d72cb17c36 100644
--- a/graphics/hyprgraphics/distinfo
+++ b/graphics/hyprgraphics/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1758441254
-SHA256 (hyprwm-hyprgraphics-v0.1.6_GH0.tar.gz) = 42a2085fa3c79641b7d2485e229ae25202b4e29631c3d83020e6edc182313e13
-SIZE (hyprwm-hyprgraphics-v0.1.6_GH0.tar.gz) = 455357
+TIMESTAMP = 1759976778
+SHA256 (hyprwm-hyprgraphics-v0.2.0_GH0.tar.gz) = c66239113504426fc8ba31aa57b971dfc29c3a62490ecba48ec20fba19b64fd9
+SIZE (hyprwm-hyprgraphics-v0.2.0_GH0.tar.gz) = 457169
diff --git a/graphics/hyprland-protocols/Makefile b/graphics/hyprland-protocols/Makefile
index e8c07429b712..06822530176a 100644
--- a/graphics/hyprland-protocols/Makefile
+++ b/graphics/hyprland-protocols/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hyprland-protocols
DISTVERSIONPREFIX= v
-DISTVERSION= 0.6.4
+DISTVERSION= 0.7.0
CATEGORIES= graphics
MAINTAINER= tagattie@FreeBSD.org
diff --git a/graphics/hyprland-protocols/distinfo b/graphics/hyprland-protocols/distinfo
index e74a37925c7e..ffcefcebfa6e 100644
--- a/graphics/hyprland-protocols/distinfo
+++ b/graphics/hyprland-protocols/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1754038793
-SHA256 (hyprwm-hyprland-protocols-v0.6.4_GH0.tar.gz) = 0d4f99abc21b04fc126dd754e306bb84cd334131d542ff2e0c172190c6570384
-SIZE (hyprwm-hyprland-protocols-v0.6.4_GH0.tar.gz) = 10447
+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-plist b/graphics/hyprland-protocols/pkg-plist
index 238901696534..229321dc7dd2 100644
--- a/graphics/hyprland-protocols/pkg-plist
+++ b/graphics/hyprland-protocols/pkg-plist
@@ -1,6 +1,7 @@
%%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
diff --git a/graphics/inkscape/Makefile b/graphics/inkscape/Makefile
index ca735aff900e..ec65c88af467 100644
--- a/graphics/inkscape/Makefile
+++ b/graphics/inkscape/Makefile
@@ -1,6 +1,6 @@
PORTNAME= inkscape
DISTVERSION= 1.4.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics gnome
MASTER_SITES= https://media.inkscape.org/dl/resources/file/
diff --git a/graphics/jp/Makefile b/graphics/jp/Makefile
index 5b61d131f929..334da057d526 100644
--- a/graphics/jp/Makefile
+++ b/graphics/jp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= jp
DISTVERSION= 1.1.12
-PORTREVISION= 32
+PORTREVISION= 34
CATEGORIES= graphics
MAINTAINER= 0mp@FreeBSD.org
diff --git a/graphics/kgraphviewer/Makefile b/graphics/kgraphviewer/Makefile
index c541c99da7a1..0fbbf650db47 100644
--- a/graphics/kgraphviewer/Makefile
+++ b/graphics/kgraphviewer/Makefile
@@ -1,5 +1,6 @@
PORTNAME= kgraphviewer
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
+PORTREVISION= 1
CATEGORIES= graphics kde kde-applications
MAINTAINER= kde@FreeBSD.org
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/libetonyek01/Makefile b/graphics/libetonyek01/Makefile
index 12ba70dafce6..159a4a069474 100644
--- a/graphics/libetonyek01/Makefile
+++ b/graphics/libetonyek01/Makefile
@@ -1,6 +1,5 @@
PORTNAME= libetonyek
-DISTVERSION= 0.1.12
-PORTREVISION= 2
+DISTVERSION= 0.1.13
PORTEPOCH= 1
CATEGORIES= graphics
MASTER_SITES= LODEV/${PORTNAME}
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-src_lib_IWAParser.cpp b/graphics/libetonyek01/files/patch-src_lib_IWAParser.cpp
deleted file mode 100644
index e15898be04ef..000000000000
--- a/graphics/libetonyek01/files/patch-src_lib_IWAParser.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-From 7cfb47c7614b01ee4b4ccb881f0ab37e9e2e497d Mon Sep 17 00:00:00 2001
-From: jlorber <jlorber@linagora.com>
-Date: Tue, 04 Mar 2025 12:12:41 +0100
-Subject: [PATCH] tdf#151166 add missing Numbers function names
-
-Change-Id: I5f01e4f1412cf2d4a679fbf5d511475cf04c77ee
-Reviewed-on: https://gerrit.libreoffice.org/c/libetonyek/+/182473
-Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
-Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
---- src/lib/IWAParser.cpp.orig 2024-11-05 21:56:01 UTC
-+++ src/lib/IWAParser.cpp
-@@ -3593,7 +3593,16 @@ bool IWAParser::parseFormula(const IWAMessage &msg, IW
- {285, "Union.Ranges"},
- {286, "SeriesSum"}, {287, "Polynomial"}, {288, "WeiBull"},
- {297, "PlainText"}, {298, "Stock"}, {299, "StockH"}, {300, "Currency"},
-- {301, "CurrencyH"}, {302, "CurrencyConvert"}, {303, "CurrencyCode"}
-+ {301, "CurrencyH"}, {302, "CurrencyConvert"}, {303, "CurrencyCode"},
-+ {304, "IsNumber"}, {305, "IsText"}, {306, "IsDate"},
-+ {309, "MaxIfs"}, {310, "MinIfs"}, {311, "XIRR"}, {312, "XNPV"}, {313, "Ifs"},
-+ {314, "XLookup"}, {315, "XMatch"}, {316, "Subtotal"}, {317, "CountMatches"},
-+ {318, "TextBefore"}, {319, "TextBetween"}, {320, "TextAfter"},
-+ {321, "Regex"}, {322, "Reference.Name"}, {323, "FormulaText"}, {324, "Regex.Extract"},
-+ {325, "GetPivotData"}, {328, "TextJoin"}, {329, "Concat"},
-+ {330, "BitAnd"}, {331, "BitOr"}, {332, "BitXor"}, {333, "BitLShift"}, {334, "BitRShift"},
-+ {335, "ISOWeekNum"}, {336, "Switch"}
-+
- };
- Formula child;
- std::ostringstream s;
diff --git a/graphics/libheif/Makefile b/graphics/libheif/Makefile
index ddd51a17ce73..d6b2def53930 100644
--- a/graphics/libheif/Makefile
+++ b/graphics/libheif/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libheif
DISTVERSION= 1.19.8
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MASTER_SITES= https://github.com/strukturag/${PORTNAME}/releases/download/v${DISTVERSION}/
diff --git a/graphics/libimagequant/Makefile b/graphics/libimagequant/Makefile
index 177b9f0a27a1..789f9b086f59 100644
--- a/graphics/libimagequant/Makefile
+++ b/graphics/libimagequant/Makefile
@@ -1,9 +1,8 @@
PORTNAME= libimagequant
-PORTVERSION= 4.3.4
-PORTREVISION= 6
+PORTVERSION= 4.4.0
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..eb9bec380e90 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.9.4 \
+ bytemuck-1.24.0 \
+ cc-1.2.41 \
+ cfg-if-1.0.3 \
+ 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.4 \
+ flate2-1.1.4 \
+ 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..328b6b128f61 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 = 1760220425
+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.9.4.crate) = 2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394
+SIZE (rust/crates/bitflags-2.9.4.crate) = 47950
+SHA256 (rust/crates/bytemuck-1.24.0.crate) = 1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4
+SIZE (rust/crates/bytemuck-1.24.0.crate) = 53243
+SHA256 (rust/crates/cc-1.2.41.crate) = ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7
+SIZE (rust/crates/cc-1.2.41.crate) = 91154
+SHA256 (rust/crates/cfg-if-1.0.3.crate) = 2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9
+SIZE (rust/crates/cfg-if-1.0.3.crate) = 8719
+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.4.crate) = 52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127
+SIZE (rust/crates/find-msvc-tools-0.1.4.crate) = 30817
+SHA256 (rust/crates/flate2-1.1.4.crate) = dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9
+SIZE (rust/crates/flate2-1.1.4.crate) = 77010
+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.0_GH0.tar.gz) = 22f90ad2ba87fe44d8156862798491bf056034f031a9b8b95d720669047ede20
+SIZE (ImageOptim-libimagequant-4.4.0_GH0.tar.gz) = 89068
diff --git a/graphics/libskiasharp/Makefile b/graphics/libskiasharp/Makefile
index d8a43fb8c120..897b6df67775 100644
--- a/graphics/libskiasharp/Makefile
+++ b/graphics/libskiasharp/Makefile
@@ -1,10 +1,9 @@
PORTNAME= libskiasharp
DISTVERSIONPREFIX= v
-DISTVERSION= 2.88.3
+DISTVERSION= 116
PORTREVISION= 2
+PORTREPOCH= 1
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 +24,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 +38,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 +54,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 +67,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/luminance-qt5/Makefile b/graphics/luminance-qt5/Makefile
index cf76a1f7a623..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= 32
+PORTREVISION= 33
CATEGORIES= graphics
MASTER_SITES= SF/qtpfsgui/luminance/${DISTVERSION}
diff --git a/graphics/mapnik/Makefile b/graphics/mapnik/Makefile
index 0ccc49b31b01..b7648f51bc52 100644
--- a/graphics/mapnik/Makefile
+++ b/graphics/mapnik/Makefile
@@ -1,7 +1,7 @@
PORTNAME= mapnik
DISTVERSIONPREFIX= v
-DISTVERSION= 4.1.0
-PORTREVISION= 2
+DISTVERSION= 4.1.3
+PORTREVISION= 1
CATEGORIES= graphics geography
MAINTAINER= hummeltech@sherpaguru.com
@@ -21,14 +21,12 @@ LIB_DEPENDS= libboost_program_options.so:devel/boost-libs \
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
@@ -37,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
@@ -48,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
@@ -98,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
index 725dbf74c1e1..5f266a6c709d 100644
--- a/graphics/mapnik/files/patch-plugins_input_tiles_pmtiles__source.hpp
+++ b/graphics/mapnik/files/patch-plugins_input_tiles_pmtiles__source.hpp
@@ -1,11 +1,20 @@
---- plugins/input/tiles/pmtiles_source.hpp.orig 2025-09-17 23:55:13 UTC
+--- plugins/input/tiles/pmtiles_source.hpp.orig 2025-10-05 04:06:02 UTC
+++ plugins/input/tiles/pmtiles_source.hpp
-@@ -511,7 +511,7 @@ class pmtiles_source : public tiles_source
- }
- else
- {
-- metadata = {data() + metadata_offset, metadata_length};
-+ metadata = {data() + metadata_offset, static_cast<size_t>(metadata_length)};
- }
- boost::json::value json_value;
- try
+@@ -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..113747351163 100644
--- a/graphics/mapserver/Makefile
+++ b/graphics/mapserver/Makefile
@@ -1,6 +1,5 @@
PORTNAME= mapserver
-DISTVERSION= 8.4.0
-PORTREVISION= 3
+DISTVERSION= 8.4.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..d282797cf29a 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 = 1759990285
+SHA256 (mapserver-8.4.1.tar.gz) = fe60bfdbab69437b5f97bb4ca41f2407e245c90edc2a727bf1d4428edb4a240f
+SIZE (mapserver-8.4.1.tar.gz) = 2845621
diff --git a/graphics/mapserver/pkg-plist b/graphics/mapserver/pkg-plist
index 1d14a3a8fa53..16e1d604333a 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.4.1
%%PYTHON%%%%PYTHON_SITELIBDIR%%/mapscript.py
%%PYTHON%%%%PYTHON_SITELIBDIR%%/_mapscript.so
diff --git a/graphics/mesa-devel/Makefile b/graphics/mesa-devel/Makefile
index f856fd77ad5b..a3c94a5cb762 100644
--- a/graphics/mesa-devel/Makefile
+++ b/graphics/mesa-devel/Makefile
@@ -1,7 +1,6 @@
PORTNAME= mesa
-DISTVERSION= 25.2-branchpoint-4196
-DISTVERSIONSUFFIX= -ge02a1bb173e
-PORTREVISION= 1
+DISTVERSION= 25.3-branchpoint-413
+DISTVERSIONSUFFIX= -g53bcab0288c
CATEGORIES= graphics
PKGNAMESUFFIX= -devel
@@ -147,8 +146,8 @@ ZSTD_MESON_ENABLED= zstd
post-patch:
# Extract (snapshot) version from the port instead of empty string
- @${REINPLACE_CMD} '/MESA_GIT_SHA1/s/@VCS_TAG@/" (git-${DISTVERSIONSUFFIX:C/.*-g//})"/' \
- ${WRKSRC}/src/git_sha1.h.in
+ @${REINPLACE_CMD} '/MESA_GIT_SHA1/s/""/" (git-${DISTVERSIONSUFFIX:C/.*-g//})"/' \
+ ${WRKSRC}/bin/git_sha1_gen.py
post-patch-COINST-on:
@${MV} ${WRKSRC}/src/util/00-${PORTNAME}-defaults.conf \
diff --git a/graphics/mesa-devel/distinfo b/graphics/mesa-devel/distinfo
index 8227b6b79979..cdc5d206f96b 100644
--- a/graphics/mesa-devel/distinfo
+++ b/graphics/mesa-devel/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1759355513
-SHA256 (mesa-25.2-branchpoint-4196-ge02a1bb173e.tar.bz2) = 23f1eae32d4f12de25ae9e19cbfd2aa943b75c4abc17bf8e7af3ca86f93c7031
-SIZE (mesa-25.2-branchpoint-4196-ge02a1bb173e.tar.bz2) = 58798740
+TIMESTAMP = 1761335158
+SHA256 (mesa-25.3-branchpoint-413-g53bcab0288c.tar.bz2) = 72701e8e8137a226dcd057e9c69ad50d3c38d005f467c7dfbb05bc19e119efc8
+SIZE (mesa-25.3-branchpoint-413-g53bcab0288c.tar.bz2) = 55474572
SHA256 (700efacda59c.patch) = 0d567fe737ad1404e1f12d7cd018826d9095c23835f1ed5aaa1c81cb58d3d008
SIZE (700efacda59c.patch) = 983
SHA256 (de5cf0a44b50.patch) = c9e02e5eb1fb4e3aa2bc7a7e0a70f28f3ee609835ff0b59e827893a821983851
diff --git a/graphics/msl/Makefile b/graphics/msl/Makefile
index c7544a015dc0..d74ca68520b2 100644
--- a/graphics/msl/Makefile
+++ b/graphics/msl/Makefile
@@ -1,7 +1,7 @@
PORTNAME= msl
DISTVERSIONPREFIX= v
DISTVERSION= 1.8.1
-PORTREVISION= 1
+PORTREVISION= 2
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/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/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 cd3742e2b20f..c0d1df52e939 100644
--- a/graphics/nvidia-drm-510-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-510-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION?= 580.82.07
+NVIDIA_DISTVERSION?= 580.95.05
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 1
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 2cd65416f2ba..c802ae8af0c5 100644
--- a/graphics/nvidia-drm-510-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-510-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1756835960
-SHA256 (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 76b6f0b8eeea20b878da7abb3eef5dd9515e6df83e4377cfa9380ac152614977
-SIZE (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 288619796
-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 = 1760983282
+SHA256 (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 6ce64e84ede8b8a3e7c1579e9d08d53e2da9dd50590b398d9a816adc6a00f160
+SIZE (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 288883876
+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 ef6b0443c59f..6aa589492b67 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= 2
+PORTREVISION= 1
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 b9b53e392c47..1a02dfee269e 100644
--- a/graphics/nvidia-drm-510-kmod/distinfo
+++ b/graphics/nvidia-drm-510-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1756835931
-SHA256 (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 76b6f0b8eeea20b878da7abb3eef5dd9515e6df83e4377cfa9380ac152614977
-SIZE (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 288619796
-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 = 1760983237
+SHA256 (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 6ce64e84ede8b8a3e7c1579e9d08d53e2da9dd50590b398d9a816adc6a00f160
+SIZE (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 288883876
+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 0709ce73e273..afdff6f25d1f 100644
--- a/graphics/nvidia-drm-515-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-515-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION?= 580.82.07
+NVIDIA_DISTVERSION?= 580.95.05
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 1
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 c6390cc92b92..d60c051c3f43 100644
--- a/graphics/nvidia-drm-515-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-515-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1756835996
-SHA256 (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 76b6f0b8eeea20b878da7abb3eef5dd9515e6df83e4377cfa9380ac152614977
-SIZE (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 288619796
-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 = 1760983334
+SHA256 (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 6ce64e84ede8b8a3e7c1579e9d08d53e2da9dd50590b398d9a816adc6a00f160
+SIZE (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 288883876
+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 57a3031df4c4..994b5dcce1cf 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= 4
+PORTREVISION= 1
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 0eda311db8e5..4a168cc0ff08 100644
--- a/graphics/nvidia-drm-515-kmod/distinfo
+++ b/graphics/nvidia-drm-515-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1756835976
-SHA256 (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 76b6f0b8eeea20b878da7abb3eef5dd9515e6df83e4377cfa9380ac152614977
-SIZE (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 288619796
-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 = 1760983308
+SHA256 (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 6ce64e84ede8b8a3e7c1579e9d08d53e2da9dd50590b398d9a816adc6a00f160
+SIZE (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 288883876
+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 d1984728ec65..5b846452c016 100644
--- a/graphics/nvidia-drm-61-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-61-kmod-devel/Makefile
@@ -1,6 +1,6 @@
-NVIDIA_DISTVERSION?= 580.82.07
+NVIDIA_DISTVERSION?= 580.95.05
# Explicitly set PORTREVISION as it can be overridden by the master port
-PORTREVISION= 3
+PORTREVISION= 1
MASTERDIR= ${.CURDIR}/../nvidia-drm-61-kmod
PKGNAMESUFFIX= -devel
diff --git a/graphics/nvidia-drm-61-kmod-devel/distinfo b/graphics/nvidia-drm-61-kmod-devel/distinfo
index 621401b6e71b..44c2c97acceb 100644
--- a/graphics/nvidia-drm-61-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-61-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1757976358
-SHA256 (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 76b6f0b8eeea20b878da7abb3eef5dd9515e6df83e4377cfa9380ac152614977
-SIZE (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 288619796
-SHA256 (freebsd-drm-kmod-drm_v6.1.128_5_GH0.tar.gz) = 6cbb9f5827644b4b5965109fba263cebba463d3afda2366ad51e4b8c3a944313
-SIZE (freebsd-drm-kmod-drm_v6.1.128_5_GH0.tar.gz) = 37105728
+TIMESTAMP = 1760983373
+SHA256 (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 6ce64e84ede8b8a3e7c1579e9d08d53e2da9dd50590b398d9a816adc6a00f160
+SIZE (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 288883876
+SHA256 (freebsd-drm-kmod-drm_v6.1.128_6_GH0.tar.gz) = cfc9f2a0519a4d4c98f0489914925c6da9177bc48759ea0b1aecb51dda90f145
+SIZE (freebsd-drm-kmod-drm_v6.1.128_6_GH0.tar.gz) = 37106003
diff --git a/graphics/nvidia-drm-61-kmod/Makefile b/graphics/nvidia-drm-61-kmod/Makefile
index 88e1760a6398..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= 5
+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 c5dac79cc21d..3845b5288bfd 100644
--- a/graphics/nvidia-drm-61-kmod/distinfo
+++ b/graphics/nvidia-drm-61-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1757973302
-SHA256 (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 76b6f0b8eeea20b878da7abb3eef5dd9515e6df83e4377cfa9380ac152614977
-SIZE (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 288619796
-SHA256 (freebsd-drm-kmod-drm_v6.1.128_5_GH0.tar.gz) = 6cbb9f5827644b4b5965109fba263cebba463d3afda2366ad51e4b8c3a944313
-SIZE (freebsd-drm-kmod-drm_v6.1.128_5_GH0.tar.gz) = 37105728
+TIMESTAMP = 1760983356
+SHA256 (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 6ce64e84ede8b8a3e7c1579e9d08d53e2da9dd50590b398d9a816adc6a00f160
+SIZE (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 288883876
+SHA256 (freebsd-drm-kmod-drm_v6.1.128_6_GH0.tar.gz) = cfc9f2a0519a4d4c98f0489914925c6da9177bc48759ea0b1aecb51dda90f145
+SIZE (freebsd-drm-kmod-drm_v6.1.128_6_GH0.tar.gz) = 37106003
diff --git a/graphics/nvidia-drm-66-kmod-devel/Makefile b/graphics/nvidia-drm-66-kmod-devel/Makefile
index 3680a9932b36..c35168ac3095 100644
--- a/graphics/nvidia-drm-66-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-66-kmod-devel/Makefile
@@ -1,6 +1,6 @@
-NVIDIA_DISTVERSION?= 580.82.07
+NVIDIA_DISTVERSION?= 580.95.05
# Explicitly set PORTREVISION as it can be overridden by the master port
-PORTREVISION= 3
+PORTREVISION= 1
MASTERDIR= ${.CURDIR}/../nvidia-drm-66-kmod
PKGNAMESUFFIX= -devel
diff --git a/graphics/nvidia-drm-66-kmod-devel/distinfo b/graphics/nvidia-drm-66-kmod-devel/distinfo
index 6334a141ba3f..2b406f9c5fa0 100644
--- a/graphics/nvidia-drm-66-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-66-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1757976369
-SHA256 (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 76b6f0b8eeea20b878da7abb3eef5dd9515e6df83e4377cfa9380ac152614977
-SIZE (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 288619796
-SHA256 (freebsd-drm-kmod-drm_v6.6.25_6_GH0.tar.gz) = 3413b0233df5652501d1440fe8f761e28b23f9004b722f88ef412e88d0d7fd68
-SIZE (freebsd-drm-kmod-drm_v6.6.25_6_GH0.tar.gz) = 38488232
+TIMESTAMP = 1760983414
+SHA256 (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 6ce64e84ede8b8a3e7c1579e9d08d53e2da9dd50590b398d9a816adc6a00f160
+SIZE (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 288883876
+SHA256 (freebsd-drm-kmod-drm_v6.6.25_7_GH0.tar.gz) = 43fd533b2232b9d5ffe4a30fb99a8976c99c76207f5960d823d19cf6f118495a
+SIZE (freebsd-drm-kmod-drm_v6.6.25_7_GH0.tar.gz) = 38487814
diff --git a/graphics/nvidia-drm-66-kmod/Makefile b/graphics/nvidia-drm-66-kmod/Makefile
index b3bc019d6b4c..c00576bf7e12 100644
--- a/graphics/nvidia-drm-66-kmod/Makefile
+++ b/graphics/nvidia-drm-66-kmod/Makefile
@@ -1,8 +1,7 @@
PORTNAME= nvidia-drm-66-kmod
-PORTREVISION= 5
+PORTREVISION= 1
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 516c107461d4..f70b0170cd8f 100644
--- a/graphics/nvidia-drm-66-kmod/distinfo
+++ b/graphics/nvidia-drm-66-kmod/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1757973326
-SHA256 (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 76b6f0b8eeea20b878da7abb3eef5dd9515e6df83e4377cfa9380ac152614977
-SIZE (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 288619796
-SHA256 (freebsd-drm-kmod-drm_v6.6.25_6_GH0.tar.gz) = 3413b0233df5652501d1440fe8f761e28b23f9004b722f88ef412e88d0d7fd68
-SIZE (freebsd-drm-kmod-drm_v6.6.25_6_GH0.tar.gz) = 38488232
+TIMESTAMP = 1760983393
+SHA256 (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 6ce64e84ede8b8a3e7c1579e9d08d53e2da9dd50590b398d9a816adc6a00f160
+SIZE (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 288883876
+SHA256 (freebsd-drm-kmod-drm_v6.6.25_7_GH0.tar.gz) = 43fd533b2232b9d5ffe4a30fb99a8976c99c76207f5960d823d19cf6f118495a
+SIZE (freebsd-drm-kmod-drm_v6.6.25_7_GH0.tar.gz) = 38487814
diff --git a/graphics/nvidia-drm-kmod-devel/Makefile b/graphics/nvidia-drm-kmod-devel/Makefile
index 95842efea536..06a7f00dc9e9 100644
--- a/graphics/nvidia-drm-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-DISTVERSION?= 580.82.07
+DISTVERSION?= 580.95.05
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 1
diff --git a/graphics/nvidia-drm-kmod/Makefile b/graphics/nvidia-drm-kmod/Makefile
index bce69261c6ed..79871a1d2404 100644
--- a/graphics/nvidia-drm-kmod/Makefile
+++ b/graphics/nvidia-drm-kmod/Makefile
@@ -19,6 +19,8 @@ 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
diff --git a/graphics/nvidia-drm-latest-kmod-devel/Makefile b/graphics/nvidia-drm-latest-kmod-devel/Makefile
new file mode 100644
index 000000000000..c1a2360b4868
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod-devel/Makefile
@@ -0,0 +1,7 @@
+NVIDIA_DISTVERSION?= 580.95.05
+# 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..c41cc13ddae4
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod-devel/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1760509612
+SHA256 (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 6ce64e84ede8b8a3e7c1579e9d08d53e2da9dd50590b398d9a816adc6a00f160
+SIZE (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 288883876
+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..b721ea027606
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod/Makefile
@@ -0,0 +1,11 @@
+PORTNAME= nvidia-drm-latest-kmod
+PORTREVISION= 0
+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..82e957ff888b
--- /dev/null
+++ b/graphics/nvidia-drm-latest-kmod/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1760509263
+SHA256 (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 6ce64e84ede8b8a3e7c1579e9d08d53e2da9dd50590b398d9a816adc6a00f160
+SIZE (NVIDIA-FreeBSD-x86_64-580.95.05.tar.xz) = 288883876
+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/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/openexr-website-docs/Makefile b/graphics/openexr-website-docs/Makefile
index 658d17c0d38f..f4ac3cf89865 100644
--- a/graphics/openexr-website-docs/Makefile
+++ b/graphics/openexr-website-docs/Makefile
@@ -1,5 +1,5 @@
PORTNAME= openexr-website-docs
-PORTVERSION= 3.4.0
+PORTVERSION= 3.4.1
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 ac06275377a2..803346125357 100644
--- a/graphics/openexr-website-docs/distinfo
+++ b/graphics/openexr-website-docs/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1757119919
-SHA256 (openexr/openexr-3.4.0.tar.gz) = 1d4bddda2d22571f63db5f067c5741b50c8d41231f360ab17063176eb710a670
-SIZE (openexr/openexr-3.4.0.tar.gz) = 25544015
+TIMESTAMP = 1759951809
+SHA256 (openexr/openexr-3.4.1.tar.gz) = 55de71610ceb134b79c900e6aed3bf8994ec1972382395c1732f1b32da4c7527
+SIZE (openexr/openexr-3.4.1.tar.gz) = 25545228
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 c037c6ea41b4..4fd50c57abef 100644
--- a/graphics/openexr/Makefile
+++ b/graphics/openexr/Makefile
@@ -1,6 +1,6 @@
PORTNAME?= openexr
-PORTVERSION?= 3.4.0 # ALSO update openexr-website-docs! -- verify sigstore: make makesum verify-sigstore
-PORTREVISION?= 0
+PORTVERSION?= 3.4.1 # ALSO update openexr-website-docs! -- verify sigstore: make makesum verify-sigstore
+PORTREVISION?= 1
CATEGORIES= graphics devel
.if !defined(MASTERDIR)
MASTER_SITES= https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr-images/v1.0/:testimages \
diff --git a/graphics/openexr/distinfo b/graphics/openexr/distinfo
index e96e7a38449a..db9c2abf9600 100644
--- a/graphics/openexr/distinfo
+++ b/graphics/openexr/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1757119886
-SHA256 (openexr/openexr-3.4.0.tar.gz) = 1d4bddda2d22571f63db5f067c5741b50c8d41231f360ab17063176eb710a670
-SIZE (openexr/openexr-3.4.0.tar.gz) = 25544015
+TIMESTAMP = 1759951766
+SHA256 (openexr/openexr-3.4.1.tar.gz) = 55de71610ceb134b79c900e6aed3bf8994ec1972382395c1732f1b32da4c7527
+SIZE (openexr/openexr-3.4.1.tar.gz) = 25545228
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/files/patch-openjph b/graphics/openexr/files/patch-openjph
deleted file mode 100644
index a0f2516764cd..000000000000
--- a/graphics/openexr/files/patch-openjph
+++ /dev/null
@@ -1,23 +0,0 @@
-Obtained from: https://github.com/AcademySoftwareFoundation/openexr/pull/2122
-
---- src/lib/OpenEXRCore/internal_ht.cpp.orig 2025-09-05 17:30:35 UTC
-+++ src/lib/OpenEXRCore/internal_ht.cpp
-@@ -7,12 +7,12 @@
- #include <string>
- #include <fstream>
-
--#include <ojph_arch.h>
--#include <ojph_file.h>
--#include <ojph_params.h>
--#include <ojph_mem.h>
--#include <ojph_codestream.h>
--#include <ojph_message.h>
-+#include <openjph/ojph_arch.h>
-+#include <openjph/ojph_file.h>
-+#include <openjph/ojph_params.h>
-+#include <openjph/ojph_mem.h>
-+#include <openjph/ojph_codestream.h>
-+#include <openjph/ojph_message.h>
-
- #include "openexr_decode.h"
- #include "openexr_encode.h"
diff --git a/graphics/openimageio/Makefile b/graphics/openimageio/Makefile
index 773d0b6aa63c..10bf0f947c0f 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?= 12
+PORTREVISION?= 13
CATEGORIES?= graphics multimedia
MAINTAINER?= FreeBSD@Shaneware.biz
diff --git a/graphics/openjpeg/Makefile b/graphics/openjpeg/Makefile
index b474a6264c21..f22f5fe3a02f 100644
--- a/graphics/openjpeg/Makefile
+++ b/graphics/openjpeg/Makefile
@@ -1,5 +1,5 @@
PORTNAME= openjpeg
-PORTVERSION= 2.5.3
+PORTVERSION= 2.5.4
DISTVERSIONPREFIX= v
CATEGORIES= graphics
diff --git a/graphics/openjpeg/distinfo b/graphics/openjpeg/distinfo
index 2e0b8de94a01..bb212ab19e83 100644
--- a/graphics/openjpeg/distinfo
+++ b/graphics/openjpeg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734888052
-SHA256 (uclouvain-openjpeg-v2.5.3_GH0.tar.gz) = 368fe0468228e767433c9ebdea82ad9d801a3ad1e4234421f352c8b06e7aa707
-SIZE (uclouvain-openjpeg-v2.5.3_GH0.tar.gz) = 2155188
+TIMESTAMP = 1759816550
+SHA256 (uclouvain-openjpeg-v2.5.4_GH0.tar.gz) = a695fbe19c0165f295a8531b1e4e855cd94d0875d2f88ec4b61080677e27188a
+SIZE (uclouvain-openjpeg-v2.5.4_GH0.tar.gz) = 2157028
diff --git a/graphics/openjph/Makefile b/graphics/openjph/Makefile
index 53a16904da1d..b5dd47d3a89f 100644
--- a/graphics/openjph/Makefile
+++ b/graphics/openjph/Makefile
@@ -1,5 +1,5 @@
PORTNAME= openjph
-PORTVERSION= 0.23.0
+PORTVERSION= 0.24.2
CATEGORIES= graphics
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/graphics/openjph/distinfo b/graphics/openjph/distinfo
index 153df09e4603..510e7c5cd685 100644
--- a/graphics/openjph/distinfo
+++ b/graphics/openjph/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759324014
-SHA256 (aous72-OpenJPH-0.23.0_GH0.tar.gz) = 483079f402ee6701d5f35a12c96657a715851da770d5d101c3baa239f8dd26d2
-SIZE (aous72-OpenJPH-0.23.0_GH0.tar.gz) = 476785
+TIMESTAMP = 1759774539
+SHA256 (aous72-OpenJPH-0.24.2_GH0.tar.gz) = c99218752b15b5b2afca3b0e4d4f0ddf1ac19f94dbcbe11874fe492d44ed3e2d
+SIZE (aous72-OpenJPH-0.24.2_GH0.tar.gz) = 476658
diff --git a/graphics/openjph/pkg-plist b/graphics/openjph/pkg-plist
index 187ad1ec328e..4c6e9373218f 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.23
+lib/libopenjph.so.0.24
lib/libopenjph.so.%%PORTVERSION%%
libdata/pkgconfig/openjph.pc
diff --git a/graphics/openmvs/Makefile b/graphics/openmvs/Makefile
index 5781a95f66b8..3301245bf008 100644
--- a/graphics/openmvs/Makefile
+++ b/graphics/openmvs/Makefile
@@ -1,7 +1,7 @@
PORTNAME= openmvs
DISTVERSIONPREFIX= v
DISTVERSION= 2.2.0
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -17,7 +17,7 @@ BROKEN_aarch64= use of undeclared identifier '__builtin_ia32_emms' # https://git
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 \
diff --git a/graphics/openorienteering-mapper/Makefile b/graphics/openorienteering-mapper/Makefile
index 6a107ac17fb2..5c3d67e3143d 100644
--- a/graphics/openorienteering-mapper/Makefile
+++ b/graphics/openorienteering-mapper/Makefile
@@ -11,11 +11,9 @@ WWW= https://www.openorienteering.org/apps/mapper/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-BROKEN= error: overload resolution selected deleted operator '='
-EXPIRATION_DATE=2025-10-31
-
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 dcf03dfa0146..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?= 4
+PORTREVISION?= 5
CATEGORIES?= graphics devel
MAINTAINER= FreeBSD@Shaneware.biz
diff --git a/graphics/openvkl/Makefile b/graphics/openvkl/Makefile
index 0936bdc1453a..9384d93ffd8c 100644
--- a/graphics/openvkl/Makefile
+++ b/graphics/openvkl/Makefile
@@ -1,6 +1,7 @@
PORTNAME= openvkl
DISTVERSIONPREFIX= v
DISTVERSION= 2.0.1
+PORTREVISION= 1
CATEGORIES= graphics devel
MAINTAINER= yuri@FreeBSD.org
@@ -31,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/openxr/Makefile b/graphics/openxr/Makefile
index 81cc787267fe..113fc3587d51 100644
--- a/graphics/openxr/Makefile
+++ b/graphics/openxr/Makefile
@@ -1,6 +1,6 @@
PORTNAME= openxr
DISTVERSIONPREFIX= release-
-DISTVERSION= 1.1.52
+DISTVERSION= 1.1.53
CATEGORIES= graphics
MAINTAINER= vvd@FreeBSD.org
diff --git a/graphics/openxr/distinfo b/graphics/openxr/distinfo
index 7529f3c9cc9f..172579776d80 100644
--- a/graphics/openxr/distinfo
+++ b/graphics/openxr/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1758533333
-SHA256 (KhronosGroup-OpenXR-SDK-release-1.1.52_GH0.tar.gz) = 9ace2834c5f86a77df339865bc072e71d766f4348f3914257d8f87ebe64994a9
-SIZE (KhronosGroup-OpenXR-SDK-release-1.1.52_GH0.tar.gz) = 712802
+TIMESTAMP = 1760800000
+SHA256 (KhronosGroup-OpenXR-SDK-release-1.1.53_GH0.tar.gz) = 3ccd6835e213e3226e828660b80b8e2178f1571ba743f16088c942ebce84f6ef
+SIZE (KhronosGroup-OpenXR-SDK-release-1.1.53_GH0.tar.gz) = 721366
diff --git a/graphics/osg/Makefile b/graphics/osg/Makefile
index 36180a53daf1..5af824673834 100644
--- a/graphics/osg/Makefile
+++ b/graphics/osg/Makefile
@@ -1,7 +1,7 @@
PORTNAME= osg
PORTVERSION= 3.6.5
DISTVERSIONPREFIX= OpenSceneGraph-
-PORTREVISION= 81
+PORTREVISION= 82
CATEGORIES= graphics
MAINTAINER= fluffy@FreeBSD.org
diff --git a/graphics/osgearth/Makefile b/graphics/osgearth/Makefile
index e61f72f0d94d..037173005bf2 100644
--- a/graphics/osgearth/Makefile
+++ b/graphics/osgearth/Makefile
@@ -4,7 +4,7 @@ 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/
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-Image-ExifTool-devel/Makefile b/graphics/p5-Image-ExifTool-devel/Makefile
index ffcba1f0e159..30b74ad07dfb 100644
--- a/graphics/p5-Image-ExifTool-devel/Makefile
+++ b/graphics/p5-Image-ExifTool-devel/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Image-ExifTool
-DISTVERSION= 13.38
+DISTVERSION= 13.39
CATEGORIES= graphics perl5
MASTER_SITES= https://exiftool.org/ \
SF/exiftool
diff --git a/graphics/p5-Image-ExifTool-devel/distinfo b/graphics/p5-Image-ExifTool-devel/distinfo
index cd8d008acd7c..e17b36cf93a1 100644
--- a/graphics/p5-Image-ExifTool-devel/distinfo
+++ b/graphics/p5-Image-ExifTool-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759347329
-SHA256 (Image-ExifTool-13.38.tar.gz) = 0256672ab507662fe42d1ae851ae1b55930a3c8eb69e9d6883c33559e90f5f01
-SIZE (Image-ExifTool-13.38.tar.gz) = 7572486
+TIMESTAMP = 1760586421
+SHA256 (Image-ExifTool-13.39.tar.gz) = 11fbd0657ae43896c4057bad780830b3fe98006d1ab084fa5d43c4b1eee192cd
+SIZE (Image-ExifTool-13.39.tar.gz) = 7576475
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/pcl-pointclouds/Makefile b/graphics/pcl-pointclouds/Makefile
index 773481c48ddc..b0a7d51db8d7 100644
--- a/graphics/pcl-pointclouds/Makefile
+++ b/graphics/pcl-pointclouds/Makefile
@@ -1,7 +1,7 @@
PORTNAME= pcl
DISTVERSIONPREFIX= pcl-
DISTVERSION= 1.15.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics math
#MASTER_SITES= https://github.com/PointCloudLibrary/${PORTNAME}/releases/download/${PORTNAME}-${DISTVERSION}/
PKGNAMESUFFIX= -pointclouds
@@ -20,7 +20,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 \
@@ -80,4 +80,8 @@ VTK_LIB_DEPENDS= libvtkCommonCore-${VTK_VER}.so:math/vtk${VTK_VER:R}
# tests as of 1.15.0: 100% tests passed, 0 tests failed out of 133
.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/photoqt/Makefile b/graphics/photoqt/Makefile
index ea80c347f073..6b542822a75f 100644
--- a/graphics/photoqt/Makefile
+++ b/graphics/photoqt/Makefile
@@ -5,7 +5,7 @@ PORTREVISION= 5
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/povray37/Makefile b/graphics/povray37/Makefile
index 97d89a89f7e5..95eb0cb1e269 100644
--- a/graphics/povray37/Makefile
+++ b/graphics/povray37/Makefile
@@ -1,7 +1,7 @@
PORTNAME= povray
DISTVERSIONPREFIX= v
DISTVERSION= 3.7.0.10
-PORTREVISION= 23
+PORTREVISION= 24
CATEGORIES= graphics
PKGNAMESUFFIX= 37
diff --git a/graphics/povray38/Makefile b/graphics/povray38/Makefile
index 957d07bfb9e8..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= 20
+PORTREVISION= 21
CATEGORIES= graphics
MASTER_SITES= https://github.com/POV-Ray/povray/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
PKGNAMESUFFIX= 38
diff --git a/graphics/proj-data/Makefile b/graphics/proj-data/Makefile
index 223b0c8a142b..4928c9a93b23 100644
--- a/graphics/proj-data/Makefile
+++ b/graphics/proj-data/Makefile
@@ -1,5 +1,5 @@
PORTNAME= proj-data
-PORTVERSION= 1.22
+PORTVERSION= 1.23
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..aafd537766bb 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 = 1759816554
+SHA256 (proj-data-1.23.tar.gz) = 1055630cac3d830b794b48af3ca8c9dd88f4d46ef5dc51c270e0a416b3d1fa1c
+SIZE (proj-data-1.23.tar.gz) = 791943741
diff --git a/graphics/proj-data/pkg-plist b/graphics/proj-data/pkg-plist
index b5df9d1d5ea0..34eb3bac09da 100644
--- a/graphics/proj-data/pkg-plist
+++ b/graphics/proj-data/pkg-plist
@@ -229,6 +229,7 @@
%%DATADIR%%/no_kv_HREF2018B_NN2000_EUREF89.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 +303,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..0d3a2e1c4064 100644
--- a/graphics/proj/Makefile
+++ b/graphics/proj/Makefile
@@ -1,5 +1,5 @@
PORTNAME= proj
-DISTVERSION= 9.6.0
+DISTVERSION= 9.7.0
PORTEPOCH= 1
CATEGORIES= graphics geography
MASTER_SITES= https://github.com/OSGeo/PROJ/releases/download/${DISTVERSION}/ \
@@ -10,7 +10,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 \
diff --git a/graphics/proj/distinfo b/graphics/proj/distinfo
index c2740b7caa10..cfa672eb865a 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 = 1759102930
+SHA256 (proj-9.7.0.tar.gz) = 65705ecd987b50bf63e15820ce6bd17c042feaabda981249831bd230f6689709
+SIZE (proj-9.7.0.tar.gz) = 5904389
diff --git a/graphics/proj/pkg-plist b/graphics/proj/pkg-plist
index 8f3d5ba1db59..4eb6dd032543 100644
--- a/graphics/proj/pkg-plist
+++ b/graphics/proj/pkg-plist
@@ -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.9.7.0
libdata/pkgconfig/proj.pc
share/bash-completion/completions/projinfo
share/man/man1/cct.1.gz
diff --git a/graphics/py-dj52-sorl-thumbnail/Makefile b/graphics/py-dj52-sorl-thumbnail/Makefile
new file mode 100644
index 000000000000..b9883a81a9c7
--- /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:3.10+
+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-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-openimageio/Makefile b/graphics/py-openimageio/Makefile
index 977f5a344df1..9ddd29b860c8 100644
--- a/graphics/py-openimageio/Makefile
+++ b/graphics/py-openimageio/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 10
+PORTREVISION= 11
CATEGORIES= graphics multimedia python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-openshadinglanguage/Makefile b/graphics/py-openshadinglanguage/Makefile
index 8e60f095cfa8..54c1ca18f122 100644
--- a/graphics/py-openshadinglanguage/Makefile
+++ b/graphics/py-openshadinglanguage/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics multimedia python
# Note this port shares its PORTREVISION with graphics/openshadinglanguage!
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
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-sorl-thumbnail/Makefile b/graphics/py-sorl-thumbnail/Makefile
index cad52c7ea394..f959fa203be9 100644
--- a/graphics/py-sorl-thumbnail/Makefile
+++ b/graphics/py-sorl-thumbnail/Makefile
@@ -20,6 +20,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist concurrent pep517
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
NO_ARCH= yes
PORTDOCS= *
diff --git a/graphics/py-tifffile/Makefile b/graphics/py-tifffile/Makefile
index 5256acd17ea9..152e0ca4559b 100644
--- a/graphics/py-tifffile/Makefile
+++ b/graphics/py-tifffile/Makefile
@@ -1,5 +1,5 @@
PORTNAME= tifffile
-PORTVERSION= 2025.9.9
+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 5bfb447ae4bb..c1b77ce940e2 100644
--- a/graphics/py-tifffile/distinfo
+++ b/graphics/py-tifffile/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759324164
-SHA256 (tifffile-2025.9.9.tar.gz) = 6cf97ef548970eee9940cf8fc4203e57b4462a72e1e5e7a667ecdeb96113bc5f
-SIZE (tifffile-2025.9.9.tar.gz) = 369652
+TIMESTAMP = 1759774683
+SHA256 (tifffile-2025.10.4.tar.gz) = 2e437c16ab211be5bcdc79f71b4907359115f1f83b5d919e7c297c29725d3e38
+SIZE (tifffile-2025.10.4.tar.gz) = 369486
diff --git a/graphics/satty/Makefile b/graphics/satty/Makefile
index a09ac750a218..56db6536f1ec 100644
--- a/graphics/satty/Makefile
+++ b/graphics/satty/Makefile
@@ -1,7 +1,6 @@
PORTNAME= satty
DISTVERSIONPREFIX= v
-DISTVERSION= 0.19.0
-PORTREVISION= 4
+DISTVERSION= 0.20.0
CATEGORIES= graphics wayland
MASTER_SITES= CRATESIO
@@ -18,7 +17,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/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/synfig/Makefile b/graphics/synfig/Makefile
index afc0358a6540..59009dd2cf23 100644
--- a/graphics/synfig/Makefile
+++ b/graphics/synfig/Makefile
@@ -1,7 +1,7 @@
PORTNAME= synfig
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.5
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= graphics devel multimedia
MAINTAINER= portmaster@BSDforge.com
diff --git a/graphics/vhs/Makefile b/graphics/vhs/Makefile
index 528d5714cfcf..4a7d6690eed8 100644
--- a/graphics/vhs/Makefile
+++ b/graphics/vhs/Makefile
@@ -1,7 +1,7 @@
PORTNAME= vhs
DISTVERSIONPREFIX= v
DISTVERSION= 0.10.0
-PORTREVISION= 3
+PORTREVISION= 5
CATEGORIES= graphics
MAINTAINER= dtxdf@FreeBSD.org
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/yafaray/Makefile b/graphics/yafaray/Makefile
index eb19e714bc0f..347276dd576e 100644
--- a/graphics/yafaray/Makefile
+++ b/graphics/yafaray/Makefile
@@ -1,7 +1,7 @@
PORTNAME= yafaray
DISTVERSIONPREFIX= v
DISTVERSION= 3.5.1
-PORTREVISION= 31
+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 \