summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'graphics')
-rw-r--r--graphics/Makefile2
-rw-r--r--graphics/R-cran-cowplot/Makefile17
-rw-r--r--graphics/R-cran-cowplot/distinfo6
-rw-r--r--graphics/R-cran-qpdf/Makefile2
-rw-r--r--graphics/R-cran-qpdf/distinfo6
-rw-r--r--graphics/argyllcms/Makefile2
-rw-r--r--graphics/art/Makefile2
-rw-r--r--graphics/art/distinfo6
-rw-r--r--graphics/artem/Makefile2
-rw-r--r--graphics/asciinema-agg/Makefile1
-rw-r--r--graphics/asciio/Makefile2
-rw-r--r--graphics/bsd-plotutils/Makefile2
-rw-r--r--graphics/bsd-plotutils/files/patch-plot_plot.111
-rw-r--r--graphics/bsd-plotutils/files/patch-plot_plot.sh11
-rw-r--r--graphics/chafa/Makefile3
-rw-r--r--graphics/chafa/distinfo6
-rw-r--r--graphics/chafa/pkg-plist2
-rw-r--r--graphics/clang-uml/Makefile23
-rw-r--r--graphics/clang-uml/distinfo6
-rw-r--r--graphics/clang-uml/files/patch-src_common_clang__utils.cc10
-rw-r--r--graphics/colmap/Makefile13
-rw-r--r--graphics/colmap/distinfo6
-rw-r--r--graphics/colmap/files/patch-CMakeLists.txt11
-rw-r--r--graphics/colmap/pkg-plist27
-rw-r--r--graphics/colord-kde/distinfo6
-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/darktable/Makefile10
-rw-r--r--graphics/darktable/distinfo6
-rw-r--r--graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac743374885
-rw-r--r--graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce89834305946
-rw-r--r--graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af23
-rw-r--r--graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b154
-rw-r--r--graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf64223
-rw-r--r--graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c71227
-rw-r--r--graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa30
-rw-r--r--graphics/darktable/pkg-plist30
-rw-r--r--graphics/derelict-gl3/Makefile2
-rw-r--r--graphics/dify/Makefile2
-rw-r--r--graphics/djvulibre/Makefile3
-rw-r--r--graphics/djvulibre/distinfo6
-rw-r--r--graphics/djvulibre/pkg-plist2
-rw-r--r--graphics/drawio/Makefile2
-rw-r--r--graphics/drawpile/Makefile2
-rw-r--r--graphics/dssim/Makefile2
-rw-r--r--graphics/evince/Makefile13
-rw-r--r--graphics/evince/distinfo6
-rw-r--r--graphics/evince/pkg-plist4
-rw-r--r--graphics/evince/pkg-plist-lite4
-rw-r--r--graphics/f3d/Makefile17
-rw-r--r--graphics/f3d/distinfo6
-rw-r--r--graphics/f3d/files/patch-plugins_assimp_CMakeLists.txt11
-rw-r--r--graphics/f3d/pkg-plist14
-rw-r--r--graphics/fractgen/Makefile2
-rw-r--r--graphics/fractgen/distinfo6
-rw-r--r--graphics/gdal/Makefile3
-rw-r--r--graphics/gdal/distinfo6
-rw-r--r--graphics/gdk-pixbuf2/pkg-plist1
-rw-r--r--graphics/gegl/Makefile5
-rw-r--r--graphics/gegl/distinfo6
-rw-r--r--graphics/gexiv2/Makefile2
-rw-r--r--graphics/gexiv2/distinfo6
-rw-r--r--graphics/gifski/Makefile2
-rw-r--r--graphics/gimp3-app/Makefile25
-rw-r--r--graphics/gimp3-app/distinfo6
-rw-r--r--graphics/gimp3-app/files/patch-meson.build20
-rw-r--r--graphics/gimp3-app/pkg-plist4
-rw-r--r--graphics/glslang/Makefile4
-rw-r--r--graphics/glslang/distinfo6
-rw-r--r--graphics/glslang/pkg-plist2
-rw-r--r--graphics/goocanvasmm2/Makefile2
-rw-r--r--graphics/gscan2pdf/Makefile2
-rw-r--r--graphics/gwenview/distinfo6
-rw-r--r--graphics/hyprgraphics/Makefile4
-rw-r--r--graphics/hyprgraphics/distinfo6
-rw-r--r--graphics/jp/Makefile2
-rw-r--r--graphics/kamera/distinfo6
-rw-r--r--graphics/kcolorchooser/distinfo6
-rw-r--r--graphics/kdegraphics-mobipocket/distinfo6
-rw-r--r--graphics/kdegraphics-svgpart/distinfo6
-rw-r--r--graphics/kdegraphics-thumbnailers/distinfo6
-rw-r--r--graphics/kgraphviewer/distinfo6
-rw-r--r--graphics/kimagemapeditor/distinfo6
-rw-r--r--graphics/kolourpaint/distinfo6
-rw-r--r--graphics/kontrast/distinfo6
-rw-r--r--graphics/kqtquickcharts/distinfo6
-rw-r--r--graphics/ksanecore/distinfo6
-rw-r--r--graphics/libimagequant/Makefile2
-rw-r--r--graphics/libkdcraw/distinfo6
-rw-r--r--graphics/libkexiv2/distinfo6
-rw-r--r--graphics/libksane/distinfo6
-rw-r--r--graphics/libmypaint/Makefile2
-rw-r--r--graphics/libopendrive/Makefile14
-rw-r--r--graphics/libopendrive/distinfo6
-rw-r--r--graphics/libopendrive/files/patch-CMakeLists.txt62
-rw-r--r--graphics/libopendrive/pkg-plist5
-rw-r--r--graphics/libopenraw/Makefile2
-rw-r--r--graphics/libplacebo/Makefile1
-rw-r--r--graphics/librsvg2-rust/Makefile2
-rw-r--r--graphics/mapserver/Makefile2
-rw-r--r--graphics/menyoki/Makefile2
-rw-r--r--graphics/mesa-devel/Makefile5
-rw-r--r--graphics/mesa-devel/distinfo6
-rw-r--r--graphics/mesa-dri/Makefile2
-rw-r--r--graphics/noaa-apt/Makefile2
-rw-r--r--graphics/nvidia-drm-510-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-510-kmod-devel/distinfo6
-rw-r--r--graphics/nvidia-drm-515-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-515-kmod-devel/distinfo6
-rw-r--r--graphics/nvidia-drm-61-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-61-kmod-devel/distinfo6
-rw-r--r--graphics/nvidia-drm-66-kmod-devel/Makefile2
-rw-r--r--graphics/nvidia-drm-66-kmod-devel/distinfo6
-rw-r--r--graphics/nvidia-drm-kmod-devel/Makefile2
-rw-r--r--graphics/ocrs/Makefile2
-rw-r--r--graphics/oculante/Makefile2
-rw-r--r--graphics/okular/distinfo6
-rw-r--r--graphics/openxr/Makefile1
-rw-r--r--graphics/osg34/Makefile5
-rw-r--r--graphics/oxipng/Makefile2
-rw-r--r--graphics/p5-Cairo/Makefile2
-rw-r--r--graphics/p5-Cairo/files/patch-Makefile.PL14
-rw-r--r--graphics/p5-Chart-Clicker/Makefile2
-rw-r--r--graphics/p5-Gimp/Makefile2
-rw-r--r--graphics/p5-Graphics-Primitive-Driver-Cairo/Makefile1
-rw-r--r--graphics/p5-Image-ExifTool-devel/Makefile2
-rw-r--r--graphics/p5-Image-ExifTool-devel/distinfo6
-rw-r--r--graphics/pastel/Makefile2
-rw-r--r--graphics/php85-exif/Makefile7
-rw-r--r--graphics/php85-gd/Makefile7
-rw-r--r--graphics/plasma6-spectacle/distinfo6
-rw-r--r--graphics/py-f3d/Makefile2
-rw-r--r--graphics/py-f3d/distinfo6
-rw-r--r--graphics/py-gdal/Makefile3
-rw-r--r--graphics/py-gdal/distinfo6
-rw-r--r--graphics/py-gdal/files/patch-pyproject.toml13
-rw-r--r--graphics/py-geosnap/Makefile2
-rw-r--r--graphics/py-geosnap/distinfo6
-rw-r--r--graphics/py-mapclassify/Makefile2
-rw-r--r--graphics/py-mapclassify/distinfo6
-rw-r--r--graphics/py-pillow/Makefile2
-rw-r--r--graphics/py-pillow/distinfo6
-rw-r--r--graphics/qb3/Makefile1
-rw-r--r--graphics/qb3/files/patch-i38613
-rw-r--r--graphics/rawstudio/Makefile2
-rw-r--r--graphics/rawstudio/files/patch-libxml2-2.12.720
-rw-r--r--graphics/realesrgan-ncnn-vulkan/Makefile2
-rw-r--r--graphics/resvg-capi/Makefile2
-rw-r--r--graphics/resvg/Makefile2
-rw-r--r--graphics/rubygem-mini_magick/Makefile5
-rw-r--r--graphics/rubygem-mini_magick/distinfo6
-rw-r--r--graphics/rx/Makefile2
-rw-r--r--graphics/satty/Makefile2
-rw-r--r--graphics/shaderc/Makefile7
-rw-r--r--graphics/shaderc/distinfo10
-rw-r--r--graphics/skanlite/distinfo6
-rw-r--r--graphics/skanpage/distinfo6
-rw-r--r--graphics/spirv-tools/Makefile6
-rw-r--r--graphics/spirv-tools/distinfo10
-rw-r--r--graphics/svgbob/Makefile2
-rw-r--r--graphics/vapoursynth-waifu2x-ncnn-vulkan/Makefile2
-rw-r--r--graphics/vhs/Makefile1
-rw-r--r--graphics/vips/Makefile2
-rw-r--r--graphics/vips/distinfo6
-rw-r--r--graphics/vips/pkg-plist4
-rw-r--r--graphics/viu/Makefile2
-rw-r--r--graphics/vulkan-caps-viewer/Makefile16
-rw-r--r--graphics/vulkan-caps-viewer/distinfo4
-rw-r--r--graphics/vulkan-extension-layer/Makefile9
-rw-r--r--graphics/vulkan-extension-layer/distinfo6
-rw-r--r--graphics/vulkan-headers/Makefile9
-rw-r--r--graphics/vulkan-headers/distinfo6
-rw-r--r--graphics/vulkan-loader/Makefile11
-rw-r--r--graphics/vulkan-loader/distinfo6
-rw-r--r--graphics/vulkan-tools/Makefile11
-rw-r--r--graphics/vulkan-tools/distinfo6
-rw-r--r--graphics/vulkan-utility-libraries/Makefile4
-rw-r--r--graphics/vulkan-utility-libraries/distinfo6
-rw-r--r--graphics/vulkan-utility-libraries/pkg-descr7
-rw-r--r--graphics/vulkan-validation-layers/Makefile18
-rw-r--r--graphics/vulkan-validation-layers/distinfo10
-rw-r--r--graphics/vulkan-validation-layers/pkg-plist2
-rw-r--r--graphics/webp/Makefile2
-rw-r--r--graphics/webp/distinfo6
-rw-r--r--graphics/webp/pkg-plist10
187 files changed, 1066 insertions, 415 deletions
diff --git a/graphics/Makefile b/graphics/Makefile
index d44198ef29cc..71716649bbcd 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -831,6 +831,8 @@
SUBDIR += php83-gd
SUBDIR += php84-exif
SUBDIR += php84-gd
+ SUBDIR += php85-exif
+ SUBDIR += php85-gd
SUBDIR += phplot
SUBDIR += picpuz
SUBDIR += piddle
diff --git a/graphics/R-cran-cowplot/Makefile b/graphics/R-cran-cowplot/Makefile
index 79e5015b8a31..455093425141 100644
--- a/graphics/R-cran-cowplot/Makefile
+++ b/graphics/R-cran-cowplot/Makefile
@@ -1,5 +1,5 @@
PORTNAME= cowplot
-DISTVERSION= 1.1.3
+DISTVERSION= 1.2.0
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${DISTVERSION}
@@ -9,15 +9,20 @@ WWW= https://wilkelab.org/cowplot/
LICENSE= GPLv2
-CRAN_DEPENDS= R-cran-ggplot2>=3.4.0:graphics/R-cran-ggplot2 \
+RUN_DEPENDS= R-cran-ggplot2>=3.5.2:graphics/R-cran-ggplot2 \
R-cran-gtable>0:math/R-cran-gtable \
R-cran-rlang>0:devel/R-cran-rlang \
R-cran-scales>0:graphics/R-cran-scales
-BUILD_DEPENDS= ${CRAN_DEPENDS}
-RUN_DEPENDS= ${CRAN_DEPENDS}
-TEST_DEPENDS= R-cran-dbplyr>0:databases/R-cran-dbplyr \
+TEST_DEPENDS= R-cran-covr>0:devel/R-cran-covr \
+ R-cran-dplyr>0:math/R-cran-dplyr \
+ R-cran-forcats>0:math/R-cran-forcats \
+ R-cran-knitr>0:print/R-cran-knitr \
+ R-cran-magick>0:graphics/R-cran-magick \
R-cran-maps>0:math/R-cran-maps \
- R-cran-testthat>=1.0.0:devel/R-cran-testthat
+ R-cran-markdown>0:textproc/R-cran-markdown \
+ R-cran-ragg>0:graphics/R-cran-ragg \
+ R-cran-testthat>=1.0.0:devel/R-cran-testthat \
+ R-cran-tidyr>0:devel/R-cran-tidyr
USES= cran:auto-plist
diff --git a/graphics/R-cran-cowplot/distinfo b/graphics/R-cran-cowplot/distinfo
index a342717b4385..5c9204b0f3f1 100644
--- a/graphics/R-cran-cowplot/distinfo
+++ b/graphics/R-cran-cowplot/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1706875292
-SHA256 (cowplot_1.1.3.tar.gz) = 8756971af5c50381cf00ec7ed622fd5cf3d70f534bdfa3ebadd157b5aef5b273
-SIZE (cowplot_1.1.3.tar.gz) = 1350286
+TIMESTAMP = 1751929808
+SHA256 (cowplot_1.2.0.tar.gz) = 431d582a4fb68f005f45e0d963c19daad826289374b429b05fe168ef6f231aa1
+SIZE (cowplot_1.2.0.tar.gz) = 1638386
diff --git a/graphics/R-cran-qpdf/Makefile b/graphics/R-cran-qpdf/Makefile
index 0711380975be..0842d7bfe540 100644
--- a/graphics/R-cran-qpdf/Makefile
+++ b/graphics/R-cran-qpdf/Makefile
@@ -1,5 +1,5 @@
PORTNAME= qpdf
-DISTVERSION= 1.3.5
+DISTVERSION= 1.4.1
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${DISTVERSION}
diff --git a/graphics/R-cran-qpdf/distinfo b/graphics/R-cran-qpdf/distinfo
index 23ac77f9ec62..edc06723951a 100644
--- a/graphics/R-cran-qpdf/distinfo
+++ b/graphics/R-cran-qpdf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742753479
-SHA256 (qpdf_1.3.5.tar.gz) = 709a97451a31fc6f94fe6ce6ea337ebd76335c62a000a0431c9c1994e50dc47a
-SIZE (qpdf_1.3.5.tar.gz) = 322573
+TIMESTAMP = 1751518792
+SHA256 (qpdf_1.4.1.tar.gz) = 3ab2c6f099b7f17e383ccb0c4fdd8c27a657ba629967d2edb3c768fc3dc315c6
+SIZE (qpdf_1.4.1.tar.gz) = 556946
diff --git a/graphics/argyllcms/Makefile b/graphics/argyllcms/Makefile
index 62103aa894cf..e32d603737e0 100644
--- a/graphics/argyllcms/Makefile
+++ b/graphics/argyllcms/Makefile
@@ -5,7 +5,7 @@ CATEGORIES= graphics
MASTER_SITES= https://www.argyllcms.com/
DISTNAME= Argyll_V${PORTVERSION}_src
-MAINTAINER= kwm@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= ICC compatible color management system
WWW= https://www.argyllcms.com/
diff --git a/graphics/art/Makefile b/graphics/art/Makefile
index 90cf66c3c20c..ec539439e9a8 100644
--- a/graphics/art/Makefile
+++ b/graphics/art/Makefile
@@ -1,5 +1,5 @@
PORTNAME= art
-DISTVERSION= 1.25.5
+DISTVERSION= 1.25.6
CATEGORIES= graphics
MASTER_SITES= https://github.com/artpixls/ART/releases/download/${DISTVERSION}/
PKGNAMESUFFIX= -raw-image-editor
diff --git a/graphics/art/distinfo b/graphics/art/distinfo
index c1826865e9c2..091bb873a928 100644
--- a/graphics/art/distinfo
+++ b/graphics/art/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748330075
-SHA256 (ART-1.25.5.tar.xz) = c4f8eb3fb7d363c6efef6a63997710e63fcb5997f2811c2fecae00e443529a1e
-SIZE (ART-1.25.5.tar.xz) = 19598872
+TIMESTAMP = 1752186852
+SHA256 (ART-1.25.6.tar.xz) = b3f6859d0944d3c038ced54367a787af0b6051df0f28e9bfa1ecebb9c5183a2d
+SIZE (ART-1.25.6.tar.xz) = 19616232
diff --git a/graphics/artem/Makefile b/graphics/artem/Makefile
index c109f5793b5d..08e13aef8946 100644
--- a/graphics/artem/Makefile
+++ b/graphics/artem/Makefile
@@ -1,7 +1,7 @@
PORTNAME= artem
DISTVERSIONPREFIX= v
DISTVERSION= 3.0.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= adamw@FreeBSD.org
diff --git a/graphics/asciinema-agg/Makefile b/graphics/asciinema-agg/Makefile
index bc946dfcf006..b2f1508a487b 100644
--- a/graphics/asciinema-agg/Makefile
+++ b/graphics/asciinema-agg/Makefile
@@ -1,6 +1,7 @@
PORTNAME= agg
DISTVERSIONPREFIX= v
DISTVERSION= 1.5.0
+PORTREVISION= 1
CATEGORIES= graphics
PKGNAMEPREFIX= asciinema-
diff --git a/graphics/asciio/Makefile b/graphics/asciio/Makefile
index 0ccd78e61b9d..d54630072209 100644
--- a/graphics/asciio/Makefile
+++ b/graphics/asciio/Makefile
@@ -1,6 +1,6 @@
PORTNAME= asciio
PORTVERSION= 1.9.02
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= graphics
MASTER_SITES= https://cpan.metacpan.org/authors/id/N/NK/NKH/ \
diff --git a/graphics/bsd-plotutils/Makefile b/graphics/bsd-plotutils/Makefile
index 840dda35df1e..920e97f4fbca 100644
--- a/graphics/bsd-plotutils/Makefile
+++ b/graphics/bsd-plotutils/Makefile
@@ -1,6 +1,6 @@
PORTNAME= bsd-plotutils
DISTVERSION= 1.4.2
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= toranktto@gmail.com
diff --git a/graphics/bsd-plotutils/files/patch-plot_plot.1 b/graphics/bsd-plotutils/files/patch-plot_plot.1
new file mode 100644
index 000000000000..d1fa77263b52
--- /dev/null
+++ b/graphics/bsd-plotutils/files/patch-plot_plot.1
@@ -0,0 +1,11 @@
+--- plot/plot.1.orig 2019-02-09 03:42:21 UTC
++++ plot/plot.1
+@@ -13,7 +13,7 @@
+ .Sh SYNOPSIS
+ .Nm plot
+ .Oo
+-.Op Fl T Ar terminal
++.Op Fl T Ns Ar terminal
+ .Oo
+ .Ar
+ .Sh DESCRIPTION
diff --git a/graphics/bsd-plotutils/files/patch-plot_plot.sh b/graphics/bsd-plotutils/files/patch-plot_plot.sh
new file mode 100644
index 000000000000..9c1907843a6b
--- /dev/null
+++ b/graphics/bsd-plotutils/files/patch-plot_plot.sh
@@ -0,0 +1,11 @@
+--- plot/plot.sh.orig 2019-02-09 03:42:21 UTC
++++ plot/plot.sh
+@@ -3,6 +3,8 @@ case $1 in
+ PATH=/bin:/usr/bin:/usr/local/bin:/usr/local/libexec:/usr/libexec
+
+ case $1 in
++-T) t=-T$2
++ shift; shift;;
+ -T*) t=$1
+ shift ;;
+ *) t=-T$TERM
diff --git a/graphics/chafa/Makefile b/graphics/chafa/Makefile
index dff86d2db09f..73358ab85dec 100644
--- a/graphics/chafa/Makefile
+++ b/graphics/chafa/Makefile
@@ -1,6 +1,5 @@
PORTNAME= chafa
-DISTVERSION= 1.16.1
-PORTREVISION= 1
+DISTVERSION= 1.16.2
CATEGORIES= graphics
MASTER_SITES= https://hpjansson.org/chafa/releases/ \
https://github.com/hpjansson/chafa/releases/download/${PORTVERSION}/
diff --git a/graphics/chafa/distinfo b/graphics/chafa/distinfo
index 8e8d77f6b774..8235dc838a20 100644
--- a/graphics/chafa/distinfo
+++ b/graphics/chafa/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747805132
-SHA256 (chafa-1.16.1.tar.xz) = 4a25debb71530baf0a748b15cfee6b8da6b513f696d9484987eaf410ecce1129
-SIZE (chafa-1.16.1.tar.xz) = 1035536
+TIMESTAMP = 1751704312
+SHA256 (chafa-1.16.2.tar.xz) = 657898dd9a89b45130a44c1efe1fc03e2c7bd00c2f543ed7111613cb9e7861df
+SIZE (chafa-1.16.2.tar.xz) = 1039788
diff --git a/graphics/chafa/pkg-plist b/graphics/chafa/pkg-plist
index 65ebadedd052..64d779903b20 100644
--- a/graphics/chafa/pkg-plist
+++ b/graphics/chafa/pkg-plist
@@ -17,7 +17,7 @@ lib/chafa/include/chafaconfig.h
lib/libchafa.a
lib/libchafa.so
lib/libchafa.so.0
-lib/libchafa.so.0.10.1
+lib/libchafa.so.0.10.2
libdata/pkgconfig/chafa.pc
%%PORTDOCS%%%%DOCSDIR%%/html/chafa/api-index-deprecated.html
%%PORTDOCS%%%%DOCSDIR%%/html/chafa/api-index-full.html
diff --git a/graphics/clang-uml/Makefile b/graphics/clang-uml/Makefile
index 783c7d7f6f16..9175e72d4030 100644
--- a/graphics/clang-uml/Makefile
+++ b/graphics/clang-uml/Makefile
@@ -1,5 +1,5 @@
PORTNAME= clang-uml
-PORTVERSION= 0.6.1
+PORTVERSION= 0.6.2
CATEGORIES= graphics lang textproc
MAINTAINER= arrowd@FreeBSD.org
@@ -11,12 +11,29 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md
LIB_DEPENDS= libyaml-cpp.so:devel/yaml-cpp
-USES= cmake compiler:c++17-lang llvm:noexport,lib localbase:ldflags
+USES= cmake:testing compiler:c++17-lang llvm:noexport,lib \
+ localbase:ldflags
-CMAKE_ARGS+= -DCLANG_UML_ENABLE_BACKTRACE=OFF \
+CMAKE_ARGS= -DCLANG_UML_ENABLE_BACKTRACE=OFF \
-DBUILD_TESTS=OFF
+CMAKE_TESTING_ON=BUILD_TESTS
USE_GITHUB= yes
GH_ACCOUNT= bkryza
+BUILD_WRKSRC_TESTS= ${BUILD_WRKSRC}/tests
+TESTING_UNSAFE= some tests fail
+
+pre-test:
+ @if [ "${BUILD_WRKSRC_TESTS:H:H}" != "${WRKDIR}" ]; then \
+ ${ECHO_CMD} This software expects tests data to be located at \
+ ../../tests relative to ;\
+ ${ECHO_CMD} ${BUILD_WRKSRC_TESTS} ;\
+ ${ECHO_CMD} but this path is outside of ;\
+ ${ECHO_CMD} ${WRKDIR}; \
+ ${FALSE}; \
+ fi
+ ${RM} ${WRKDIR}/tests
+ ${LN} -s ${WRKSRC}/tests ${WRKDIR}/tests
+
.include <bsd.port.mk>
diff --git a/graphics/clang-uml/distinfo b/graphics/clang-uml/distinfo
index 8eac317b1ec0..ef2a3bdc27fb 100644
--- a/graphics/clang-uml/distinfo
+++ b/graphics/clang-uml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741688300
-SHA256 (bkryza-clang-uml-0.6.1_GH0.tar.gz) = a64c3cae87a282be207e4c5faf47534dca21b06cb6f463bb7b04de979dccf17e
-SIZE (bkryza-clang-uml-0.6.1_GH0.tar.gz) = 3059231
+TIMESTAMP = 1751468522
+SHA256 (bkryza-clang-uml-0.6.2_GH0.tar.gz) = 004540c328699f81abebceb33a4661b548ab3a5f74096da2c025b9971b2b17ff
+SIZE (bkryza-clang-uml-0.6.2_GH0.tar.gz) = 3100641
diff --git a/graphics/clang-uml/files/patch-src_common_clang__utils.cc b/graphics/clang-uml/files/patch-src_common_clang__utils.cc
index 81f081831420..193f4ccfec7f 100644
--- a/graphics/clang-uml/files/patch-src_common_clang__utils.cc
+++ b/graphics/clang-uml/files/patch-src_common_clang__utils.cc
@@ -1,11 +1,11 @@
---- src/common/clang_utils.cc.orig 2025-01-20 07:36:53 UTC
+--- src/common/clang_utils.cc.orig 2025-06-29 11:26:26 UTC
+++ src/common/clang_utils.cc
-@@ -1019,7 +1019,7 @@ clang::RawComment *get_raw_comment(const clang::Source
+@@ -1023,7 +1023,7 @@ clang::RawComment *get_raw_comment(const clang::Source
+ const auto *comments = context.Comments.getCommentsInFile(file_id);
- if (!context.Comments.empty() &&
- context.Comments.getCommentsInFile(file_id) != nullptr) {
+ if (has_comments && comments != nullptr) {
- for (const auto [offset, raw_comment] :
+ for (const auto & [offset, raw_comment] :
*context.Comments.getCommentsInFile(sm.getFileID(expr_begin))) {
- const auto comment_end_line = sm.getSpellingLineNumber(
+ const auto comment_end_line = sm.getExpansionLineNumber(
raw_comment->getSourceRange().getEnd());
diff --git a/graphics/colmap/Makefile b/graphics/colmap/Makefile
index dbb6cfd7dfe8..47977c264e01 100644
--- a/graphics/colmap/Makefile
+++ b/graphics/colmap/Makefile
@@ -1,6 +1,5 @@
PORTNAME= colmap
-DISTVERSION= 3.11.1
-PORTREVISION= 2
+DISTVERSION= 3.12.1
CATEGORIES= graphics
MAINTAINER= fuz@FreeBSD.org
@@ -18,22 +17,22 @@ LICENSE_FILE_SIFTGPU= ${WRKSRC}/src/thirdparty/SiftGPU/LICENSE
LICENSE_PERMS_SIFTGPU= dist-mirror pkg-mirror auto-accept
LIB_DEPENDS= libPoseLib.so:graphics/poselib \
- libboost_filesystem.so:devel/boost-libs \
+ libboost_program_options.so:devel/boost-libs \
libceres.so:math/ceres-solver \
- libflann.so:math/flann \
+ libcurl.so:ftp/curl \
+ libfaiss.so:math/faiss \
libfreeimage.so:graphics/freeimage \
libglog.so:devel/glog \
- liblz4.so:archivers/liblz4 \
libmetis.so:math/metis
TEST_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gtest.pc:devel/googletest
USES= cmake:testing compiler:${OPENMP}c++11-lib desktop-file-utils eigen:3 gl \
- localbase python:env qt:5 sqlite
+ localbase python:env qt:5 sqlite ssl
USE_CXXSTD= c++17
USE_GITHUB= yes
USE_GL= gl glew
USE_QT= core gui widgets buildtools:build opengl:build qmake:build
-CMAKE_OFF= BOOST_STATIC CUDA_ENABLED FETCH_POSELIB
+CMAKE_OFF= BOOST_STATIC CUDA_ENABLED FETCH_FAISS FETCH_POSELIB
CMAKE_TESTING_ON= TESTS_ENABLED
LDFLAGS+= -Wl,--as-needed # gflags, glu, xi, xmu
diff --git a/graphics/colmap/distinfo b/graphics/colmap/distinfo
index 65f2c01eccf4..ac3ae55ad257 100644
--- a/graphics/colmap/distinfo
+++ b/graphics/colmap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1733745417
-SHA256 (colmap-colmap-3.11.1_GH0.tar.gz) = d2c20729ab5b1198e17725b720128f304f4cfae5c0a8c20d75c0e9c5bdee5860
-SIZE (colmap-colmap-3.11.1_GH0.tar.gz) = 3513052
+TIMESTAMP = 1751922819
+SHA256 (colmap-colmap-3.12.1_GH0.tar.gz) = 366496caca43e73a1e61c7ebd9dee51d5b2afe15c0e75e16ebad6cfae6f2860b
+SIZE (colmap-colmap-3.12.1_GH0.tar.gz) = 3577466
diff --git a/graphics/colmap/files/patch-CMakeLists.txt b/graphics/colmap/files/patch-CMakeLists.txt
index d1c928a91f9c..022d12ffe97d 100644
--- a/graphics/colmap/files/patch-CMakeLists.txt
+++ b/graphics/colmap/files/patch-CMakeLists.txt
@@ -1,14 +1,11 @@
---- CMakeLists.txt.orig 2024-10-16 10:58:58 UTC
+--- CMakeLists.txt.orig 2025-07-04 10:48:20 UTC
+++ CMakeLists.txt
-@@ -125,9 +125,10 @@ endif()
+@@ -132,6 +132,8 @@ endif()
unset(CLANG_TIDY_EXE)
endif()
-+add_definitions("-DGLOG_USE_GLOG_EXPORT")
++add_compile_definitions(GLOG_USE_GLOG_EXPORT)
+
if(IS_MSVC)
# Some fixes for the Glog library.
-- add_definitions("-DGLOG_USE_GLOG_EXPORT")
- add_definitions("-DGLOG_NO_ABBREVIATED_SEVERITIES")
- add_definitions("-DGL_GLEXT_PROTOTYPES")
- add_definitions("-DNOMINMAX")
+ add_compile_definitions(GLOG_USE_GLOG_EXPORT)
diff --git a/graphics/colmap/pkg-plist b/graphics/colmap/pkg-plist
index 5d20b23dc333..1dae83c7ea7c 100644
--- a/graphics/colmap/pkg-plist
+++ b/graphics/colmap/pkg-plist
@@ -21,7 +21,6 @@ include/colmap/estimators/essential_matrix_poly.h
include/colmap/estimators/euclidean_transform.h
include/colmap/estimators/fundamental_matrix.h
include/colmap/estimators/generalized_absolute_pose.h
-include/colmap/estimators/generalized_absolute_pose_coeffs.h
include/colmap/estimators/generalized_pose.h
include/colmap/estimators/generalized_relative_pose.h
include/colmap/estimators/homography_matrix.h
@@ -50,9 +49,13 @@ include/colmap/feature/utils.h
include/colmap/geometry/essential_matrix.h
include/colmap/geometry/gps.h
include/colmap/geometry/homography_matrix.h
+include/colmap/geometry/normalization.h
include/colmap/geometry/pose.h
+include/colmap/geometry/pose_prior.h
include/colmap/geometry/rigid3.h
+include/colmap/geometry/rigid3_matchers.h
include/colmap/geometry/sim3.h
+include/colmap/geometry/sim3_matchers.h
include/colmap/geometry/triangulation.h
include/colmap/image/line.h
include/colmap/image/undistortion.h
@@ -79,6 +82,7 @@ include/colmap/mvs/model.h
include/colmap/mvs/normal_map.h
include/colmap/mvs/patch_match.h
include/colmap/mvs/patch_match_cuda.h
+include/colmap/mvs/patch_match_options.h
include/colmap/mvs/workspace.h
include/colmap/optim/combination_sampler.h
include/colmap/optim/least_absolute_deviations.h
@@ -93,21 +97,26 @@ include/colmap/retrieval/geometry.h
include/colmap/retrieval/inverted_file.h
include/colmap/retrieval/inverted_file_entry.h
include/colmap/retrieval/inverted_index.h
+include/colmap/retrieval/resources.h
include/colmap/retrieval/utils.h
include/colmap/retrieval/visual_index.h
include/colmap/retrieval/vote_and_verify.h
include/colmap/scene/camera.h
-include/colmap/scene/camera_rig.h
include/colmap/scene/correspondence_graph.h
include/colmap/scene/database.h
include/colmap/scene/database_cache.h
+include/colmap/scene/frame.h
include/colmap/scene/image.h
include/colmap/scene/point2d.h
include/colmap/scene/point3d.h
include/colmap/scene/projection.h
include/colmap/scene/reconstruction.h
include/colmap/scene/reconstruction_io.h
+include/colmap/scene/reconstruction_io_binary.h
+include/colmap/scene/reconstruction_io_text.h
+include/colmap/scene/reconstruction_io_utils.h
include/colmap/scene/reconstruction_manager.h
+include/colmap/scene/rig.h
include/colmap/scene/scene_clustering.h
include/colmap/scene/synthetic.h
include/colmap/scene/track.h
@@ -116,8 +125,10 @@ include/colmap/scene/visibility_pyramid.h
include/colmap/sensor/bitmap.h
include/colmap/sensor/database.h
include/colmap/sensor/models.h
+include/colmap/sensor/rig.h
include/colmap/sensor/specs.h
include/colmap/sfm/incremental_mapper.h
+include/colmap/sfm/incremental_mapper_impl.h
include/colmap/sfm/incremental_triangulator.h
include/colmap/sfm/observation_manager.h
include/colmap/thirdparty/LSD/lsd.h
@@ -253,8 +264,9 @@ include/colmap/util/cudacc.h
include/colmap/util/eigen_alignment.h
include/colmap/util/eigen_matchers.h
include/colmap/util/endian.h
-include/colmap/util/enum_to_string.h
+include/colmap/util/enum_utils.h
include/colmap/util/file.h
+include/colmap/util/glog_macros.h
include/colmap/util/logging.h
include/colmap/util/misc.h
include/colmap/util/opengl_utils.h
@@ -287,12 +299,11 @@ lib/libcolmap_ui.a
lib/libcolmap_util.a
lib/libcolmap_vlfeat.a
share/applications/COLMAP.desktop
+%%DATADIR%%/cmake/FindCryptoPP.cmake
%%DATADIR%%/cmake/FindDependencies.cmake
-%%DATADIR%%/cmake/FindFLANN.cmake
%%DATADIR%%/cmake/FindFreeImage.cmake
%%DATADIR%%/cmake/FindGlew.cmake
%%DATADIR%%/cmake/FindGlog.cmake
-%%DATADIR%%/cmake/FindLZ4.cmake
%%DATADIR%%/cmake/FindMetis.cmake
%%DATADIR%%/colmap-config-version.cmake
%%DATADIR%%/colmap-config.cmake
@@ -305,6 +316,7 @@ share/applications/COLMAP.desktop
%%PORTDOCS%%%%DOCSDIR%%/_sources/cameras.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/changelog.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/cli.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/concepts.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/contribution.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/database.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/datasets.rst.txt
@@ -313,10 +325,12 @@ share/applications/COLMAP.desktop
%%PORTDOCS%%%%DOCSDIR%%/_sources/gui.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/index.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/install.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/legacy.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/license.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/pycolmap/cost_functions.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/pycolmap/index.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/pycolmap/pycolmap.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/rigs.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_sources/tutorial.rst.txt
%%PORTDOCS%%%%DOCSDIR%%/_static/_sphinx_javascript_frameworks_compat.js
%%PORTDOCS%%%%DOCSDIR%%/_static/basic.css
@@ -361,6 +375,7 @@ share/applications/COLMAP.desktop
%%PORTDOCS%%%%DOCSDIR%%/cameras.html
%%PORTDOCS%%%%DOCSDIR%%/changelog.html
%%PORTDOCS%%%%DOCSDIR%%/cli.html
+%%PORTDOCS%%%%DOCSDIR%%/concepts.html
%%PORTDOCS%%%%DOCSDIR%%/contribution.html
%%PORTDOCS%%%%DOCSDIR%%/database.html
%%PORTDOCS%%%%DOCSDIR%%/datasets.html
@@ -370,11 +385,13 @@ share/applications/COLMAP.desktop
%%PORTDOCS%%%%DOCSDIR%%/gui.html
%%PORTDOCS%%%%DOCSDIR%%/index.html
%%PORTDOCS%%%%DOCSDIR%%/install.html
+%%PORTDOCS%%%%DOCSDIR%%/legacy.html
%%PORTDOCS%%%%DOCSDIR%%/license.html
%%PORTDOCS%%%%DOCSDIR%%/objects.inv
%%PORTDOCS%%%%DOCSDIR%%/pycolmap/cost_functions.html
%%PORTDOCS%%%%DOCSDIR%%/pycolmap/index.html
%%PORTDOCS%%%%DOCSDIR%%/pycolmap/pycolmap.html
+%%PORTDOCS%%%%DOCSDIR%%/rigs.html
%%PORTDOCS%%%%DOCSDIR%%/search.html
%%PORTDOCS%%%%DOCSDIR%%/searchindex.js
%%PORTDOCS%%%%DOCSDIR%%/tutorial.html
diff --git a/graphics/colord-kde/distinfo b/graphics/colord-kde/distinfo
index f69e4cc43e0d..d5adadbb20be 100644
--- a/graphics/colord-kde/distinfo
+++ b/graphics/colord-kde/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751111721
-SHA256 (KDE/release-service/25.04.2/colord-kde-25.04.2.tar.xz) = 3f847f952ff34fe98e9b9c3477039860b95d3ec079a4421ab8269b6ee8a91459
-SIZE (KDE/release-service/25.04.2/colord-kde-25.04.2.tar.xz) = 120048
+TIMESTAMP = 1751381448
+SHA256 (KDE/release-service/25.04.3/colord-kde-25.04.3.tar.xz) = bcebe47737750d066e9c5560a7f9398bbe6327cf265714b3c708a4d1d6ea1803
+SIZE (KDE/release-service/25.04.3/colord-kde-25.04.3.tar.xz) = 120080
diff --git a/graphics/converseen/Makefile b/graphics/converseen/Makefile
index 6f9c48382907..61fd7adba787 100644
--- a/graphics/converseen/Makefile
+++ b/graphics/converseen/Makefile
@@ -1,6 +1,6 @@
PORTNAME= converseen
DISTVERSIONPREFIX= v
-DISTVERSION= 0.14.0.0
+DISTVERSION= 0.15.0.1
CATEGORIES= graphics
MAINTAINER= fernape@FreeBSD.org
diff --git a/graphics/converseen/distinfo b/graphics/converseen/distinfo
index 5276e215f0d1..21f318515921 100644
--- a/graphics/converseen/distinfo
+++ b/graphics/converseen/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745754508
-SHA256 (Faster3ck-Converseen-v0.14.0.0_GH0.tar.gz) = 434ab5363b0a1399b51788473ccc6907ac790f90be743b30484223ef4273f3e3
-SIZE (Faster3ck-Converseen-v0.14.0.0_GH0.tar.gz) = 962236
+TIMESTAMP = 1751800958
+SHA256 (Faster3ck-Converseen-v0.15.0.1_GH0.tar.gz) = 0e7f7731f660537eb2d360b5adbf535e5959892384d7c81083224a73bc685ce2
+SIZE (Faster3ck-Converseen-v0.15.0.1_GH0.tar.gz) = 968202
diff --git a/graphics/corrupter/Makefile b/graphics/corrupter/Makefile
index 750b38964938..c2b1d99bb442 100644
--- a/graphics/corrupter/Makefile
+++ b/graphics/corrupter/Makefile
@@ -1,7 +1,7 @@
PORTNAME= corrupter
DISTVERSIONPREFIX= v
DISTVERSION= 1.0
-PORTREVISION= 26
+PORTREVISION= 27
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/d2/Makefile b/graphics/d2/Makefile
index 7183a5c25d4b..dfe50e8daa69 100644
--- a/graphics/d2/Makefile
+++ b/graphics/d2/Makefile
@@ -1,7 +1,7 @@
PORTNAME= d2
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= adamw@FreeBSD.org
diff --git a/graphics/darktable/Makefile b/graphics/darktable/Makefile
index 0a5e92805986..170a419ea86c 100644
--- a/graphics/darktable/Makefile
+++ b/graphics/darktable/Makefile
@@ -1,6 +1,6 @@
PORTNAME= darktable
-PORTVERSION= 5.0.1
-PORTREVISION= 1
+PORTVERSION= 5.2.0
+PORTREVISION= 0
CATEGORIES= graphics
MASTER_SITES= https://github.com/darktable-org/${PORTNAME}/releases/download/release-${PORTVERSION:C/\.rc/rc/}/
@@ -43,7 +43,7 @@ LIB_DEPENDS= libavif.so:graphics/libavif \
libwebp.so:graphics/webp
USES= cmake compiler:c++11-lib desktop-file-utils gl gnome jpeg \
- llvm:17,build lua perl5 pkgconfig sdl shebangfix sqlite \
+ llvm:build lua perl5 pkgconfig sdl shebangfix sqlite \
tar:xz xorg
USE_GL= gl
USE_GNOME= cairo gtk30 intltool librsvg2 libxml2
@@ -59,7 +59,9 @@ CMAKE_BOOL+= BUILD_CMSTEST USE_AVIF USE_CAMERA_SUPPORT USE_HEIF \
USE_ISOBMFF USE_KWALLET USE_LUA USE_MAP USE_OPENEXR \
USE_OPENJPEG USE_WEBP RAWSPEED_ENABLE_LTO
-CFLAGS+= -fopenmp
+# darktable wraps pthread lock/release functions, causing false
+# compiler warnings from -Wthread-safety-analysis. Kill this warning.
+CFLAGS+= -fopenmp -Wno-thread-safety-analysis
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:C/\.rc/~rc/}
diff --git a/graphics/darktable/distinfo b/graphics/darktable/distinfo
index f9a0561a026c..b061c37997b9 100644
--- a/graphics/darktable/distinfo
+++ b/graphics/darktable/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739833136
-SHA256 (darktable-5.0.1.tar.xz) = 4a918d094ebba983ef67a10cc715c3d7e8ca738009920a9ff65d33417b6dd984
-SIZE (darktable-5.0.1.tar.xz) = 7247072
+TIMESTAMP = 1751715144
+SHA256 (darktable-5.2.0.tar.xz) = 53a46cd46ef7118485c4abf4ab407c181639bb8634243ec0ed1f7c1e8299bec6
+SIZE (darktable-5.2.0.tar.xz) = 7319420
diff --git a/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748 b/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748
new file mode 100644
index 000000000000..4127a55bb2ba
--- /dev/null
+++ b/graphics/darktable/files/patch-git-0cc770a2e21ced661c5363c5733eb13ac7433748
@@ -0,0 +1,85 @@
+From 0cc770a2e21ced661c5363c5733eb13ac7433748 Mon Sep 17 00:00:00 2001
+From: Martin Straeten <39386816+MStraeten@users.noreply.github.com>
+Date: Fri, 27 Jun 2025 17:06:45 +0200
+Subject: [PATCH] reset window placement if last position is out of available
+ display space (#18988)
+
+* reset window if position is out of display space
+
+on initialisation darktable moves the window to the last position even thats outside of the available displays.
+
+_valid_window_placement checks for an overlay with an existing display
+
+dt_gui_gtk_load_config() resets position to default if there's no overlap
+
+* 24 pixel as a border
+
+a border of 24 pixels is used to define the effective area that must be overlapped from the last window position to avoid a reset of position
+
+* stile fixes
+
+one parameter per line
+several const additions
+---
+ src/gui/gtk.c | 41 ++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 40 insertions(+), 1 deletion(-)
+
+diff --git a/src/gui/gtk.c b/src/gui/gtk.c
+index 671d87345850..a620dcb42332 100644
+--- src/gui/gtk.c
++++ b/src/gui/gtk.c
+@@ -773,6 +773,42 @@ static gboolean _scrollbar_changed(GtkWidget *widget,
+ return TRUE;
+ }
+
++gboolean _valid_window_placement( const gint saved_x,
++ const gint saved_y,
++ const gint window_width,
++ const gint window_height,
++ const gint border)
++{
++ GdkDisplay *display = gdk_display_get_default();
++ const gint n_monitors = gdk_display_get_n_monitors(display);
++
++ // check each monitor
++ for(gint i = 0; i < n_monitors; i++)
++ {
++ GdkMonitor *monitor = gdk_display_get_monitor(display, i);
++ GdkRectangle geometry;
++ gdk_monitor_get_geometry(monitor, &geometry);
++
++ // Calculate effective area excluding border
++ const gint eff_x = geometry.x + border;
++ const gint eff_y = geometry.y + border;
++ const gint eff_width = geometry.width - (2 * border);
++ const gint eff_height = geometry.height - (2 * border);
++
++ if(eff_width <= 0 || eff_height <= 0) continue;
++
++ // Check overlap
++ const gboolean x_overlap = (saved_x < eff_x + eff_width) && (saved_x + window_width > eff_x);
++ const gboolean y_overlap = (saved_y < eff_y + eff_height) && (saved_y + window_height > eff_y);
++
++ if(x_overlap && y_overlap)
++ {
++ return TRUE;
++ }
++ }
++ return FALSE;
++}
++
+ int dt_gui_gtk_load_config()
+ {
+ dt_pthread_mutex_lock(&darktable.gui->mutex);
+@@ -784,7 +820,10 @@ int dt_gui_gtk_load_config()
+ const gint y = MAX(0, dt_conf_get_int("ui_last/window_y"));
+
+ gtk_window_resize(GTK_WINDOW(widget), width, height);
+- gtk_window_move(GTK_WINDOW(widget), x, y);
++ if(_valid_window_placement(x, y, width, height, 24))
++ gtk_window_move(GTK_WINDOW(widget), x, y);
++ else
++ gtk_window_move(GTK_WINDOW(widget), 0, 0);
+ const gboolean fullscreen = dt_conf_get_bool("ui_last/fullscreen");
+
+ if(fullscreen)
diff --git a/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059 b/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059
new file mode 100644
index 000000000000..cabdbe858e29
--- /dev/null
+++ b/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059
@@ -0,0 +1,46 @@
+From 5db7918176ca45a24e9ea5b2a7bdbce898343059 Mon Sep 17 00:00:00 2001
+From: Mario Zimmermann <mail@zisoft.de>
+Date: Mon, 23 Jun 2025 13:36:33 +0200
+Subject: [PATCH] use full metadata tag name for variable substitution
+
+---
+ src/common/variables.c | 4 +---
+ src/gui/gtkentry.c | 2 +-
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/common/variables.c b/src/common/variables.c
+index b8deed704af0..2746a7cf8647 100644
+--- src/common/variables.c
++++ b/src/common/variables.c
+@@ -953,9 +953,8 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable)
+ for(GList* iter = dt_metadata_get_list(); iter; iter = iter->next)
+ {
+ dt_metadata_t *metadata = (dt_metadata_t *)iter->data;
+- gchar *prefix = g_utf8_strup(dt_metadata_get_tag_subkey(metadata->tagname), -1);
+ gboolean found = FALSE;
+- if(_has_prefix(variable, prefix))
++ if(_has_prefix(variable, metadata->tagname))
+ {
+ GList *res = dt_metadata_get(params->imgid, metadata->tagname, NULL);
+ if(res != NULL)
+@@ -963,7 +962,6 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable)
+ g_list_free_full(res, g_free);
+ found = TRUE;
+ }
+- g_free(prefix);
+ if(found) break;
+ }
+ dt_pthread_mutex_unlock(&darktable.metadata_threadsafe);
+diff --git a/src/gui/gtkentry.c b/src/gui/gtkentry.c
+index b4acc9ccc8ad..db200eff47a9 100644
+--- src/gui/gtkentry.c
++++ b/src/gui/gtkentry.c
+@@ -291,7 +291,7 @@ void dt_gtkentry_variables_add_metadata(dt_metadata_t *metadata)
+ {
+ GtkTreeIter iter;
+
+- gchar *varname = g_utf8_strup(dt_metadata_get_tag_subkey(metadata->tagname), -1);
++ gchar *varname = g_strdup(metadata->tagname);
+ gchar *description = g_strdup_printf("$(%s) - %s", varname, _("from metadata"));
+ gtk_list_store_append(_completion_model, &iter);
+ gtk_list_store_set(_completion_model, &iter,
diff --git a/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af b/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af
new file mode 100644
index 000000000000..2cf87c412f38
--- /dev/null
+++ b/graphics/darktable/files/patch-git-727ad35663589dc046c557787f0c1c34a45fb4af
@@ -0,0 +1,23 @@
+From 727ad35663589dc046c557787f0c1c34a45fb4af Mon Sep 17 00:00:00 2001
+From: Hanno Schwalm <hanno@schwalm-bremen.de>
+Date: Sun, 29 Jun 2025 06:07:42 +0200
+Subject: [PATCH] Fix non-raw OpenCL rastermask codepath
+
+Using the correct OpenCL interpolator
+---
+ src/iop/rasterfile.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/iop/rasterfile.c b/src/iop/rasterfile.c
+index 9f774b3c86cb..4e582861be70 100644
+--- src/iop/rasterfile.c
++++ b/src/iop/rasterfile.c
+@@ -378,7 +378,7 @@ int process_cl(dt_iop_module_t *self,
+ if(visual) return err;
+
+ if(roi_out->scale != roi_in->scale && ch == 4)
+- err = dt_iop_clip_and_zoom_roi_cl(devid, dev_out, dev_in, roi_out, roi_in);
++ err = dt_iop_clip_and_zoom_cl(devid, dev_out, dev_in, roi_out, roi_in);
+ else
+ {
+ size_t iorigin[] = { roi_out->x, roi_out->y, 0 };
diff --git a/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b b/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b
new file mode 100644
index 000000000000..666c92431acb
--- /dev/null
+++ b/graphics/darktable/files/patch-git-b4e81416381fd7a1e189a4fc4d8b3836906ddd2b
@@ -0,0 +1,154 @@
+From b4e81416381fd7a1e189a4fc4d8b3836906ddd2b Mon Sep 17 00:00:00 2001
+From: Pascal Obry <pascal@obry.net>
+Date: Tue, 17 Jun 2025 17:35:04 +0200
+Subject: [PATCH] Fix memory leak when using dt_util_localize_segmented_name.
+
+---
+ src/common/history.c | 8 +++++---
+ src/common/presets.c | 14 +++++++-------
+ src/common/presets.h | 8 ++++----
+ src/develop/imageop.c | 6 +++++-
+ src/gui/styles_dialog.c | 12 +++++++-----
+ 5 files changed, 28 insertions(+), 20 deletions(-)
+
+diff --git a/src/common/history.c b/src/common/history.c
+index 94b370c140f7..3fa458999ed7 100644
+--- src/common/history.c
++++ b/src/common/history.c
+@@ -1,6 +1,6 @@
+ /*
+ This file is part of darktable,
+- Copyright (C) 2010-2024 darktable developers.
++ Copyright (C) 2010-2025 darktable developers.
+
+ darktable is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -1023,13 +1023,15 @@ char *dt_history_get_name_label(const char *name,
+ }
+ else
+ {
+- const char *l_label = hand_edited
+- ? label
++ char *l_label = hand_edited
++ ? g_strdup (label)
+ : dt_util_localize_segmented_name(label, FALSE);
+
+ result = markup
+ ? g_markup_printf_escaped("%s • <small>%s</small>", name, l_label)
+ : g_markup_printf_escaped("%s • %s", name, l_label);
++
++ g_free(l_label);
+ }
+
+ return result;
+diff --git a/src/common/presets.c b/src/common/presets.c
+index a22dc8935c56..50fab77749dc 100644
+--- src/common/presets.c
++++ b/src/common/presets.c
+@@ -428,7 +428,7 @@ char *dt_presets_get_module_label(const char *module_name,
+ const char *name = (const char *)sqlite3_column_text(stmt, 0);
+ const char *multi_name = (const char *)sqlite3_column_text(stmt, 1);
+ if(multi_name && (strlen(multi_name) == 0 || multi_name[0] != ' '))
+- result = g_strdup(dt_presets_get_multi_name(name, multi_name, FALSE));
++ result = dt_presets_get_multi_name(name, multi_name, FALSE);
+ }
+ g_free(query);
+ sqlite3_finalize(stmt);
+@@ -436,9 +436,9 @@ char *dt_presets_get_module_label(const char *module_name,
+ return result;
+ }
+
+-const char *dt_presets_get_multi_name(const char *name,
+- const char *multi_name,
+- const gboolean localize)
++char *dt_presets_get_multi_name(const char *name,
++ const char *multi_name,
++ const gboolean localize)
+ {
+ const gboolean auto_module = dt_conf_get_bool("darkroom/ui/auto_module_name_update");
+
+@@ -446,10 +446,10 @@ const char *dt_presets_get_multi_name(const char *name,
+ // in non auto-update mode : use only the multi_name if defined
+ if(auto_module)
+ return strlen(multi_name) > 0
+- ? multi_name
+- : (localize ? dt_util_localize_segmented_name(name, FALSE) : name);
++ ? g_strdup(multi_name)
++ : (localize ? dt_util_localize_segmented_name(name, FALSE) : g_strdup(name));
+ else
+- return strlen(multi_name) > 0 ? multi_name : "";
++ return g_strdup(strlen(multi_name) > 0 ? multi_name : "");
+ }
+
+ // clang-format off
+diff --git a/src/common/presets.h b/src/common/presets.h
+index b493b543b1db..fe4c65fc3960 100644
+--- src/common/presets.h
++++ b/src/common/presets.h
+@@ -1,6 +1,6 @@
+ /*
+ This file is part of darktable,
+- Copyright (C) 2019-2023 darktable developers.
++ Copyright (C) 2019-2025 darktable developers.
+
+ darktable is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -42,9 +42,9 @@ char *dt_presets_get_module_label(const char *module_name,
+ and the recorded preset's multi_name. This depends on the preference
+ darkroom/ui/auto_module_name_update
+ */
+-const char *dt_presets_get_multi_name(const char *name,
+- const char *multi_name,
+- const gboolean localize);
++char *dt_presets_get_multi_name(const char *name,
++ const char *multi_name,
++ const gboolean localize);
+
+ /** get currently active preset name for the module */
+ gchar *dt_get_active_preset_name(dt_iop_module_t *module, gboolean *writeprotect);
+diff --git a/src/develop/imageop.c b/src/develop/imageop.c
+index b2886b8d274e..13386fb6286b 100644
+--- src/develop/imageop.c
++++ b/src/develop/imageop.c
+@@ -1198,7 +1198,11 @@ static void _iop_panel_name(dt_iop_module_t *module)
+ if(module->multi_name_hand_edited)
+ new_label = g_strdup_printf("• %s", module->multi_name);
+ else
+- new_label = g_strdup_printf("• %s", dt_util_localize_segmented_name(module->multi_name, FALSE));
++ {
++ char *loc = dt_util_localize_segmented_name(module->multi_name, FALSE);
++ new_label = g_strdup_printf("• %s", loc);
++ g_free(loc);
++ }
+ gtk_widget_set_name(GTK_WIDGET(iname), "iop-module-name");
+ }
+ }
+diff --git a/src/gui/styles_dialog.c b/src/gui/styles_dialog.c
+index c4fc24704e9f..75474de98793 100644
+--- src/gui/styles_dialog.c
++++ b/src/gui/styles_dialog.c
+@@ -1,6 +1,6 @@
+ /*
+ This file is part of darktable,
+- Copyright (C) 2010-2024 darktable developers.
++ Copyright (C) 2010-2025 darktable developers.
+
+ darktable is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -1003,10 +1003,12 @@ GtkWidget *dt_gui_style_content_dialog(char *name, const dt_imgid_t imgid)
+
+ if(i->multi_name && strlen(i->multi_name) > 0)
+ {
+- snprintf(mn, sizeof(mn), "(%s)",
+- i->multi_name_hand_edited
+- ? i->multi_name
+- : dt_util_localize_segmented_name(i->multi_name, TRUE));
++ char *mname = i->multi_name_hand_edited
++ ? g_strdup(i->multi_name)
++ : dt_util_localize_segmented_name(i->multi_name, TRUE);
++
++ snprintf(mn, sizeof(mn), "(%s)", mname);
++ g_free(mname);
+ }
+ else
+ {
diff --git a/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642 b/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642
new file mode 100644
index 000000000000..9b218f023472
--- /dev/null
+++ b/graphics/darktable/files/patch-git-dd5e98050bbd3b726cf1577042f03de734eaf642
@@ -0,0 +1,23 @@
+From dd5e98050bbd3b726cf1577042f03de734eaf642 Mon Sep 17 00:00:00 2001
+From: Pascal Obry <pascal@obry.net>
+Date: Tue, 17 Jun 2025 17:34:51 +0200
+Subject: [PATCH] snapshots: Ensure the entry fill all the widget while
+ editing.
+
+---
+ src/libs/snapshots.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libs/snapshots.c b/src/libs/snapshots.c
+index bf0909f757e7..9c2fd0c23c76 100644
+--- src/libs/snapshots.c
++++ b/src/libs/snapshots.c
+@@ -558,7 +558,7 @@ static void _init_snapshot_entry(dt_lib_module_t *self, dt_lib_snapshot_t *s)
+ gtk_widget_set_halign(s->name, GTK_ALIGN_START);
+
+ s->entry = gtk_entry_new();
+- gtk_widget_set_halign(s->entry, GTK_ALIGN_START);
++ gtk_widget_set_halign(s->entry, GTK_ALIGN_FILL);
+ g_signal_connect(G_OBJECT(s->entry), "activate",
+ G_CALLBACK(_entry_activated_callback), self);
+
diff --git a/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712 b/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712
new file mode 100644
index 000000000000..67331abd7b4c
--- /dev/null
+++ b/graphics/darktable/files/patch-git-e00a758e6164389e845308f3615c3754dd04c712
@@ -0,0 +1,27 @@
+From e00a758e6164389e845308f3615c3754dd04c712 Mon Sep 17 00:00:00 2001
+From: Mario Zimmermann <mail@zisoft.de>
+Date: Fri, 27 Jun 2025 20:05:23 +0200
+Subject: [PATCH] fix screen dpi setting has no effect
+
+---
+ src/gui/gtk.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/gui/gtk.c b/src/gui/gtk.c
+index a620dcb42332..d62411e9d6ef 100644
+--- src/gui/gtk.c
++++ b/src/gui/gtk.c
+@@ -1630,10 +1630,10 @@ double dt_get_screen_resolution(GtkWidget *widget)
+ screen_dpi = 96.0;
+ strncpy(opt_str, "(default value)", sizeof(opt_str));
+ }
+- gdk_screen_set_resolution(gtk_widget_get_screen(widget), screen_dpi);
+- dt_print(DT_DEBUG_CONTROL, "[screen resolution] setting the screen resolution to %f dpi %s",
+- screen_dpi, opt_str);
+ }
++ gdk_screen_set_resolution(gtk_widget_get_screen(widget), screen_dpi);
++ dt_print(DT_DEBUG_CONTROL, "[screen resolution] setting the screen resolution to %f dpi %s",
++ screen_dpi, opt_str);
+ return screen_dpi;
+ }
+
diff --git a/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa b/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa
new file mode 100644
index 000000000000..2f3bf38c170c
--- /dev/null
+++ b/graphics/darktable/files/patch-git-eac87cf0c41ef6d2190cd88cd9379a288edba1fa
@@ -0,0 +1,30 @@
+From eac87cf0c41ef6d2190cd88cd9379a288edba1fa Mon Sep 17 00:00:00 2001
+From: Pascal Obry <pascal@obry.net>
+Date: Fri, 27 Jun 2025 08:14:30 +0200
+Subject: [PATCH] Fix compilation when OpenMP is disabled.
+
+Fixes #19006.
+---
+ src/common/darktable.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/common/darktable.c b/src/common/darktable.c
+index 11f86b0330a8..e5feaf63eddd 100644
+--- src/common/darktable.c
++++ b/src/common/darktable.c
+@@ -1193,10 +1193,13 @@ int dt_init(int argc, char *argv[], const gboolean init_gui, const gboolean load
+ if(desired > possible)
+ dt_print(DT_DEBUG_ALWAYS,
+ "[dt_init --threads] requested %d ompthreads restricted to %d",
+- desired, possible);
++ desired, possible);
++#ifdef _OPENMP
+ dt_print(DT_DEBUG_ALWAYS,
+ "[dt_init --threads] using %d threads of %d for openmp parallel sections %s",
+- darktable.num_openmp_threads, (int)dt_get_num_procs(), omp_get_dynamic() ? "(dynamic)" : "(static)");
++ darktable.num_openmp_threads, (int)dt_get_num_procs(),
++ omp_get_dynamic() ? "(dynamic)" : "(static)");
++#endif
+ k++;
+ argv[k-1] = NULL;
+ argv[k] = NULL;
diff --git a/graphics/darktable/pkg-plist b/graphics/darktable/pkg-plist
index 89d93ee37b90..8cfa8b9195b8 100644
--- a/graphics/darktable/pkg-plist
+++ b/graphics/darktable/pkg-plist
@@ -90,6 +90,7 @@ lib/darktable/plugins/liboverexposed.so
lib/darktable/plugins/liboverlay.so
lib/darktable/plugins/libprimaries.so
lib/darktable/plugins/libprofile_gamma.so
+lib/darktable/plugins/librasterfile.so
lib/darktable/plugins/librawdenoise.so
lib/darktable/plugins/librawoverexposed.so
lib/darktable/plugins/librawprepare.so
@@ -236,7 +237,6 @@ share/applications/org.darktable.darktable.desktop
%%DATADIR%%/lua/darktable/debug.lua
%%DATADIR%%/luarc
%%DATADIR%%/noiseprofiles.json
-%%DATADIR%%/pixmaps/clock.svg
%%DATADIR%%/pixmaps/darktable.svg
%%DATADIR%%/pixmaps/dt_logo_128x128.png
%%DATADIR%%/pixmaps/dt_text.svg
@@ -900,6 +900,30 @@ share/applications/org.darktable.darktable.desktop
%%DATADIR%%/styles/darktable_Sony_ZV-1.dtstyle
%%DATADIR%%/styles/darktable_Sony_ZV-E1.dtstyle
%%DATADIR%%/styles/darktable_Sony_ZV-E10.dtstyle
+%%DATADIR%%/styles/examples_colors_autumn.dtstyle
+%%DATADIR%%/styles/examples_colors_blue LED lighting fix (strong).dtstyle
+%%DATADIR%%/styles/examples_colors_blue LED lighting fix.dtstyle
+%%DATADIR%%/styles/examples_colors_extreme saturation.dtstyle
+%%DATADIR%%/styles/examples_colors_faded.dtstyle
+%%DATADIR%%/styles/examples_colors_pastels.dtstyle
+%%DATADIR%%/styles/examples_colors_sepia.dtstyle
+%%DATADIR%%/styles/examples_contrast and sharpness_dehaze (strong, luminance only).dtstyle
+%%DATADIR%%/styles/examples_contrast and sharpness_extreme local contrast.dtstyle
+%%DATADIR%%/styles/examples_contrast and sharpness_sharpen finest details.dtstyle
+%%DATADIR%%/styles/examples_effects_4-up on US Letter paper.dtstyle
+%%DATADIR%%/styles/examples_effects_day for night.dtstyle
+%%DATADIR%%/styles/examples_effects_day for twilight.dtstyle
+%%DATADIR%%/styles/examples_effects_fog.dtstyle
+%%DATADIR%%/styles/examples_effects_motion blur.dtstyle
+%%DATADIR%%/styles/examples_effects_red-eye reduction.dtstyle
+%%DATADIR%%/styles/examples_spot color_blue.dtstyle
+%%DATADIR%%/styles/examples_spot color_cyan.dtstyle
+%%DATADIR%%/styles/examples_spot color_green.dtstyle
+%%DATADIR%%/styles/examples_spot color_magenta.dtstyle
+%%DATADIR%%/styles/examples_spot color_orange.dtstyle
+%%DATADIR%%/styles/examples_spot color_purple.dtstyle
+%%DATADIR%%/styles/examples_spot color_red.dtstyle
+%%DATADIR%%/styles/examples_spot color_yellow.dtstyle
%%DATADIR%%/themes/darktable-elegant-dark.css
%%DATADIR%%/themes/darktable-elegant-darker.css
%%DATADIR%%/themes/darktable-elegant-grey.css
@@ -946,12 +970,12 @@ share/icons/hicolor/scalable/apps/darktable.svg
%%NLS%%share/locale/fi/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/fr/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/hu/LC_MESSAGES/darktable.mo
+%%NLS%%share/locale/it/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/ja/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/nl/LC_MESSAGES/darktable.mo
-%%NLS%%share/locale/pl/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/darktable.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/sl/LC_MESSAGES/darktable.mo
-%%NLS%%share/locale/sv/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/sq/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/uk/LC_MESSAGES/darktable.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/darktable.mo
diff --git a/graphics/derelict-gl3/Makefile b/graphics/derelict-gl3/Makefile
index 46b350f548e3..c4c21ef43ea0 100644
--- a/graphics/derelict-gl3/Makefile
+++ b/graphics/derelict-gl3/Makefile
@@ -1,6 +1,6 @@
PORTNAME= derelict-gl3
PORTVERSION= 1.0.24
-PORTREVISION= 5
+PORTREVISION= 6
DISTVERSIONPREFIX= v
CATEGORIES= graphics
diff --git a/graphics/dify/Makefile b/graphics/dify/Makefile
index 277a062186cc..23a73597fc23 100644
--- a/graphics/dify/Makefile
+++ b/graphics/dify/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dify
DISTVERSION= 0.6.0
-PORTREVISION= 21
+PORTREVISION= 22
CATEGORIES= graphics
MASTER_SITES= CRATESIO
# XXX Teach USES=cargo to have proper default
diff --git a/graphics/djvulibre/Makefile b/graphics/djvulibre/Makefile
index bfce4c9beaa0..009b574e3d52 100644
--- a/graphics/djvulibre/Makefile
+++ b/graphics/djvulibre/Makefile
@@ -1,6 +1,5 @@
PORTNAME= djvulibre
-PORTVERSION= 3.5.28
-PORTREVISION= 4
+PORTVERSION= 3.5.29
CATEGORIES= graphics www
MASTER_SITES= SF/djvu/DjVuLibre/${PORTVERSION}
diff --git a/graphics/djvulibre/distinfo b/graphics/djvulibre/distinfo
index b04e6577271d..17e318618c20 100644
--- a/graphics/djvulibre/distinfo
+++ b/graphics/djvulibre/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1613156151
-SHA256 (djvulibre-3.5.28.tar.gz) = fcd009ea7654fde5a83600eb80757bd3a76998e47d13c66b54c8db849f8f2edc
-SIZE (djvulibre-3.5.28.tar.gz) = 3701161
+TIMESTAMP = 1751742375
+SHA256 (djvulibre-3.5.29.tar.gz) = d3b4b03ae2bdca8516a36ef6eb27b777f0528c9eda26745d9962824a3fdfeccf
+SIZE (djvulibre-3.5.29.tar.gz) = 3716911
diff --git a/graphics/djvulibre/pkg-plist b/graphics/djvulibre/pkg-plist
index 8bf6fb568e45..b333de705d94 100644
--- a/graphics/djvulibre/pkg-plist
+++ b/graphics/djvulibre/pkg-plist
@@ -21,7 +21,7 @@ include/libdjvu/ddjvuapi.h
include/libdjvu/miniexp.h
lib/libdjvulibre.so
lib/libdjvulibre.so.21
-lib/libdjvulibre.so.21.7.0
+lib/libdjvulibre.so.21.8.0
libdata/pkgconfig/ddjvuapi.pc
%%ANY2DJVU%%share/man/man1/any2djvu.1.gz
share/man/man1/bzz.1.gz
diff --git a/graphics/drawio/Makefile b/graphics/drawio/Makefile
index 527792f369de..bf0a90583cce 100644
--- a/graphics/drawio/Makefile
+++ b/graphics/drawio/Makefile
@@ -1,6 +1,6 @@
PORTNAME= drawio
PORTVERSION= 26.2.15
-PORTREVISION= 6
+PORTREVISION= 8
DISTVERSIONPREFIX= x86_64-
CATEGORIES= graphics
MASTER_SITES= https://github.com/jgraph/drawio-desktop/releases/download/v${PORTVERSION}/
diff --git a/graphics/drawpile/Makefile b/graphics/drawpile/Makefile
index 834315850c02..a1f43d6ecc00 100644
--- a/graphics/drawpile/Makefile
+++ b/graphics/drawpile/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Drawpile
DISTVERSION= 2.2.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics python
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/dssim/Makefile b/graphics/dssim/Makefile
index 8d29bf968c06..d5906884f249 100644
--- a/graphics/dssim/Makefile
+++ b/graphics/dssim/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dssim
DISTVERSION= 3.2.4
-PORTREVISION= 24
+PORTREVISION= 25
CATEGORIES= graphics
MASTER_SITES= CRATESIO
# XXX Teach USES=cargo to have proper default
diff --git a/graphics/evince/Makefile b/graphics/evince/Makefile
index f48564d52471..972382c18e18 100644
--- a/graphics/evince/Makefile
+++ b/graphics/evince/Makefile
@@ -1,6 +1,5 @@
PORTNAME= evince
-DISTVERSION= 48.0
-PORTREVISION= 1
+DISTVERSION= 48.1
CATEGORIES= graphics print gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome
@@ -21,14 +20,13 @@ BUILD_DEPENDS= gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas \
LIB_DEPENDS= libhandy-1.so:x11-toolkits/libhandy \
libpoppler-glib.so:graphics/poppler-glib \
libspectre.so:print/libspectre \
- libtiff.so:graphics/tiff \
- libdbus-1.so:devel/dbus
+ libtiff.so:graphics/tiff
RUN_DEPENDS= gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas
USES= compiler:c++11-lib cpe desktop-file-utils gettext gnome \
gstreamer libarchive localbase:ldflags meson pkgconfig \
python:build tar:xz xorg
-USE_GNOME= cairo gdkpixbuf gnomedesktop3 gtk30 introspection:build libxml2
+USE_GNOME= cairo gdkpixbuf gtk30 libxml2
USE_LDCONFIG= yes
USE_XORG= ice
CPE_VENDOR= gnome
@@ -43,7 +41,6 @@ MESON_ARGS+= -Dintrospection=false \
-Dpreviewer=false \
-Dthumbnail_cache=disabled \
-Dthumbnailer=false
-USE_GNOME+= libxml2
OPTIONS_EXCLUDE= DBUS
PLIST= ${.CURDIR}/pkg-plist-lite
PKGNAMESUFFIX= -lite
@@ -66,8 +63,8 @@ OPTIONS_DEFAULT= COMICS DBUS KEYRING SPELL XPS
COMICS_DESC= Comic book archives support
COMICS_MESON_ENABLED= comics
-DBUS_MESON_TRUE= dbus
-DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
+DBUS_MESON_TRUE= dbus
+DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
DJVU_DESC= DJVU support
DJVU_LIB_DEPENDS= libdjvulibre.so:graphics/djvulibre
diff --git a/graphics/evince/distinfo b/graphics/evince/distinfo
index f4c04d0ce3b6..ac8fd3452e4d 100644
--- a/graphics/evince/distinfo
+++ b/graphics/evince/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744639068
-SHA256 (gnome/evince-48.0.tar.xz) = cd2f658355fa9075fdf9e5b44aa0af3a7e0928c55614eb1042b36176cf451126
-SIZE (gnome/evince-48.0.tar.xz) = 2942540
+TIMESTAMP = 1751557151
+SHA256 (gnome/evince-48.1.tar.xz) = 7d8b9a6fa3a05d3f5b9048859027688c73a788ff6e923bc3945126884943fa10
+SIZE (gnome/evince-48.1.tar.xz) = 2942692
diff --git a/graphics/evince/pkg-plist b/graphics/evince/pkg-plist
index d4725ae61f2b..7dee2ca261ff 100644
--- a/graphics/evince/pkg-plist
+++ b/graphics/evince/pkg-plist
@@ -69,10 +69,10 @@ lib/girepository-1.0/EvinceDocument-%%VERSION%%.typelib
lib/girepository-1.0/EvinceView-%%VERSION%%.typelib
lib/libevdocument3.so
lib/libevdocument3.so.4
-lib/libevdocument3.so.%%GTK4_VERSION%%
+lib/libevdocument3.so.4.0.0
lib/libevview3.so
lib/libevview3.so.3
-lib/libevview3.so.%%GTK3_VERSION%%
+lib/libevview3.so.3.0.0
libdata/pkgconfig/evince-document-%%VERSION%%.pc
libdata/pkgconfig/evince-view-%%VERSION%%.pc
%%DBUS%%libexec/evinced
diff --git a/graphics/evince/pkg-plist-lite b/graphics/evince/pkg-plist-lite
index f072cf2f0402..c068f815bb8e 100644
--- a/graphics/evince/pkg-plist-lite
+++ b/graphics/evince/pkg-plist-lite
@@ -65,10 +65,10 @@ lib/evince/4/backends/tiffdocument.evince-backend
%%XPS%%lib/evince/4/backends/xpsdocument.evince-backend
lib/libevdocument3.so
lib/libevdocument3.so.4
-lib/libevdocument3.so.%%GTK4_VERSION%%
+lib/libevdocument3.so.4.0.0
lib/libevview3.so
lib/libevview3.so.3
-lib/libevview3.so.%%GTK3_VERSION%%
+lib/libevview3.so.3.0.0
libdata/pkgconfig/evince-document-%%VERSION%%.pc
libdata/pkgconfig/evince-view-%%VERSION%%.pc
share/man/man1/evince-previewer.1.gz
diff --git a/graphics/f3d/Makefile b/graphics/f3d/Makefile
index b5d60c73b92c..9b69bde42b92 100644
--- a/graphics/f3d/Makefile
+++ b/graphics/f3d/Makefile
@@ -1,7 +1,6 @@
PORTNAME= f3d
DISTVERSIONPREFIX= v
-DISTVERSION= 3.1.0
-PORTREVISION= 4
+DISTVERSION= 3.2.0
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -40,8 +39,8 @@ LDFLAGS+= -linotify
# dependency descroptions are in https://f3d.app/doc/dev/BUILD.html
OPTIONS_GROUP= MODULES PLUGINS
OPTIONS_GROUP_MODULES= EXTERNAL_RENDERING RAYTRACING
-OPTIONS_GROUP_PLUGINS= ALEMBIC ASSIMP DRACO EXODUS OCCT
-OPTIONS_DEFAULT= ALEMBIC ASSIMP DRACO EXODUS OCCT
+OPTIONS_GROUP_PLUGINS= ALEMBIC ASSIMP DRACO HDF OCCT VDB
+OPTIONS_DEFAULT= ALEMBIC ASSIMP DRACO HDF OCCT # VDB
OPTIONS_SUB= yes
MODULES_DESC= Build modules:
@@ -59,19 +58,23 @@ DRACO_DESC= Draco plugin
DRACO_CMAKE_BOOL= F3D_PLUGIN_BUILD_DRACO
DRACO_LIB_DEPENDS= libdraco.so:archivers/draco
-EXODUS_DESC= ExodusII plugin
-EXODUS_CMAKE_BOOL= F3D_PLUGIN_BUILD_EXODUS
-
EXTERNAL_RENDERING_DESC= External rendering module
EXTERNAL_RENDERING_CMAKE_BOOL= F3D_MODULE_EXTERNAL_RENDERING
EXTERNAL_RENDERING_BROKEN= Requires VTK::RenderingExternal enabled in VTK
+HDF_DESC= Support for VTKHDF (.vtkhdf), ExodusII (.ex2), and NetCDF (.nc) file formats
+HDF_CMAKE_BOOL= F3D_PLUGIN_BUILD_HDF
+
OCCT_DESC= OpenCASCADE plugin (for STEP and IGES files)
OCCT_USES= localbase:ldflags
OCCT_CMAKE_BOOL= F3D_PLUGIN_BUILD_OCCT
OCCT_LIB_DEPENDS= libTKBRep.so:cad/opencascade
OCCT_CMAKE_ON= -DOpenCASCADE_DIR=${LOCALBASE}/lib/cmake
+VDB_DESC= VDB plugin
+VDB_CMAKE_BOOL= F3D_PLUGIN_BUILD_VDB
+VDB_BROKEN= depends on the VTK module IOOpenVD that can't be enabled because OpenVDB doesn't install required cmake files, see https://github.com/AcademySoftwareFoundation/openvdb/issues/2058
+
RAYTRACING_DESC= Raytracing module
RAYTRACING_CMAKE_BOOL= F3D_MODULE_RAYTRACING
RAYTRACING_BROKEN= Requires VTK::RenderingRayTracing enabled in VTK
diff --git a/graphics/f3d/distinfo b/graphics/f3d/distinfo
index 531cd6078de7..4b7c92357910 100644
--- a/graphics/f3d/distinfo
+++ b/graphics/f3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748893025
-SHA256 (f3d-app-f3d-v3.1.0_GH0.tar.gz) = 93ba23078133122e929d9c1e2946c86da1f08fe56b9ffae40ebfd8185e91380a
-SIZE (f3d-app-f3d-v3.1.0_GH0.tar.gz) = 61473994
+TIMESTAMP = 1752141480
+SHA256 (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 2a3cff123821be41d99489e080a7153812e58a86598fa9f4988099660bf6a947
+SIZE (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 68125944
diff --git a/graphics/f3d/files/patch-plugins_assimp_CMakeLists.txt b/graphics/f3d/files/patch-plugins_assimp_CMakeLists.txt
deleted file mode 100644
index 1119e588b41b..000000000000
--- a/graphics/f3d/files/patch-plugins_assimp_CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- plugins/assimp/CMakeLists.txt.orig 2025-06-02 22:44:41 UTC
-+++ plugins/assimp/CMakeLists.txt
-@@ -11,7 +11,7 @@ endif()
- include(f3dPlugin)
- endif()
-
--find_package(assimp 5.4.0 REQUIRED)
-+find_package(assimp REQUIRED)
-
- set(F3D_ASSIMP_VERSION "${assimp_VERSION}" CACHE INTERNAL "")
- message(STATUS "Plugin: assimp ${assimp_VERSION} found")
diff --git a/graphics/f3d/pkg-plist b/graphics/f3d/pkg-plist
index 9a973dfddcf4..77289080d9c5 100644
--- a/graphics/f3d/pkg-plist
+++ b/graphics/f3d/pkg-plist
@@ -25,12 +25,12 @@ lib/cmake/f3d/f3dTargets.cmake
lib/cmake/f3d/library-config.cmake
lib/libf3d.so
lib/libf3d.so.3
-lib/libf3d.so.3.1
+lib/libf3d.so.3.2
lib/libvtkext.so
%%ALEMBIC%%share/applications/f3d-plugin-alembic.desktop
%%ASSIMP%%share/applications/f3d-plugin-assimp.desktop
%%DRACO%%share/applications/f3d-plugin-draco.desktop
-%%EXODUS%%share/applications/f3d-plugin-exodus.desktop
+%%HDF%%share/applications/f3d-plugin-hdf.desktop
share/applications/f3d-plugin-native.desktop
%%OCCT%%share/applications/f3d-plugin-occt.desktop
share/applications/f3d.desktop
@@ -41,20 +41,20 @@ share/doc/F3D/THIRD_PARTY_LICENSES.md
%%ALEMBIC%%%%DATADIR%%/configs/config.d/10_alembic.json
%%ASSIMP%%%%DATADIR%%/configs/config.d/10_assimp.json
%%DRACO%%%%DATADIR%%/configs/config.d/10_draco.json
-%%EXODUS%%%%DATADIR%%/configs/config.d/10_exodus.json
+%%HDF%%%%DATADIR%%/configs/config.d/10_hdf.json
%%DATADIR%%/configs/config.d/10_native.json
%%OCCT%%%%DATADIR%%/configs/config.d/10_occt.json
%%DATADIR%%/configs/thumbnail.d/05_all.json
%%ALEMBIC%%%%DATADIR%%/configs/thumbnail.d/10_alembic.json
%%ASSIMP%%%%DATADIR%%/configs/thumbnail.d/10_assimp.json
%%DRACO%%%%DATADIR%%/configs/thumbnail.d/10_draco.json
-%%EXODUS%%%%DATADIR%%/configs/thumbnail.d/10_exodus.json
+%%HDF%%%%DATADIR%%/configs/thumbnail.d/10_hdf.json
%%DATADIR%%/configs/thumbnail.d/10_native.json
%%OCCT%%%%DATADIR%%/configs/thumbnail.d/10_occt.json
%%ALEMBIC%%%%DATADIR%%/plugins/alembic.json
%%ASSIMP%%%%DATADIR%%/plugins/assimp.json
%%DRACO%%%%DATADIR%%/plugins/draco.json
-%%EXODUS%%%%DATADIR%%/plugins/exodus.json
+%%HDF%%%%DATADIR%%/plugins/hdf.json
%%DATADIR%%/plugins/native.json
%%OCCT%%%%DATADIR%%/plugins/occt.json
share/fish/vendor_completions.d/f3d.fish
@@ -72,13 +72,13 @@ share/mime/packages/f3d-3d-image-formats.xml
%%ALEMBIC%%share/mime/packages/f3d-alembic-formats.xml
%%ASSIMP%%share/mime/packages/f3d-assimp-formats.xml
%%DRACO%%share/mime/packages/f3d-draco-formats.xml
-%%EXODUS%%share/mime/packages/f3d-exodus-formats.xml
%%OCCT%%share/mime/packages/f3d-occt-formats.xml
+%%HDF%%share/mime/packages/f3d-hdf-formats.xml
share/mime/packages/f3d-vtk-formats.xml
%%ALEMBIC%%share/thumbnailers/f3d-plugin-alembic.thumbnailer
%%ASSIMP%%share/thumbnailers/f3d-plugin-assimp.thumbnailer
%%DRACO%%share/thumbnailers/f3d-plugin-draco.thumbnailer
-%%EXODUS%%share/thumbnailers/f3d-plugin-exodus.thumbnailer
+%%HDF%%share/thumbnailers/f3d-plugin-hdf.thumbnailer
share/thumbnailers/f3d-plugin-native.thumbnailer
%%OCCT%%share/thumbnailers/f3d-plugin-occt.thumbnailer
share/zsh/site-functions/_f3d
diff --git a/graphics/fractgen/Makefile b/graphics/fractgen/Makefile
index e3b673a9b4fa..76261e0f6e24 100644
--- a/graphics/fractgen/Makefile
+++ b/graphics/fractgen/Makefile
@@ -1,5 +1,5 @@
PORTNAME= fractgen
-DISTVERSION= 3.0.3
+DISTVERSION= 3.0.5
CATEGORIES= graphics
MASTER_SITES= https://www.nntb.no/~dreibh/fractalgenerator/download/
diff --git a/graphics/fractgen/distinfo b/graphics/fractgen/distinfo
index 7729ffa69ba0..4b12900c51e7 100644
--- a/graphics/fractgen/distinfo
+++ b/graphics/fractgen/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747127562
-SHA256 (fractgen-3.0.3.tar.xz) = 8bfa98708b71e86500aea953dedc9bc4ca4b0e59d1041683697ba5a63984a911
-SIZE (fractgen-3.0.3.tar.xz) = 341264
+TIMESTAMP = 1751736940
+SHA256 (fractgen-3.0.5.tar.xz) = e6144cfb556f38ffbf2fe29c2526155c0f5677e0e090bd22053fdc0dc00b355f
+SIZE (fractgen-3.0.5.tar.xz) = 342408
diff --git a/graphics/gdal/Makefile b/graphics/gdal/Makefile
index f8c5969a8b3a..7a20a59b31b5 100644
--- a/graphics/gdal/Makefile
+++ b/graphics/gdal/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gdal
-PORTVERSION= 3.11.0
-PORTREVISION= 1
+PORTVERSION= 3.11.3
CATEGORIES= graphics geography
MASTER_SITES= https://download.osgeo.org/gdal/${PORTVERSION}/ \
LOCAL/sunpoet
diff --git a/graphics/gdal/distinfo b/graphics/gdal/distinfo
index e132da71acea..9e9a4f020e0f 100644
--- a/graphics/gdal/distinfo
+++ b/graphics/gdal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747715310
-SHA256 (gdal-3.11.0.tar.xz) = ba1a17a74428bfd5c789ce293f59b6a3d8bfabab747431c33331ac0ac579ea71
-SIZE (gdal-3.11.0.tar.xz) = 9292588
+TIMESTAMP = 1752416410
+SHA256 (gdal-3.11.3.tar.xz) = ba0807729fa681eed55bb6d5588bb9e4bde2b691c46e8d6d375ff5eaf789b16a
+SIZE (gdal-3.11.3.tar.xz) = 9313768
diff --git a/graphics/gdk-pixbuf2/pkg-plist b/graphics/gdk-pixbuf2/pkg-plist
index a6d9d41d121f..77fd1e87f90a 100644
--- a/graphics/gdk-pixbuf2/pkg-plist
+++ b/graphics/gdk-pixbuf2/pkg-plist
@@ -277,7 +277,6 @@ libdata/pkgconfig/gdk-pixbuf-2.0.pc
%%DOCS%%share/doc/gdk-pixdata/SourceCodePro-It.ttf.woff
%%DOCS%%share/doc/gdk-pixdata/SourceCodePro-Regular.ttf.woff
%%DOCS%%share/doc/gdk-pixdata/SourceCodePro-Semibold.ttf.woff
-%%DOCS%%share/doc/gdk-pixdata/classes_hierarchy.html
%%DOCS%%share/doc/gdk-pixdata/const.PIXBUF_MAGIC_NUMBER.html
%%DOCS%%share/doc/gdk-pixdata/const.PIXDATA_HEADER_LENGTH.html
%%DOCS%%share/doc/gdk-pixdata/flags.PixdataDumpType.html
diff --git a/graphics/gegl/Makefile b/graphics/gegl/Makefile
index b8bb13fa84b3..2ec905392421 100644
--- a/graphics/gegl/Makefile
+++ b/graphics/gegl/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gegl
-DISTVERSION= 0.4.58
-PORTREVISION= 3
+DISTVERSION= 0.4.62
CATEGORIES= graphics
MASTER_SITES= GIMP
@@ -41,7 +40,7 @@ MESON_ARGS= -Ddocs=false \
MESON_ARGS+= -Dopenmp=disabled
.endif
-GEGL_SHLIB= 0.457.1
+GEGL_SHLIB= 0.461.1
GEGL_VER= 0.4
PLIST_SUB+= GEGL_SHLIB=${GEGL_SHLIB} GEGL_VER=${GEGL_VER}
diff --git a/graphics/gegl/distinfo b/graphics/gegl/distinfo
index 9bec1ea7c920..6baf544fe586 100644
--- a/graphics/gegl/distinfo
+++ b/graphics/gegl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742856432
-SHA256 (gegl-0.4.58.tar.xz) = d5678bbd5fe535941b82f965b97fcc9385ce936f70c982bd565a53d5519d1bff
-SIZE (gegl-0.4.58.tar.xz) = 6020756
+TIMESTAMP = 1752052464
+SHA256 (gegl-0.4.62.tar.xz) = 5887576371ebf1d9e90797d10e4b9a7f1658228d4827583e79e1db3d94505c6c
+SIZE (gegl-0.4.62.tar.xz) = 6025372
diff --git a/graphics/gexiv2/Makefile b/graphics/gexiv2/Makefile
index b3720e749a57..8106e39f84d8 100644
--- a/graphics/gexiv2/Makefile
+++ b/graphics/gexiv2/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gexiv2
-PORTVERSION= 0.14.5
+PORTVERSION= 0.14.6
CATEGORIES= graphics
MASTER_SITES= GNOME
diff --git a/graphics/gexiv2/distinfo b/graphics/gexiv2/distinfo
index 8a28b4a32020..d8d3025137a5 100644
--- a/graphics/gexiv2/distinfo
+++ b/graphics/gexiv2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748189417
-SHA256 (gexiv2-0.14.5.tar.xz) = 0913c53daabab1f1ab586afd55bb55370796f2b8abcc6e37640ab7704ad99ce1
-SIZE (gexiv2-0.14.5.tar.xz) = 390860
+TIMESTAMP = 1751909719
+SHA256 (gexiv2-0.14.6.tar.xz) = 606c28aaae7b1f3ef5c8eabe5e7dffd7c5a1c866d25b7671fb847fe287a72b8b
+SIZE (gexiv2-0.14.6.tar.xz) = 391436
diff --git a/graphics/gifski/Makefile b/graphics/gifski/Makefile
index f7445924ae48..dff5a9740e87 100644
--- a/graphics/gifski/Makefile
+++ b/graphics/gifski/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gifski
DISTVERSION= 1.10.3
-PORTREVISION= 19
+PORTREVISION= 20
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/gimp3-app/Makefile b/graphics/gimp3-app/Makefile
index 5cfd19b7bf98..e8f8239db386 100644
--- a/graphics/gimp3-app/Makefile
+++ b/graphics/gimp3-app/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gimp
-DISTVERSION= 3.0.2
-PORTREVISION= 1
+DISTVERSION= 3.0.4
CATEGORIES?= graphics gnome
MASTER_SITES= GIMP/gimp/v${PORTVERSION:R}
PKGNAMESUFFIX= 3-app
@@ -80,8 +79,8 @@ MESON_ARGS= -Dappdata-test=disabled \
OPTIONS_DEFINE?= AALIB GHOSTSCRIPT HEIF HELP OPENJPEG JXL LIBMNG WMF DOCS VALA CFITSIO
OPTIONS_DEFAULT?= AALIB GHOSTSCRIPT HEIF OPENJPEG JXL WMF DOCS VALA LUA CFITSIO
-OPTIONS_RADIO= SCRIPTS
-OPTIONS_RADIO_SCRIPTS= LUA LUAJIT
+OPTIONS_SINGLE= SCRIPTS
+OPTIONS_SINGLE_SCRIPTS= LUA LUAJIT LUA_NONE
OPTIONS_SUB= yes
AALIB_LIB_DEPENDS= libaa.so:graphics/aalib
@@ -121,11 +120,14 @@ VALA_USES= vala:build
VALA_MESON_ENABLED= vala
LUA_USES= lua:51
-LUA_MESON_TRUE= lua
+LUA_BUILD_DEPENDS= ${LUA_REFMODLIBDIR}/lgi/corelgilua${LUA_VER_STR}.so:devel/lua-lgi@${LUA_FLAVOR}
+LUA_RUN_DEPENDS= ${LUA_REFMODLIBDIR}/lgi/corelgilua${LUA_VER_STR}.so:devel/lua-lgi@${LUA_FLAVOR}
LUAJIT_DESC?= Lua scripting language support via Luajit
LUAJIT_USES= luajit
-LUAJIT_MESON_TRUE= lua
+
+LUA_NONE_DESC?= Disable Lua scripting language support
+LUA_NONE_MESON_FALSE= lua
LIBS+= -lexecinfo -lm
CPE_PRODUCT= gimp
@@ -134,12 +136,21 @@ CPE_VENDOR= gnu
SHEBANG_FILES= plug-ins/python/*.py \
plug-ins/python/python-console/*.py \
extensions/goat-exercises/*.py \
- extensions/goat-exercises/*.js
+ extensions/goat-exercises/*.js \
+ extensions/goat-exercises/*.lua
SHEBANG_LANG+= gjs
PLIST_SUB+= BINVER=${PORTVERSION:R:R} ABIVER=${PORTVERSION:R} SHLIBVER=${PORTVERSION:E}
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MLUA} || ${PORT_OPTIONS:MLUAJIT}
+PLIST_SUB+= LUASCRIPTS=""
+.else
+PLIST_SUB+= LUASCRIPTS="@comment "
+.endif
+
#post-patch:
#.for s in 16 22 24 32 48 64 256
# @${CP} ${WRKSRC}/desktop/${s}x${s}/gimp.png ${WRKSRC}/desktop/${s}x${s}/gimp3.png
diff --git a/graphics/gimp3-app/distinfo b/graphics/gimp3-app/distinfo
index 7b8033429275..d3ecf51f1c19 100644
--- a/graphics/gimp3-app/distinfo
+++ b/graphics/gimp3-app/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742896924
-SHA256 (gimp-3.0.2.tar.xz) = 546ddc30cb2d0e79123c7fcb4d78211e1ee7a6aace91a6a0ad8cbcbf6ea571a2
-SIZE (gimp-3.0.2.tar.xz) = 27019468
+TIMESTAMP = 1752051281
+SHA256 (gimp-3.0.4.tar.xz) = 8caa2ec275bf09326575654ac276afc083f8491e7cca45d19cf29e696aecab25
+SIZE (gimp-3.0.4.tar.xz) = 27060240
diff --git a/graphics/gimp3-app/files/patch-meson.build b/graphics/gimp3-app/files/patch-meson.build
new file mode 100644
index 000000000000..7c786ab3116a
--- /dev/null
+++ b/graphics/gimp3-app/files/patch-meson.build
@@ -0,0 +1,20 @@
+--- meson.build.orig 2025-05-17 22:51:03 UTC
++++ meson.build
+@@ -1208,7 +1208,7 @@ if have_lua
+ if have_lua
+ have_lua_lgi = false
+
+- foreach lua_bin : [ 'luajit', 'lua5.1', 'lua-5.1', 'lua' ]
++ foreach lua_bin : [ 'luajit', 'lua51', 'lua-5.1', 'lua' ]
+ lua = find_program(lua_bin, required: false)
+
+ if lua.found() and meson.can_run_host_binaries()
+@@ -1247,7 +1247,7 @@ if have_lua
+ if is_supported_lua
+ have_lua_lgi = run_command(lua, '-e',
+ '''
+- local lgi = require 'lgi'
++ local lgi = require("lgi")
+ ''',
+ check: false).returncode() == 0
+ endif
diff --git a/graphics/gimp3-app/pkg-plist b/graphics/gimp3-app/pkg-plist
index ca98162cec2f..1725677a54b9 100644
--- a/graphics/gimp3-app/pkg-plist
+++ b/graphics/gimp3-app/pkg-plist
@@ -264,6 +264,7 @@ lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-c
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-c.c
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-gjs.js
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-py3.py
+%%LUASCRIPTS%%lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-lua.lua
%%VALA%%lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-vala
%%VALA%%lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/goat-exercise-vala.vala
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/locale/ar/LC_MESSAGES/org.gimp.extension.goat-exercises.mo
@@ -335,6 +336,7 @@ lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/locale/zh_HK/LC
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/locale/zh_TW/LC_MESSAGES/org.gimp.extension.goat-exercises.mo
lib/gimp/%%ABIVER%%/extensions/org.gimp.extension.goat-exercises/org.gimp.extension.goat-exercises.metainfo.xml
lib/gimp/%%ABIVER%%/interpreters/default.interp
+%%LUASCRIPTS%%lib/gimp/%%ABIVER%%/interpreters/lua.interp
lib/gimp/%%ABIVER%%/modules/libcolor-selector-cmyk.so
lib/gimp/%%ABIVER%%/modules/libcolor-selector-water.so
lib/gimp/%%ABIVER%%/modules/libcolor-selector-wheel.so
@@ -5106,7 +5108,7 @@ libexec/gimp-debug-tool-%%ABIVER%%
%%DATADIR%%/%%ABIVER%%/icons/hicolor/scalable/actions/switch-off-symbolic.svg
%%DATADIR%%/%%ABIVER%%/icons/hicolor/scalable/actions/switch-on-symbolic.svg
%%DATADIR%%/%%ABIVER%%/icons/hicolor/scalable/status/software-update-available-symbolic.svg
-%%DATADIR%%/%%ABIVER%%/images/gimp-devel-logo.png
+%%PORTDOCS%%%%DATADIR%%/%%ABIVER%%/images/gimp-devel-logo.png
%%DATADIR%%/%%ABIVER%%/images/gimp-logo.png
%%DATADIR%%/%%ABIVER%%/images/gimp-splash.png
%%DATADIR%%/%%ABIVER%%/menus/app-menu.ui
diff --git a/graphics/glslang/Makefile b/graphics/glslang/Makefile
index 1b31ac722a26..0e4b68c02b1c 100644
--- a/graphics/glslang/Makefile
+++ b/graphics/glslang/Makefile
@@ -1,8 +1,8 @@
PORTNAME= glslang
-DISTVERSION= 15.3.0
+DISTVERSION= 15.4.0
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= OpenGL and OpenGL ES shader front end and validator
WWW= https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
diff --git a/graphics/glslang/distinfo b/graphics/glslang/distinfo
index 6fb4f73074a3..18517b17b988 100644
--- a/graphics/glslang/distinfo
+++ b/graphics/glslang/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745537407
-SHA256 (KhronosGroup-glslang-15.3.0_GH0.tar.gz) = c6c21fe1873c37e639a6a9ac72d857ab63a5be6893a589f34e09a6c757174201
-SIZE (KhronosGroup-glslang-15.3.0_GH0.tar.gz) = 4023163
+TIMESTAMP = 1751036750
+SHA256 (KhronosGroup-glslang-15.4.0_GH0.tar.gz) = b16c78e7604b9be9f546ee35ad8b6db6f39bbbbfb19e8d038b6fe2ea5bba4ff4
+SIZE (KhronosGroup-glslang-15.4.0_GH0.tar.gz) = 4201376
diff --git a/graphics/glslang/pkg-plist b/graphics/glslang/pkg-plist
index 435b7f2856d3..3fca789ea3b0 100644
--- a/graphics/glslang/pkg-plist
+++ b/graphics/glslang/pkg-plist
@@ -14,7 +14,7 @@ include/glslang/SPIRV/Logger.h
include/glslang/SPIRV/SPVRemapper.h
include/glslang/SPIRV/SpvTools.h
include/glslang/SPIRV/disassemble.h
-include/glslang/SPIRV/spirv.hpp
+include/glslang/SPIRV/spirv.hpp11
include/glslang/build_info.h
lib/cmake/glslang/glslang-config-version.cmake
lib/cmake/glslang/glslang-config.cmake
diff --git a/graphics/goocanvasmm2/Makefile b/graphics/goocanvasmm2/Makefile
index 5cdec45dbdfd..dd2bce32d570 100644
--- a/graphics/goocanvasmm2/Makefile
+++ b/graphics/goocanvasmm2/Makefile
@@ -5,7 +5,7 @@ CATEGORIES= graphics
MASTER_SITES= GNOME
PKGNAMESUFFIX= 2
-MAINTAINER= kwm@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= C++ bindings for the goocanvas widget for GTK
WWW= https://sourceforge.net/projects/goocanvas/
diff --git a/graphics/gscan2pdf/Makefile b/graphics/gscan2pdf/Makefile
index 75b68da87c9f..f2c840acc459 100644
--- a/graphics/gscan2pdf/Makefile
+++ b/graphics/gscan2pdf/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gscan2pdf
PORTVERSION= 2.13.4
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MASTER_SITES= SF
diff --git a/graphics/gwenview/distinfo b/graphics/gwenview/distinfo
index c5da8098dea3..3496f59c7f19 100644
--- a/graphics/gwenview/distinfo
+++ b/graphics/gwenview/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036747
-SHA256 (KDE/release-service/25.04.2/gwenview-25.04.2.tar.xz) = f2ec1bbb71fefd041a656686e4eb8a3ed684f913cfa86e062a40d9222ca3143f
-SIZE (KDE/release-service/25.04.2/gwenview-25.04.2.tar.xz) = 6533516
+TIMESTAMP = 1751381450
+SHA256 (KDE/release-service/25.04.3/gwenview-25.04.3.tar.xz) = 59bf9fc4a4be87260781ccb5872212484b697caa53fa0ee7e128bdb08eaf5e87
+SIZE (KDE/release-service/25.04.3/gwenview-25.04.3.tar.xz) = 6533552
diff --git a/graphics/hyprgraphics/Makefile b/graphics/hyprgraphics/Makefile
index b34809b9c076..8c806067e451 100644
--- a/graphics/hyprgraphics/Makefile
+++ b/graphics/hyprgraphics/Makefile
@@ -1,9 +1,9 @@
PORTNAME= hyprgraphics
DISTVERSIONPREFIX= v
-DISTVERSION= 0.1.4
+DISTVERSION= 0.1.5
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Hyprland graphics / resource utilities
WWW= https://github.com/hyprwm/hyprgraphics
diff --git a/graphics/hyprgraphics/distinfo b/graphics/hyprgraphics/distinfo
index 1dad374865e8..7ff976cbdc91 100644
--- a/graphics/hyprgraphics/distinfo
+++ b/graphics/hyprgraphics/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750621377
-SHA256 (hyprwm-hyprgraphics-v0.1.4_GH0.tar.gz) = 8b4662a0e687351da703a19e9cd9fdbe4b4b053e7380957584cda112c96feb9f
-SIZE (hyprwm-hyprgraphics-v0.1.4_GH0.tar.gz) = 425677
+TIMESTAMP = 1752149140
+SHA256 (hyprwm-hyprgraphics-v0.1.5_GH0.tar.gz) = 03bdd5a6e456c31cc17f973656326220f94e58a5f4ab33b2450ccb5d6a697a4c
+SIZE (hyprwm-hyprgraphics-v0.1.5_GH0.tar.gz) = 426523
diff --git a/graphics/jp/Makefile b/graphics/jp/Makefile
index 8aa5670f72c6..0c6f3c74b258 100644
--- a/graphics/jp/Makefile
+++ b/graphics/jp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= jp
DISTVERSION= 1.1.12
-PORTREVISION= 29
+PORTREVISION= 30
CATEGORIES= graphics
MAINTAINER= 0mp@FreeBSD.org
diff --git a/graphics/kamera/distinfo b/graphics/kamera/distinfo
index 4aa26de4c2d6..6bfbaf5bd4e6 100644
--- a/graphics/kamera/distinfo
+++ b/graphics/kamera/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036750
-SHA256 (KDE/release-service/25.04.2/kamera-25.04.2.tar.xz) = a45fd021f95aa334d2f9994ddeaafa290f71580277192b6c5d2829637a8dc7e8
-SIZE (KDE/release-service/25.04.2/kamera-25.04.2.tar.xz) = 133004
+TIMESTAMP = 1751381453
+SHA256 (KDE/release-service/25.04.3/kamera-25.04.3.tar.xz) = 46b9caa4a9ef218342f57eeb0fdad30635fc5090f22f89dd1ced5856f060dd49
+SIZE (KDE/release-service/25.04.3/kamera-25.04.3.tar.xz) = 132972
diff --git a/graphics/kcolorchooser/distinfo b/graphics/kcolorchooser/distinfo
index 1755462bdd91..80a24a48af0a 100644
--- a/graphics/kcolorchooser/distinfo
+++ b/graphics/kcolorchooser/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036752
-SHA256 (KDE/release-service/25.04.2/kcolorchooser-25.04.2.tar.xz) = 749f3a80498fb5632d5c835f4ac17eedd16d891dd74b8af06ca12445c7bc6a0f
-SIZE (KDE/release-service/25.04.2/kcolorchooser-25.04.2.tar.xz) = 36364
+TIMESTAMP = 1751381455
+SHA256 (KDE/release-service/25.04.3/kcolorchooser-25.04.3.tar.xz) = 08db027a1deb9e0a429abde8c8702b47e1401ac0085812f78ac10a7c610270f5
+SIZE (KDE/release-service/25.04.3/kcolorchooser-25.04.3.tar.xz) = 36396
diff --git a/graphics/kdegraphics-mobipocket/distinfo b/graphics/kdegraphics-mobipocket/distinfo
index ab17df618787..0333dc54d9d2 100644
--- a/graphics/kdegraphics-mobipocket/distinfo
+++ b/graphics/kdegraphics-mobipocket/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036755
-SHA256 (KDE/release-service/25.04.2/kdegraphics-mobipocket-25.04.2.tar.xz) = ddd546e8fff5552e5b7e7294f3c63b6130d9a98f6155ea280fa861f793cf2337
-SIZE (KDE/release-service/25.04.2/kdegraphics-mobipocket-25.04.2.tar.xz) = 13136
+TIMESTAMP = 1751381458
+SHA256 (KDE/release-service/25.04.3/kdegraphics-mobipocket-25.04.3.tar.xz) = 12f66c78d190867c1c994f650f1409c87bde0fd592911ad3a475b7502045f3d3
+SIZE (KDE/release-service/25.04.3/kdegraphics-mobipocket-25.04.3.tar.xz) = 13136
diff --git a/graphics/kdegraphics-svgpart/distinfo b/graphics/kdegraphics-svgpart/distinfo
index 6e3d16bd30b0..7d3ed5333176 100644
--- a/graphics/kdegraphics-svgpart/distinfo
+++ b/graphics/kdegraphics-svgpart/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036757
-SHA256 (KDE/release-service/25.04.2/svgpart-25.04.2.tar.xz) = afba527031489d32151134e31c2be13207be1f224ed7963f1d8170a2a28d2a9c
-SIZE (KDE/release-service/25.04.2/svgpart-25.04.2.tar.xz) = 30232
+TIMESTAMP = 1751381460
+SHA256 (KDE/release-service/25.04.3/svgpart-25.04.3.tar.xz) = 193f852d7d1fba4ec7ad25dd59d567d58bb6533e436a50d80f54fe1b94202b24
+SIZE (KDE/release-service/25.04.3/svgpart-25.04.3.tar.xz) = 30252
diff --git a/graphics/kdegraphics-thumbnailers/distinfo b/graphics/kdegraphics-thumbnailers/distinfo
index fd49614c3fae..8a67938b184f 100644
--- a/graphics/kdegraphics-thumbnailers/distinfo
+++ b/graphics/kdegraphics-thumbnailers/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036760
-SHA256 (KDE/release-service/25.04.2/kdegraphics-thumbnailers-25.04.2.tar.xz) = 65a3caffe98aadb5e94023c674d163d1a3efb3da1f3b222f3d883143e2f7fe7c
-SIZE (KDE/release-service/25.04.2/kdegraphics-thumbnailers-25.04.2.tar.xz) = 49136
+TIMESTAMP = 1751381463
+SHA256 (KDE/release-service/25.04.3/kdegraphics-thumbnailers-25.04.3.tar.xz) = 221b584c92c1c1570720caba97706de36dbe3ef4f6ee324b774513e37f446318
+SIZE (KDE/release-service/25.04.3/kdegraphics-thumbnailers-25.04.3.tar.xz) = 49160
diff --git a/graphics/kgraphviewer/distinfo b/graphics/kgraphviewer/distinfo
index 7ab2e81fa96d..9548a599cdf1 100644
--- a/graphics/kgraphviewer/distinfo
+++ b/graphics/kgraphviewer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036762
-SHA256 (KDE/release-service/25.04.2/kgraphviewer-25.04.2.tar.xz) = 484bf8132a1ecbec0a9fcf05274bb08081e6d288882a9835e86cb3177a7742bf
-SIZE (KDE/release-service/25.04.2/kgraphviewer-25.04.2.tar.xz) = 1595592
+TIMESTAMP = 1751381465
+SHA256 (KDE/release-service/25.04.3/kgraphviewer-25.04.3.tar.xz) = 7b79dbccc43e13c26d76b2606b7ec6c2d87e857a116ca2c7150d3188dfdf870f
+SIZE (KDE/release-service/25.04.3/kgraphviewer-25.04.3.tar.xz) = 1595568
diff --git a/graphics/kimagemapeditor/distinfo b/graphics/kimagemapeditor/distinfo
index 9fc2b21de8a7..e0e6233beacf 100644
--- a/graphics/kimagemapeditor/distinfo
+++ b/graphics/kimagemapeditor/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036765
-SHA256 (KDE/release-service/25.04.2/kimagemapeditor-25.04.2.tar.xz) = 53e9efb9f1807dd9feeb78590301e2607f831656c807d53852c14e67964d8d8d
-SIZE (KDE/release-service/25.04.2/kimagemapeditor-25.04.2.tar.xz) = 1077232
+TIMESTAMP = 1751381467
+SHA256 (KDE/release-service/25.04.3/kimagemapeditor-25.04.3.tar.xz) = 18a0117e8d55530e6a83a57845b142cfa4951f1ce33c870122077eb229089640
+SIZE (KDE/release-service/25.04.3/kimagemapeditor-25.04.3.tar.xz) = 1077212
diff --git a/graphics/kolourpaint/distinfo b/graphics/kolourpaint/distinfo
index 6f6f1dda0a8c..e04df4d2be8c 100644
--- a/graphics/kolourpaint/distinfo
+++ b/graphics/kolourpaint/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036767
-SHA256 (KDE/release-service/25.04.2/kolourpaint-25.04.2.tar.xz) = 74e495d8c102fe206bc4e173fe53134a4397a0d7b52ce06289af21805baa5210
-SIZE (KDE/release-service/25.04.2/kolourpaint-25.04.2.tar.xz) = 5315008
+TIMESTAMP = 1751381470
+SHA256 (KDE/release-service/25.04.3/kolourpaint-25.04.3.tar.xz) = 819b9bad15d927b150b95ac71d398f04df392762b848bb6be619e3fda3357d1f
+SIZE (KDE/release-service/25.04.3/kolourpaint-25.04.3.tar.xz) = 5314956
diff --git a/graphics/kontrast/distinfo b/graphics/kontrast/distinfo
index 6c8591449c27..12e4ccd689f5 100644
--- a/graphics/kontrast/distinfo
+++ b/graphics/kontrast/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036769
-SHA256 (KDE/release-service/25.04.2/kontrast-25.04.2.tar.xz) = 410ffa280235a4e3277a8efe953c4e134714dd7241913165bc24aaaa1350c1c2
-SIZE (KDE/release-service/25.04.2/kontrast-25.04.2.tar.xz) = 219564
+TIMESTAMP = 1751381472
+SHA256 (KDE/release-service/25.04.3/kontrast-25.04.3.tar.xz) = 5cc134f4af4c6dabbae7df83c8945c3986cb9ae0455d0d315517fa96905eecf8
+SIZE (KDE/release-service/25.04.3/kontrast-25.04.3.tar.xz) = 219564
diff --git a/graphics/kqtquickcharts/distinfo b/graphics/kqtquickcharts/distinfo
index 6e43d3c5368f..d13c571db276 100644
--- a/graphics/kqtquickcharts/distinfo
+++ b/graphics/kqtquickcharts/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036772
-SHA256 (KDE/release-service/25.04.2/kqtquickcharts-25.04.2.tar.xz) = f1691c48efeea44285a36754697441027d87e078b6c0c421249571441f3179aa
-SIZE (KDE/release-service/25.04.2/kqtquickcharts-25.04.2.tar.xz) = 30868
+TIMESTAMP = 1751381475
+SHA256 (KDE/release-service/25.04.3/kqtquickcharts-25.04.3.tar.xz) = 6df9523d905944957d227aec009cdf45f202b279296269dde8f63a02b549c028
+SIZE (KDE/release-service/25.04.3/kqtquickcharts-25.04.3.tar.xz) = 30856
diff --git a/graphics/ksanecore/distinfo b/graphics/ksanecore/distinfo
index 8a90c0ad7b66..7bedb5fb8837 100644
--- a/graphics/ksanecore/distinfo
+++ b/graphics/ksanecore/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036774
-SHA256 (KDE/release-service/25.04.2/ksanecore-25.04.2.tar.xz) = 7039e9c4c1f2c295359a68d9581f07c0674572848391ac7ccbb1af22c07915d8
-SIZE (KDE/release-service/25.04.2/ksanecore-25.04.2.tar.xz) = 53996
+TIMESTAMP = 1751381477
+SHA256 (KDE/release-service/25.04.3/ksanecore-25.04.3.tar.xz) = e5a8fdda44d4a27f0c90c2b808e48a737999ec200fd0b70f75fabb33a9013302
+SIZE (KDE/release-service/25.04.3/ksanecore-25.04.3.tar.xz) = 53972
diff --git a/graphics/libimagequant/Makefile b/graphics/libimagequant/Makefile
index fcc9bded1bb9..acff213ed8dc 100644
--- a/graphics/libimagequant/Makefile
+++ b/graphics/libimagequant/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libimagequant
PORTVERSION= 4.3.4
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/libkdcraw/distinfo b/graphics/libkdcraw/distinfo
index ba02cda01df2..e93e20f65214 100644
--- a/graphics/libkdcraw/distinfo
+++ b/graphics/libkdcraw/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036777
-SHA256 (KDE/release-service/25.04.2/libkdcraw-25.04.2.tar.xz) = de7bc44d0437a0dca94a1005360b96b00da4ffc501f513eff466c3eb2755fd8a
-SIZE (KDE/release-service/25.04.2/libkdcraw-25.04.2.tar.xz) = 37348
+TIMESTAMP = 1751381480
+SHA256 (KDE/release-service/25.04.3/libkdcraw-25.04.3.tar.xz) = 4ffd227cf0838c9a46be9f682d2431928e4663ad54de1f765bd8ae258eb110e8
+SIZE (KDE/release-service/25.04.3/libkdcraw-25.04.3.tar.xz) = 37344
diff --git a/graphics/libkexiv2/distinfo b/graphics/libkexiv2/distinfo
index c528b26aaca6..e326d9a001db 100644
--- a/graphics/libkexiv2/distinfo
+++ b/graphics/libkexiv2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036779
-SHA256 (KDE/release-service/25.04.2/libkexiv2-25.04.2.tar.xz) = 9eebb0d9ec9773fc4a3db7fa19f6df6923860920ea2192ca9f9d9df96bc997d1
-SIZE (KDE/release-service/25.04.2/libkexiv2-25.04.2.tar.xz) = 60644
+TIMESTAMP = 1751381482
+SHA256 (KDE/release-service/25.04.3/libkexiv2-25.04.3.tar.xz) = d7b8d791e9db8facf16a95447daa597efaaa6b42d300fa7cbe9d1ff5b9e7b5a8
+SIZE (KDE/release-service/25.04.3/libkexiv2-25.04.3.tar.xz) = 60660
diff --git a/graphics/libksane/distinfo b/graphics/libksane/distinfo
index 2a94bf23b219..099188f8753f 100644
--- a/graphics/libksane/distinfo
+++ b/graphics/libksane/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036782
-SHA256 (KDE/release-service/25.04.2/libksane-25.04.2.tar.xz) = c458fcc2f0ff52be768e77cb4cb3ca2150db8986ed8403cb19ff08bf5dadcec3
-SIZE (KDE/release-service/25.04.2/libksane-25.04.2.tar.xz) = 155908
+TIMESTAMP = 1751381485
+SHA256 (KDE/release-service/25.04.3/libksane-25.04.3.tar.xz) = eab97e319cd8e020e63c49ca3c18188898d326d3568c939a5640b42cdc1c265f
+SIZE (KDE/release-service/25.04.3/libksane-25.04.3.tar.xz) = 155880
diff --git a/graphics/libmypaint/Makefile b/graphics/libmypaint/Makefile
index 391a2a56ef64..cce8505134f6 100644
--- a/graphics/libmypaint/Makefile
+++ b/graphics/libmypaint/Makefile
@@ -4,7 +4,7 @@ PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= https://github.com/mypaint/libmypaint/releases/download/v${PORTVERSION}/
-MAINTAINER= kwm@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Brush library from the MyPaint project
WWW= http://mypaint.org/
diff --git a/graphics/libopendrive/Makefile b/graphics/libopendrive/Makefile
index b96a228fdbf8..e0aff6c9efeb 100644
--- a/graphics/libopendrive/Makefile
+++ b/graphics/libopendrive/Makefile
@@ -1,5 +1,6 @@
PORTNAME= libopendrive
PORTVERSION= 0.6.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= sunpoet@FreeBSD.org
@@ -9,13 +10,22 @@ WWW= https://github.com/pageldev/libOpenDRIVE
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= cmake compiler:c++14-lang
+BUILD_DEPENDS= catch2>=3.4.0:devel/catch2 \
+ pugixml>=1.14:textproc/pugixml
+LIB_DEPENDS= libpugixml.so:textproc/pugixml
+
+USES= cmake compiler:c++17-lang
CMAKE_ON= BUILD_SHARED_LIBS
USE_GITHUB= yes
GH_ACCOUNT= pageldev
GH_PROJECT= libOpenDRIVE
-GH_TAGNAME= edfd564
+GH_TAGNAME= 82c2dd9
+
+post-patch:
+ @${MKDIR} ${WRKSRC}/pugixml/
+ @${LN} -s ${LOCALBASE}/include/pugixml.hpp ${WRKSRC}/pugixml/pugixml.hpp
+ @${LN} -s ${LOCALBASE}/include/pugiconfig.hpp ${WRKSRC}/pugixml/pugiconfig.hpp
.include <bsd.port.mk>
diff --git a/graphics/libopendrive/distinfo b/graphics/libopendrive/distinfo
index 393438c08144..156664e687d5 100644
--- a/graphics/libopendrive/distinfo
+++ b/graphics/libopendrive/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748107894
-SHA256 (pageldev-libOpenDRIVE-0.6.0-edfd564_GH0.tar.gz) = 89184e50350f715e88d921dda95879b8693efd14d47d0a8cb8d6bc8635089e7e
-SIZE (pageldev-libOpenDRIVE-0.6.0-edfd564_GH0.tar.gz) = 132294
+TIMESTAMP = 1751375029
+SHA256 (pageldev-libOpenDRIVE-0.6.0-82c2dd9_GH0.tar.gz) = 366063848456c376b1a1e499b9f262bc0c024f579dae300ee190882900615cf5
+SIZE (pageldev-libOpenDRIVE-0.6.0-82c2dd9_GH0.tar.gz) = 152194
diff --git a/graphics/libopendrive/files/patch-CMakeLists.txt b/graphics/libopendrive/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..32b6609c0b7b
--- /dev/null
+++ b/graphics/libopendrive/files/patch-CMakeLists.txt
@@ -0,0 +1,62 @@
+--- CMakeLists.txt.orig 2025-07-04 08:27:24 UTC
++++ CMakeLists.txt
+@@ -20,22 +20,10 @@ include(CTest)
+ endif()
+
+ include(CTest)
+-include(FetchContent)
+ include(GNUInstallDirs)
+
+-FetchContent_Declare(
+- pugixml
+- GIT_REPOSITORY https://github.com/zeux/pugixml.git
+- GIT_TAG v1.14
+-)
+-FetchContent_MakeAvailable(pugixml)
+-
+-FetchContent_Declare(
+- Catch2
+- GIT_REPOSITORY https://github.com/catchorg/Catch2.git
+- GIT_TAG v3.4.0
+-)
+-FetchContent_MakeAvailable(Catch2)
++find_package(pugixml 1.14 REQUIRED)
++find_package(Catch2 3.4.0 REQUIRED)
+ include(Catch)
+
+ set(SOURCES
+@@ -59,19 +47,18 @@ set(SOURCES
+ src/RoadObject.cpp
+ src/RoadSignal.cpp
+ src/RoutingGraph.cpp
+- ${pugixml_SOURCE_DIR}/src/pugixml.cpp
+ )
+
+ add_library(OpenDrive ${SOURCES})
+ target_include_directories(
+ OpenDrive PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/pugixml>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+- $<BUILD_INTERFACE:${pugixml_SOURCE_DIR}/src>
+ )
+
+ add_executable(tests tests/test.cpp)
+-target_link_libraries(tests PRIVATE OpenDrive Catch2::Catch2WithMain)
++target_link_libraries(tests PRIVATE OpenDrive pugixml::pugixml Catch2::Catch2WithMain)
+ catch_discover_tests(tests WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tests)
+
+ install(
+@@ -80,12 +67,6 @@ install(
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+-)
+-install(
+- FILES
+- ${pugixml_SOURCE_DIR}/src/pugixml.hpp
+- ${pugixml_SOURCE_DIR}/src/pugiconfig.hpp
+- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ )
+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ install(TARGETS OpenDrive EXPORT OpenDriveConfig)
diff --git a/graphics/libopendrive/pkg-plist b/graphics/libopendrive/pkg-plist
index e54966418ff0..b94183fd63c1 100644
--- a/graphics/libopendrive/pkg-plist
+++ b/graphics/libopendrive/pkg-plist
@@ -1,4 +1,3 @@
-bin/test-xodr
cmake/OpenDriveConfig-%%CMAKE_BUILD_TYPE%%.cmake
cmake/OpenDriveConfig.cmake
include/CubicBezier.hpp
@@ -13,6 +12,7 @@ include/Junction.h
include/Lane.h
include/LaneSection.h
include/LaneValidityRecord.h
+include/Log.h
include/Math.hpp
include/Mesh.h
include/OpenDriveMap.h
@@ -25,6 +25,5 @@ include/RoadSignal.h
include/RoutingGraph.h
include/Utils.hpp
include/XmlNode.h
-include/pugixml/pugiconfig.hpp
-include/pugixml/pugixml.hpp
+include/earcut.hpp
lib/libOpenDrive.so
diff --git a/graphics/libopenraw/Makefile b/graphics/libopenraw/Makefile
index 9f35e0deeeba..928c93b1ffaf 100644
--- a/graphics/libopenraw/Makefile
+++ b/graphics/libopenraw/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libopenraw
PORTVERSION= 0.3.7
-PORTREVISION= 16
+PORTREVISION= 17
CATEGORIES= graphics
MASTER_SITES= http://libopenraw.freedesktop.org/download/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
diff --git a/graphics/libplacebo/Makefile b/graphics/libplacebo/Makefile
index df9d9e7cb0a7..104571959fb1 100644
--- a/graphics/libplacebo/Makefile
+++ b/graphics/libplacebo/Makefile
@@ -1,6 +1,7 @@
PORTNAME= libplacebo
DISTVERSIONPREFIX= v
DISTVERSION= 7.351.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= jbeich@FreeBSD.org
diff --git a/graphics/librsvg2-rust/Makefile b/graphics/librsvg2-rust/Makefile
index d306723911fe..93a33e2bb2ac 100644
--- a/graphics/librsvg2-rust/Makefile
+++ b/graphics/librsvg2-rust/Makefile
@@ -1,6 +1,6 @@
PORTNAME= librsvg
DISTVERSION= 2.60.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics gnome
MASTER_SITES= GNOME
PKGNAMESUFFIX= 2-rust
diff --git a/graphics/mapserver/Makefile b/graphics/mapserver/Makefile
index 04fd0725c71e..b2a9f1abd37a 100644
--- a/graphics/mapserver/Makefile
+++ b/graphics/mapserver/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mapserver
DISTVERSION= 8.4.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics www geography
MASTER_SITES= https://download.osgeo.org/${PORTNAME}/ \
https://github.com/MapServer/MapServer/releases/download/rel-${DISTVERSION:S|.|-|g}/
diff --git a/graphics/menyoki/Makefile b/graphics/menyoki/Makefile
index 6d2b1af82cba..f4fbd570362b 100644
--- a/graphics/menyoki/Makefile
+++ b/graphics/menyoki/Makefile
@@ -1,7 +1,7 @@
PORTNAME= menyoki
DISTVERSIONPREFIX= v
DISTVERSION= 1.7.0
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/mesa-devel/Makefile b/graphics/mesa-devel/Makefile
index 65b4c500a26d..0324cbd7b567 100644
--- a/graphics/mesa-devel/Makefile
+++ b/graphics/mesa-devel/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mesa
-DISTVERSION= 25.1-branchpoint-3233
-DISTVERSIONSUFFIX= -geaad90c262b
+DISTVERSION= 25.1-branchpoint-4146
+DISTVERSIONSUFFIX= -ga3a53b7cee4
CATEGORIES= graphics
PKGNAMESUFFIX= -devel
@@ -112,6 +112,7 @@ OPENCL_LIB_DEPENDS= libLLVMSPIRVLib.so.${OPENCL_SOVERSION}:devel/spirv-llvm-tran
OPENCL_RUN_DEPENDS= libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T}
OPENCL_SOVERSION= ${LLVM_VERSION}${${LLVM_VERSION}>=18:?.1:}
OPENCL_CONFIGURE_ENV= PKG_CONFIG_PATH="${LLVM_PREFIX}/libdata/pkgconfig"
+OPENCL_MESON_FALSE= b_lundef # environ
OPENCL_MESON_TRUE= gallium-rusticl
OPENCL_IMPLIES= LLVM ${"${PORT_OPTIONS:Miris}":?iris:radeonsi} # any from OPTIONS_GROUP_GALLIUM
diff --git a/graphics/mesa-devel/distinfo b/graphics/mesa-devel/distinfo
index 54a07d79fd7c..29370da9910e 100644
--- a/graphics/mesa-devel/distinfo
+++ b/graphics/mesa-devel/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1750894763
-SHA256 (mesa-25.1-branchpoint-3233-geaad90c262b.tar.bz2) = cd4abf95f5f21aec6262010fff1fe53ecd7ef72db38692bbd47a73ac3072cd34
-SIZE (mesa-25.1-branchpoint-3233-geaad90c262b.tar.bz2) = 58159088
+TIMESTAMP = 1752271520
+SHA256 (mesa-25.1-branchpoint-4146-ga3a53b7cee4.tar.bz2) = 3f198c05a6f7578d74419138723d7f07434ad041ffeee431a5006580e344bed3
+SIZE (mesa-25.1-branchpoint-4146-ga3a53b7cee4.tar.bz2) = 58297488
SHA256 (700efacda59c.patch) = 0d567fe737ad1404e1f12d7cd018826d9095c23835f1ed5aaa1c81cb58d3d008
SIZE (700efacda59c.patch) = 983
SHA256 (2930dcbb3329.patch) = f90ab77950ba1a56d165f0bc8a3cbd9c5f624bb5c67d1c7f337316027e8295e8
diff --git a/graphics/mesa-dri/Makefile b/graphics/mesa-dri/Makefile
index a3bec451e098..8f19ef46964e 100644
--- a/graphics/mesa-dri/Makefile
+++ b/graphics/mesa-dri/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mesa-dri
PORTVERSION= ${MESAVERSION}
-PORTREVISION= 6
+PORTREVISION= 8
CATEGORIES= graphics
COMMENT= OpenGL hardware acceleration drivers for DRI2+
diff --git a/graphics/noaa-apt/Makefile b/graphics/noaa-apt/Makefile
index 8231ba2d6242..c688f52664cd 100644
--- a/graphics/noaa-apt/Makefile
+++ b/graphics/noaa-apt/Makefile
@@ -1,7 +1,7 @@
PORTNAME= noaa-apt
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.1
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/nvidia-drm-510-kmod-devel/Makefile b/graphics/nvidia-drm-510-kmod-devel/Makefile
index b6bfde43b6f3..d4ce531391ae 100644
--- a/graphics/nvidia-drm-510-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-510-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64
+NVIDIA_DISTVERSION= 575.64.03
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-510-kmod
diff --git a/graphics/nvidia-drm-510-kmod-devel/distinfo b/graphics/nvidia-drm-510-kmod-devel/distinfo
index 7946a22f9991..9e09837b4dca 100644
--- a/graphics/nvidia-drm-510-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-510-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750513021
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452
+TIMESTAMP = 1751449876
+SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
+SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
SHA256 (freebsd-drm-kmod-drm_v5.10.163_8_GH0.tar.gz) = ea6b04c4bbd859248aabb81bc2abc19f33d68f57decf2e41dd8f5341124227d4
SIZE (freebsd-drm-kmod-drm_v5.10.163_8_GH0.tar.gz) = 20095720
diff --git a/graphics/nvidia-drm-515-kmod-devel/Makefile b/graphics/nvidia-drm-515-kmod-devel/Makefile
index c82bf66cc78e..a7b333ad8441 100644
--- a/graphics/nvidia-drm-515-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-515-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64
+NVIDIA_DISTVERSION= 575.64.03
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-515-kmod
diff --git a/graphics/nvidia-drm-515-kmod-devel/distinfo b/graphics/nvidia-drm-515-kmod-devel/distinfo
index c30652a950d9..3f48f97f6c2f 100644
--- a/graphics/nvidia-drm-515-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-515-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750497473
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452
+TIMESTAMP = 1751449949
+SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
+SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
SHA256 (freebsd-drm-kmod-drm_v5.15.160_5_GH0.tar.gz) = 93fc30211374d028ec8e24872cc5ac03dab13309b637cf3bdad27f2dcb808fc0
SIZE (freebsd-drm-kmod-drm_v5.15.160_5_GH0.tar.gz) = 26098570
diff --git a/graphics/nvidia-drm-61-kmod-devel/Makefile b/graphics/nvidia-drm-61-kmod-devel/Makefile
index d059040f5e2f..c36ca3f0be6e 100644
--- a/graphics/nvidia-drm-61-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-61-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64
+NVIDIA_DISTVERSION= 575.64.03
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-61-kmod
diff --git a/graphics/nvidia-drm-61-kmod-devel/distinfo b/graphics/nvidia-drm-61-kmod-devel/distinfo
index 934b49d0bd27..03da35fa84ce 100644
--- a/graphics/nvidia-drm-61-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-61-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750497952
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452
+TIMESTAMP = 1751450006
+SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
+SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
SHA256 (freebsd-drm-kmod-drm_v6.1.128_4_GH0.tar.gz) = ef5ee435493351a4d123f53b503c018a5195604ad4954a052d40f103643de39d
SIZE (freebsd-drm-kmod-drm_v6.1.128_4_GH0.tar.gz) = 37105937
diff --git a/graphics/nvidia-drm-66-kmod-devel/Makefile b/graphics/nvidia-drm-66-kmod-devel/Makefile
index 09c5db366d3f..b7153ab3390f 100644
--- a/graphics/nvidia-drm-66-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-66-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-NVIDIA_DISTVERSION= 575.64
+NVIDIA_DISTVERSION= 575.64.03
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../nvidia-drm-66-kmod
diff --git a/graphics/nvidia-drm-66-kmod-devel/distinfo b/graphics/nvidia-drm-66-kmod-devel/distinfo
index db68437d2905..a419269fc0d5 100644
--- a/graphics/nvidia-drm-66-kmod-devel/distinfo
+++ b/graphics/nvidia-drm-66-kmod-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750498510
-SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057
-SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452
+TIMESTAMP = 1751450069
+SHA256 (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 1fa676e43bb2da5f4458ad8feb969d7dac3438adb2f3294ca15b2c3e95522363
+SIZE (NVIDIA-FreeBSD-x86_64-575.64.03.tar.xz) = 287548092
SHA256 (freebsd-drm-kmod-drm_v6.6.25_5_GH0.tar.gz) = 412fe7b8db00ce7ed6339fa3099f9b17fe78b115ccb05a8714228ce70c9d0882
SIZE (freebsd-drm-kmod-drm_v6.6.25_5_GH0.tar.gz) = 38486809
diff --git a/graphics/nvidia-drm-kmod-devel/Makefile b/graphics/nvidia-drm-kmod-devel/Makefile
index 1f5bfb06325a..25785ec2b87e 100644
--- a/graphics/nvidia-drm-kmod-devel/Makefile
+++ b/graphics/nvidia-drm-kmod-devel/Makefile
@@ -1,4 +1,4 @@
-DISTVERSION= 575.64
+DISTVERSION= 575.64.03
# Explicitly set PORTREVISION as it can be overridden by the master port
PORTREVISION= 0
diff --git a/graphics/ocrs/Makefile b/graphics/ocrs/Makefile
index 5bdea71b7f3c..ed7cbd319a70 100644
--- a/graphics/ocrs/Makefile
+++ b/graphics/ocrs/Makefile
@@ -1,7 +1,7 @@
PORTNAME= ocrs
DISTVERSIONPREFIX= ocrs-cli-v
DISTVERSION= 0.10.3
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/oculante/Makefile b/graphics/oculante/Makefile
index 65b88eb23eab..bd4426eaf6bc 100644
--- a/graphics/oculante/Makefile
+++ b/graphics/oculante/Makefile
@@ -1,6 +1,6 @@
PORTNAME= oculante
DISTVERSION= 0.9.2
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/okular/distinfo b/graphics/okular/distinfo
index ed9d8884b8d2..0d6feb22be2f 100644
--- a/graphics/okular/distinfo
+++ b/graphics/okular/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036784
-SHA256 (KDE/release-service/25.04.2/okular-25.04.2.tar.xz) = bf2102fe7769b504e1934d46bf299398a6529fa2a96ca302bf7898c131b25cea
-SIZE (KDE/release-service/25.04.2/okular-25.04.2.tar.xz) = 8191024
+TIMESTAMP = 1751381487
+SHA256 (KDE/release-service/25.04.3/okular-25.04.3.tar.xz) = d0b5bb0b0eeab46aa2367c8d81096185bd2261710701c84f1c6e2398e5058bfb
+SIZE (KDE/release-service/25.04.3/okular-25.04.3.tar.xz) = 8190916
diff --git a/graphics/openxr/Makefile b/graphics/openxr/Makefile
index 1582af4ad9e1..4a608115d3af 100644
--- a/graphics/openxr/Makefile
+++ b/graphics/openxr/Makefile
@@ -1,6 +1,7 @@
PORTNAME= openxr
DISTVERSIONPREFIX= release-
DISTVERSION= 1.1.49
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= vvd@FreeBSD.org
diff --git a/graphics/osg34/Makefile b/graphics/osg34/Makefile
index 4732c45355a7..b08265df70dd 100644
--- a/graphics/osg34/Makefile
+++ b/graphics/osg34/Makefile
@@ -5,7 +5,7 @@ PORTREVISION= 64
CATEGORIES= graphics
PKGNAMESUFFIX= 34
-MAINTAINER= amdmi3@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= C++ OpenGL scene graph library for real-time rendering
WWW= https://www.openscenegraph.org/
@@ -14,6 +14,9 @@ LICENSE_NAME= OpenSceneGraph Public License
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+DEPRECATED= Obsolete version released in 2015
+EXPIRATION_DATE=2025-09-10
+
LIB_DEPENDS= libpng.so:graphics/png \
libtiff.so:graphics/tiff
diff --git a/graphics/oxipng/Makefile b/graphics/oxipng/Makefile
index 83b5c2833c5a..9bc49affc10f 100644
--- a/graphics/oxipng/Makefile
+++ b/graphics/oxipng/Makefile
@@ -1,7 +1,7 @@
PORTNAME= oxipng
DISTVERSIONPREFIX= v
DISTVERSION= 9.1.5 # apply ${FILESDIR}/patch-man before generating cargo-crates list for missing deps
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MAINTAINER= eduardo@FreeBSD.org
diff --git a/graphics/p5-Cairo/Makefile b/graphics/p5-Cairo/Makefile
index e7e20d61515f..2d6f99f601dd 100644
--- a/graphics/p5-Cairo/Makefile
+++ b/graphics/p5-Cairo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Cairo
PORTVERSION= 1.109
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics perl5
MASTER_SITES= CPAN \
SF/gtk2-perl/Cairo/${PORTVERSION}
diff --git a/graphics/p5-Cairo/files/patch-Makefile.PL b/graphics/p5-Cairo/files/patch-Makefile.PL
new file mode 100644
index 000000000000..b90da87f1d95
--- /dev/null
+++ b/graphics/p5-Cairo/files/patch-Makefile.PL
@@ -0,0 +1,14 @@
+Propagate Perl's ccflags to make sure it uses Perl's headers the same way as
+Perl itself.
+
+--- Makefile.PL.orig 2021-01-19 17:26:47 UTC
++++ Makefile.PL
+@@ -612,7 +612,7 @@ my $dep = ExtUtils::Depends->new ('Cairo');
+ push @typemaps, 'cairo-perl.typemap';
+
+ my $dep = ExtUtils::Depends->new ('Cairo');
+-$dep->set_inc ('-I. -I'.$autogen_dir.' '.$cairo_cfg{cflags});
++$dep->set_inc ('-I. -I'.$autogen_dir.' '.$cairo_cfg{cflags}.' '.$Config::Config{ccflags});
+ $dep->set_libs ($cairo_cfg{libs});
+ $dep->add_xs (@xs_files);
+ $dep->add_c (qw/cairo-perl-enums.c cairo-perl-flags.c/);
diff --git a/graphics/p5-Chart-Clicker/Makefile b/graphics/p5-Chart-Clicker/Makefile
index 2e1081d4b90f..9aa285befe17 100644
--- a/graphics/p5-Chart-Clicker/Makefile
+++ b/graphics/p5-Chart-Clicker/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Chart-Clicker
PORTVERSION= 2.90
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
diff --git a/graphics/p5-Gimp/Makefile b/graphics/p5-Gimp/Makefile
index f6d7e1b34eae..132cd2d77243 100644
--- a/graphics/p5-Gimp/Makefile
+++ b/graphics/p5-Gimp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Gimp
PORTVERSION= 2.38
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
diff --git a/graphics/p5-Graphics-Primitive-Driver-Cairo/Makefile b/graphics/p5-Graphics-Primitive-Driver-Cairo/Makefile
index 12228117675b..ed566295beeb 100644
--- a/graphics/p5-Graphics-Primitive-Driver-Cairo/Makefile
+++ b/graphics/p5-Graphics-Primitive-Driver-Cairo/Makefile
@@ -1,5 +1,6 @@
PORTNAME= Graphics-Primitive-Driver-Cairo
PORTVERSION= 0.47
+PORTREVISION= 1
CATEGORIES= graphics perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
diff --git a/graphics/p5-Image-ExifTool-devel/Makefile b/graphics/p5-Image-ExifTool-devel/Makefile
index d21dc195fa69..102f42220d17 100644
--- a/graphics/p5-Image-ExifTool-devel/Makefile
+++ b/graphics/p5-Image-ExifTool-devel/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Image-ExifTool
-DISTVERSION= 13.31
+DISTVERSION= 13.32
CATEGORIES= graphics perl5
MASTER_SITES= https://exiftool.org/ \
SF/exiftool
diff --git a/graphics/p5-Image-ExifTool-devel/distinfo b/graphics/p5-Image-ExifTool-devel/distinfo
index cd94ac1c8c1b..295a8c69ddd2 100644
--- a/graphics/p5-Image-ExifTool-devel/distinfo
+++ b/graphics/p5-Image-ExifTool-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750413449
-SHA256 (Image-ExifTool-13.31.tar.gz) = 3894786f28ef6b625646bf26f033938c104216baefdf94d0178f46a16c5ad5c0
-SIZE (Image-ExifTool-13.31.tar.gz) = 7459422
+TIMESTAMP = 1751542077
+SHA256 (Image-ExifTool-13.32.tar.gz) = e4b462f1a111bde3e3c4519e06d71efaacc576c36f4c3407b3d225c39393c829
+SIZE (Image-ExifTool-13.32.tar.gz) = 7461392
diff --git a/graphics/pastel/Makefile b/graphics/pastel/Makefile
index 427ac0110d68..5b6880ca1777 100644
--- a/graphics/pastel/Makefile
+++ b/graphics/pastel/Makefile
@@ -1,7 +1,7 @@
PORTNAME= pastel
DISTVERSIONPREFIX= v
DISTVERSION= 0.9.0
-PORTREVISION= 23
+PORTREVISION= 24
CATEGORIES= graphics
MAINTAINER= lcook@FreeBSD.org
diff --git a/graphics/php85-exif/Makefile b/graphics/php85-exif/Makefile
new file mode 100644
index 000000000000..5c5291702f25
--- /dev/null
+++ b/graphics/php85-exif/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES= graphics
+
+MASTERDIR= ${.CURDIR}/../../lang/php85
+
+PKGNAMESUFFIX= -exif
+
+.include "${MASTERDIR}/Makefile"
diff --git a/graphics/php85-gd/Makefile b/graphics/php85-gd/Makefile
new file mode 100644
index 000000000000..71249f74c62d
--- /dev/null
+++ b/graphics/php85-gd/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES= graphics
+
+MASTERDIR= ${.CURDIR}/../../lang/php85
+
+PKGNAMESUFFIX= -gd
+
+.include "${MASTERDIR}/Makefile"
diff --git a/graphics/plasma6-spectacle/distinfo b/graphics/plasma6-spectacle/distinfo
index 9a4520bb30ac..30d02b344cc8 100644
--- a/graphics/plasma6-spectacle/distinfo
+++ b/graphics/plasma6-spectacle/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750789608
-SHA256 (KDE/plasma/6.4.1/spectacle-6.4.1.tar.xz) = 547b8cc651730916104a8b1313504814eca7fe6a5abce254c10b37ffa1b13e34
-SIZE (KDE/plasma/6.4.1/spectacle-6.4.1.tar.xz) = 1597848
+TIMESTAMP = 1751380537
+SHA256 (KDE/plasma/6.4.2/spectacle-6.4.2.tar.xz) = 18b1d0b7e26680666eb86a2b0908c36d9e17a498b352944d89b901183920e0cb
+SIZE (KDE/plasma/6.4.2/spectacle-6.4.2.tar.xz) = 1598176
diff --git a/graphics/py-f3d/Makefile b/graphics/py-f3d/Makefile
index 22af77e74471..b14fe006e826 100644
--- a/graphics/py-f3d/Makefile
+++ b/graphics/py-f3d/Makefile
@@ -1,6 +1,6 @@
PORTNAME= f3d
DISTVERSIONPREFIX= v
-DISTVERSION= 3.1.0
+DISTVERSION= 3.2.0
CATEGORIES= graphics
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-f3d/distinfo b/graphics/py-f3d/distinfo
index 2fa9f5ca6487..323a3c87394b 100644
--- a/graphics/py-f3d/distinfo
+++ b/graphics/py-f3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748895401
-SHA256 (f3d-app-f3d-v3.1.0_GH0.tar.gz) = 93ba23078133122e929d9c1e2946c86da1f08fe56b9ffae40ebfd8185e91380a
-SIZE (f3d-app-f3d-v3.1.0_GH0.tar.gz) = 61473994
+TIMESTAMP = 1752181495
+SHA256 (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 2a3cff123821be41d99489e080a7153812e58a86598fa9f4988099660bf6a947
+SIZE (f3d-app-f3d-v3.2.0_GH0.tar.gz) = 68125944
diff --git a/graphics/py-gdal/Makefile b/graphics/py-gdal/Makefile
index 5cd4c7449df8..08fef0e30044 100644
--- a/graphics/py-gdal/Makefile
+++ b/graphics/py-gdal/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gdal
-PORTVERSION= 3.11.0
-PORTREVISION= 1
+PORTVERSION= 3.11.3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-gdal/distinfo b/graphics/py-gdal/distinfo
index 43d7d4186f50..78aa21a8c962 100644
--- a/graphics/py-gdal/distinfo
+++ b/graphics/py-gdal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747715312
-SHA256 (gdal-3.11.0.tar.gz) = ac59ccfe291d3ce4f6a9a3eed17da3777bc3bae970ce27217d4fa85db98650f8
-SIZE (gdal-3.11.0.tar.gz) = 877693
+TIMESTAMP = 1752416412
+SHA256 (gdal-3.11.3.tar.gz) = 4c3ad0fae393b5ddb093a7e4b890077839b2a6acdbd19202657fe4e881886efa
+SIZE (gdal-3.11.3.tar.gz) = 878190
diff --git a/graphics/py-gdal/files/patch-pyproject.toml b/graphics/py-gdal/files/patch-pyproject.toml
index 7f85867e1502..1a3e906318f9 100644
--- a/graphics/py-gdal/files/patch-pyproject.toml
+++ b/graphics/py-gdal/files/patch-pyproject.toml
@@ -1,8 +1,8 @@
---- pyproject.toml.orig 2024-05-06 12:37:20 UTC
+--- pyproject.toml.orig 2025-07-01 09:09:51 UTC
+++ pyproject.toml
@@ -1,12 +1,10 @@
[build-system]
--requires = ["setuptools>=67.0.0",
+-requires = ["setuptools>=77.0.3",
- "wheel",
- "oldest-supported-numpy; python_version=='3.8'",
- "numpy >=2.0.0rc1; python_version>='3.9'"]
@@ -16,3 +16,12 @@
dynamic = ["version", "scripts"]
authors = [
{name = "Frank Warmerdam"},
+@@ -19,7 +17,7 @@ keywords = ["gis", "raster", "vector"]
+ description = "GDAL: Geospatial Data Abstraction Library"
+ readme = "README.rst"
+ keywords = ["gis", "raster", "vector"]
+-license = "MIT"
++license = {text = "MIT"}
+ classifiers = [
+ "Development Status :: 5 - Production/Stable",
+ "Intended Audience :: Developers",
diff --git a/graphics/py-geosnap/Makefile b/graphics/py-geosnap/Makefile
index bf2d2b7f1b1d..85e9dca52b38 100644
--- a/graphics/py-geosnap/Makefile
+++ b/graphics/py-geosnap/Makefile
@@ -1,5 +1,5 @@
PORTNAME= geosnap
-PORTVERSION= 0.15.2
+PORTVERSION= 0.15.3
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-geosnap/distinfo b/graphics/py-geosnap/distinfo
index 859084f27b17..b979359f7564 100644
--- a/graphics/py-geosnap/distinfo
+++ b/graphics/py-geosnap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1738982852
-SHA256 (geosnap-0.15.2.tar.gz) = d78f177243446f6ffa0b5817184ee7e9e0bdb1571f79722821b0fc8dc7f5405a
-SIZE (geosnap-0.15.2.tar.gz) = 29917764
+TIMESTAMP = 1752266148
+SHA256 (geosnap-0.15.3.tar.gz) = f08a7b9c15aec554023cf28c4bef66bbbbafc7db5d5a9e3e2aebd70b15eb06b1
+SIZE (geosnap-0.15.3.tar.gz) = 29917823
diff --git a/graphics/py-mapclassify/Makefile b/graphics/py-mapclassify/Makefile
index 3856b71cb066..e358fe2de757 100644
--- a/graphics/py-mapclassify/Makefile
+++ b/graphics/py-mapclassify/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mapclassify
-PORTVERSION= 2.9.0
+PORTVERSION= 2.10.0
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-mapclassify/distinfo b/graphics/py-mapclassify/distinfo
index ca614a828bb0..2fd6a6661cbc 100644
--- a/graphics/py-mapclassify/distinfo
+++ b/graphics/py-mapclassify/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748495823
-SHA256 (mapclassify-2.9.0.tar.gz) = 65fa7a7d778ed63496ff860b9f3c26d632d8f289820a6d8556ac527d14b26bd8
-SIZE (mapclassify-2.9.0.tar.gz) = 5401963
+TIMESTAMP = 1752416424
+SHA256 (mapclassify-2.10.0.tar.gz) = 0d6736a08c0b1e10e6197224ef512951514204706514244bd01aea49fd1442b3
+SIZE (mapclassify-2.10.0.tar.gz) = 6172445
diff --git a/graphics/py-pillow/Makefile b/graphics/py-pillow/Makefile
index f96ffe28aede..ac2b8f95de43 100644
--- a/graphics/py-pillow/Makefile
+++ b/graphics/py-pillow/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pillow
-PORTVERSION= 11.2.1
+PORTVERSION= 11.3.0
CATEGORIES= graphics python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/graphics/py-pillow/distinfo b/graphics/py-pillow/distinfo
index 5c020407f22e..612f07901e64 100644
--- a/graphics/py-pillow/distinfo
+++ b/graphics/py-pillow/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745936196
-SHA256 (pillow-11.2.1.tar.gz) = a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6
-SIZE (pillow-11.2.1.tar.gz) = 47026707
+TIMESTAMP = 1751622375
+SHA256 (pillow-11.3.0.tar.gz) = 3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523
+SIZE (pillow-11.3.0.tar.gz) = 47113069
diff --git a/graphics/qb3/Makefile b/graphics/qb3/Makefile
index 45b1ec96b8a9..35728a128ba8 100644
--- a/graphics/qb3/Makefile
+++ b/graphics/qb3/Makefile
@@ -1,6 +1,7 @@
PORTNAME= qb3
PORTVERSION= 1.3.2
DISTVERSIONPREFIX= V
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/graphics/qb3/files/patch-i386 b/graphics/qb3/files/patch-i386
new file mode 100644
index 000000000000..1036ecf583db
--- /dev/null
+++ b/graphics/qb3/files/patch-i386
@@ -0,0 +1,13 @@
+Reference: https://github.com/lucianpls/QB3/pull/27
+
+--- QB3lib/QB3encode.cpp.orig 2025-04-28 20:58:34 UTC
++++ QB3lib/QB3encode.cpp
+@@ -84,7 +84,7 @@ void qb3_set_encoder_stride(encsp p, size_t stride) {
+ // Valid values are 2 and above
+ // sign = true when the input data is signed
+ // away = true to round away from zero
+-bool qb3_set_encoder_quanta(encsp p, size_t q, bool away) {
++bool qb3_set_encoder_quanta(encsp p, uint64_t q, bool away) {
+ if (q < 1)
+ return false;
+ p->quanta = q;
diff --git a/graphics/rawstudio/Makefile b/graphics/rawstudio/Makefile
index 24eb07ef4d06..910ce22b8034 100644
--- a/graphics/rawstudio/Makefile
+++ b/graphics/rawstudio/Makefile
@@ -10,8 +10,6 @@ WWW= https://rawstudio.org/
LICENSE= GPLv2+
-BROKEN= Fails to build with libxml2 2.13+, error: use of undeclared identifier 'xmlDocPtr'
-
BUILD_DEPENDS= ${LOCALBASE}/include/fftw3.h:math/fftw3
LIB_DEPENDS= libcurl.so:ftp/curl \
liblcms.so:graphics/lcms \
diff --git a/graphics/rawstudio/files/patch-libxml2-2.12.7 b/graphics/rawstudio/files/patch-libxml2-2.12.7
index 39256d3688a5..6a6d8861d262 100644
--- a/graphics/rawstudio/files/patch-libxml2-2.12.7
+++ b/graphics/rawstudio/files/patch-libxml2-2.12.7
@@ -58,6 +58,26 @@
#include <libxml/xmlwriter.h>
#include "rs-utils.h"
+--- plugins/output-facebook/rs-facebook-client.c
++++ plugins/output-facebook/rs-facebook-client.c
+@@ -19,6 +19,7 @@
+
+ #include <curl/curl.h>
+ #include <libxml/encoding.h>
++#include <libxml/tree.h>
+ #include <gtk/gtk.h>
+ #include <glib.h>
+ #include <glib/gstdio.h>
+--- plugins/output-picasa/rs-picasa-client.c
++++ plugins/output-picasa/rs-picasa-client.c
+@@ -10,6 +10,7 @@
+ #include <glib.h>
+ #include <gtk/gtk.h>
+ #include <libxml/encoding.h>
++#include <libxml/tree.h>
+ #include <string.h>
+ #include <curl/curl.h>
+ #include "rs-picasa-client.h"
--- src/rs-batch.c
+++ src/rs-batch.c
@@ -23,6 +23,7 @@
diff --git a/graphics/realesrgan-ncnn-vulkan/Makefile b/graphics/realesrgan-ncnn-vulkan/Makefile
index fd5dc3d8c147..636041d7e80e 100644
--- a/graphics/realesrgan-ncnn-vulkan/Makefile
+++ b/graphics/realesrgan-ncnn-vulkan/Makefile
@@ -1,7 +1,7 @@
PORTNAME= realesrgan-ncnn-vulkan
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
# https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan/issues/29
MASTER_SITES= https://dev.gentoo.org/~slashbeast/distfiles/${PORTNAME}/:models
diff --git a/graphics/resvg-capi/Makefile b/graphics/resvg-capi/Makefile
index a46459a85636..390d5d26ce36 100644
--- a/graphics/resvg-capi/Makefile
+++ b/graphics/resvg-capi/Makefile
@@ -1,6 +1,6 @@
PORTNAME= resvg-c-api
DISTVERSION= 0.45.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/resvg/Makefile b/graphics/resvg/Makefile
index 5eabe92dc596..146bca64fbf9 100644
--- a/graphics/resvg/Makefile
+++ b/graphics/resvg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= resvg
DISTVERSION= 0.45.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
diff --git a/graphics/rubygem-mini_magick/Makefile b/graphics/rubygem-mini_magick/Makefile
index 26a9d3a2b14c..0a42560e840d 100644
--- a/graphics/rubygem-mini_magick/Makefile
+++ b/graphics/rubygem-mini_magick/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mini_magick
-PORTVERSION= 5.2.0
+PORTVERSION= 5.3.0
CATEGORIES= graphics rubygems
MASTER_SITES= RG
@@ -10,8 +10,7 @@ WWW= https://github.com/minimagick/minimagick
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
-RUN_DEPENDS= rubygem-benchmark>=0:benchmarks/rubygem-benchmark \
- rubygem-logger>=0:devel/rubygem-logger
+RUN_DEPENDS= rubygem-logger>=0:devel/rubygem-logger
USES= gem magick:${FLAVOR}
diff --git a/graphics/rubygem-mini_magick/distinfo b/graphics/rubygem-mini_magick/distinfo
index 8200aea2d06f..eb2346034f41 100644
--- a/graphics/rubygem-mini_magick/distinfo
+++ b/graphics/rubygem-mini_magick/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1740836320
-SHA256 (rubygem/mini_magick-5.2.0.gem) = 2757ffbfdb1d38242d1da9ff1505360ab75d59dc02eb7ab79ff6d5acb1243f4a
-SIZE (rubygem/mini_magick-5.2.0.gem) = 21504
+TIMESTAMP = 1752416430
+SHA256 (rubygem/mini_magick-5.3.0.gem) = 6f13309c90f9ebe204b4c3f04d0a5a9265c5f734950894e83fa2480d4aa79ba4
+SIZE (rubygem/mini_magick-5.3.0.gem) = 21504
diff --git a/graphics/rx/Makefile b/graphics/rx/Makefile
index a3beb819b13e..8037ea3f3db3 100644
--- a/graphics/rx/Makefile
+++ b/graphics/rx/Makefile
@@ -1,7 +1,7 @@
PORTNAME= rx
DISTVERSIONPREFIX= v
DISTVERSION= 0.5.2
-PORTREVISION= 36
+PORTREVISION= 37
CATEGORIES= graphics
PKGNAMESUFFIX= -editor
diff --git a/graphics/satty/Makefile b/graphics/satty/Makefile
index 0bfb5173dfad..142fae6204be 100644
--- a/graphics/satty/Makefile
+++ b/graphics/satty/Makefile
@@ -1,7 +1,7 @@
PORTNAME= satty
DISTVERSIONPREFIX= v
DISTVERSION= 0.19.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics wayland
MASTER_SITES= CRATESIO
diff --git a/graphics/shaderc/Makefile b/graphics/shaderc/Makefile
index d365213b6388..30c37bbc5aae 100644
--- a/graphics/shaderc/Makefile
+++ b/graphics/shaderc/Makefile
@@ -1,10 +1,9 @@
PORTNAME= shaderc
DISTVERSIONPREFIX= v
-DISTVERSION= 2025.2
-PORTREVISION= 1
+DISTVERSION= 2025.3
CATEGORIES= graphics devel
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= GLSL/HLSL to SPIR-V shader compiler
WWW= https://github.com/google/shaderc
@@ -19,7 +18,7 @@ USES= cmake:testing compiler:c++11-lib localbase:ldflags \
USE_GITHUB= yes
USE_LDCONFIG= yes
GH_ACCOUNT= google
-GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-411-gaa6cef1:headers/third_party/spirv-headers
+GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-430-g2a611a9:headers/third_party/spirv-headers
SHEBANG_FILES= utils/add_copyright.py
CMAKE_ON+= ${CMAKE_TESTING_OFF}
CMAKE_TESTING_OFF= SHADERC_SKIP_TESTS
diff --git a/graphics/shaderc/distinfo b/graphics/shaderc/distinfo
index b8bc0a2807b0..1ef459a4173e 100644
--- a/graphics/shaderc/distinfo
+++ b/graphics/shaderc/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1745429442
-SHA256 (google-shaderc-v2025.2_GH0.tar.gz) = 3fddc13bbb87411c6f7b8f447e87c1637933450087e70fc21da650041f4e0132
-SIZE (google-shaderc-v2025.2_GH0.tar.gz) = 228308
-SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-411-gaa6cef1_GH0.tar.gz) = 3ac06fbcb63382f5dd2e24d45e8d2e93981858a07c38a4edf24f47f9d7fd254e
-SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-411-gaa6cef1_GH0.tar.gz) = 547604
+TIMESTAMP = 1750799881
+SHA256 (google-shaderc-v2025.3_GH0.tar.gz) = a8e4a25e5c2686fd36981e527ed05e451fcfc226bddf350f4e76181371190937
+SIZE (google-shaderc-v2025.3_GH0.tar.gz) = 228417
+SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = f88c4918fc307c406b03587689bec0b7b5aaf9539955d3ee7a698342c2c52e8e
+SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = 538631
diff --git a/graphics/skanlite/distinfo b/graphics/skanlite/distinfo
index f5daddc63a8d..93c2515a057a 100644
--- a/graphics/skanlite/distinfo
+++ b/graphics/skanlite/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036787
-SHA256 (KDE/release-service/25.04.2/skanlite-25.04.2.tar.xz) = d16d4657ab08b5885a7ab87bd376aed003e1acbf7a9f51c2e9f0eb1fc5ddd964
-SIZE (KDE/release-service/25.04.2/skanlite-25.04.2.tar.xz) = 2392392
+TIMESTAMP = 1751381490
+SHA256 (KDE/release-service/25.04.3/skanlite-25.04.3.tar.xz) = a6c16c530a2f9105302558d06a377a7bc076be7517a769077c94a6431727f468
+SIZE (KDE/release-service/25.04.3/skanlite-25.04.3.tar.xz) = 2392460
diff --git a/graphics/skanpage/distinfo b/graphics/skanpage/distinfo
index 25c5f0099a55..10af3a4870a4 100644
--- a/graphics/skanpage/distinfo
+++ b/graphics/skanpage/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036789
-SHA256 (KDE/release-service/25.04.2/skanpage-25.04.2.tar.xz) = 5bb263cc7adb3e522117face5afa4f98653c9e83397f9d2aa1ed91cf9a344731
-SIZE (KDE/release-service/25.04.2/skanpage-25.04.2.tar.xz) = 1360456
+TIMESTAMP = 1751381492
+SHA256 (KDE/release-service/25.04.3/skanpage-25.04.3.tar.xz) = 6727ffd9bd576edbd0b4a0841625cff5d7370e6c8b667c66d5f5355cdb1a2e2d
+SIZE (KDE/release-service/25.04.3/skanpage-25.04.3.tar.xz) = 1360364
diff --git a/graphics/spirv-tools/Makefile b/graphics/spirv-tools/Makefile
index e06a443ab0fb..4824fea487f4 100644
--- a/graphics/spirv-tools/Makefile
+++ b/graphics/spirv-tools/Makefile
@@ -1,9 +1,9 @@
PORTNAME= spirv-tools
DISTVERSIONPREFIX= v
-DISTVERSION= 2025.2.rc1 # please always bump all dependencies when updated because at least graphics/shaderc links in static libraries
+DISTVERSION= 2025.3.rc1 # please always bump all dependencies when updated because at least graphics/shaderc links in static libraries
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Tools for processing SPIR-V intermediate shader language modules
WWW= https://github.com/KhronosGroup/SPIRV-Tools
@@ -16,7 +16,7 @@ SHEBANG_FILES= tools/lesspipe/spirv-lesspipe.sh
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= SPIRV-Tools
-GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-411-gaa6cef1:headers/external/spirv-headers
+GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-430-g2a611a9:headers/external/spirv-headers
CMAKE_ON= SPIRV_SKIP_TESTS
diff --git a/graphics/spirv-tools/distinfo b/graphics/spirv-tools/distinfo
index 614306a5e757..c84de2476b33 100644
--- a/graphics/spirv-tools/distinfo
+++ b/graphics/spirv-tools/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1745333515
-SHA256 (KhronosGroup-SPIRV-Tools-v2025.2.rc1_GH0.tar.gz) = e76dfee6e2e60ecfe15776218c4d774987bd80c81bf1fdcf073dab5432492f7c
-SIZE (KhronosGroup-SPIRV-Tools-v2025.2.rc1_GH0.tar.gz) = 3284313
-SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-411-gaa6cef1_GH0.tar.gz) = 3ac06fbcb63382f5dd2e24d45e8d2e93981858a07c38a4edf24f47f9d7fd254e
-SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-411-gaa6cef1_GH0.tar.gz) = 547604
+TIMESTAMP = 1750708773
+SHA256 (KhronosGroup-SPIRV-Tools-v2025.3.rc1_GH0.tar.gz) = efcb234aaf9963af4dded380b660d1ea3482d94b82e9dcb9be6e39b610ea82d6
+SIZE (KhronosGroup-SPIRV-Tools-v2025.3.rc1_GH0.tar.gz) = 3335092
+SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = f88c4918fc307c406b03587689bec0b7b5aaf9539955d3ee7a698342c2c52e8e
+SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = 538631
diff --git a/graphics/svgbob/Makefile b/graphics/svgbob/Makefile
index c381a751843c..0f80a1f26392 100644
--- a/graphics/svgbob/Makefile
+++ b/graphics/svgbob/Makefile
@@ -1,6 +1,6 @@
PORTNAME= svgbob
DISTVERSION= 0.7.1
-PORTREVISION= 19
+PORTREVISION= 20
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/vapoursynth-waifu2x-ncnn-vulkan/Makefile b/graphics/vapoursynth-waifu2x-ncnn-vulkan/Makefile
index f47a5275af5d..1573711d2518 100644
--- a/graphics/vapoursynth-waifu2x-ncnn-vulkan/Makefile
+++ b/graphics/vapoursynth-waifu2x-ncnn-vulkan/Makefile
@@ -1,6 +1,6 @@
PORTNAME= vapoursynth-waifu2x-ncnn-vulkan
DISTVERSION= r5
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= graphics
MAINTAINER= ports@FreeBSD.org
diff --git a/graphics/vhs/Makefile b/graphics/vhs/Makefile
index 874050dcfe21..00b1e894e36f 100644
--- a/graphics/vhs/Makefile
+++ b/graphics/vhs/Makefile
@@ -1,6 +1,7 @@
PORTNAME= vhs
DISTVERSIONPREFIX= v
DISTVERSION= 0.10.0
+PORTREVISION= 1
CATEGORIES= graphics
MAINTAINER= dtxdf@FreeBSD.org
diff --git a/graphics/vips/Makefile b/graphics/vips/Makefile
index 3e9aa60067f3..e02bb8413e5a 100644
--- a/graphics/vips/Makefile
+++ b/graphics/vips/Makefile
@@ -1,5 +1,5 @@
PORTNAME= vips
-PORTVERSION= 8.17.0
+PORTVERSION= 8.17.1
CATEGORIES= graphics
MASTER_SITES= https://github.com/libvips/libvips/releases/download/v${PORTVERSION}/
diff --git a/graphics/vips/distinfo b/graphics/vips/distinfo
index b1cd0252c0c0..d3e6483b31e5 100644
--- a/graphics/vips/distinfo
+++ b/graphics/vips/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749813016
-SHA256 (vips-8.17.0.tar.xz) = 8256a82f2e64c119ffadac99822350f45212f16df2505ea8dbae5ff4d0001996
-SIZE (vips-8.17.0.tar.xz) = 29496800
+TIMESTAMP = 1752266012
+SHA256 (vips-8.17.1.tar.xz) = 4d8c3325922c5300253d7594507a8f1d3caf8eed70dfb66cc7eb2cbed65bb5ca
+SIZE (vips-8.17.1.tar.xz) = 29529248
diff --git a/graphics/vips/pkg-plist b/graphics/vips/pkg-plist
index 4eafcb025ce4..3fd92496605b 100644
--- a/graphics/vips/pkg-plist
+++ b/graphics/vips/pkg-plist
@@ -60,11 +60,11 @@ include/vips/vips8
lib/libvips-cpp.a
lib/libvips-cpp.so
lib/libvips-cpp.so.42
-lib/libvips-cpp.so.42.19.0
+lib/libvips-cpp.so.42.19.1
lib/libvips.a
lib/libvips.so
lib/libvips.so.42
-lib/libvips.so.42.19.0
+lib/libvips.so.42.19.1
libdata/pkgconfig/vips-cpp.pc
libdata/pkgconfig/vips.pc
%%PORTDOCS%%%%DOCSDIR%%/Combine.png
diff --git a/graphics/viu/Makefile b/graphics/viu/Makefile
index b2e207ff2c24..13f5e3a5acb3 100644
--- a/graphics/viu/Makefile
+++ b/graphics/viu/Makefile
@@ -1,7 +1,7 @@
PORTNAME= viu
DISTVERSIONPREFIX= v
DISTVERSION= 1.5.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics
MAINTAINER= lcook@FreeBSD.org
diff --git a/graphics/vulkan-caps-viewer/Makefile b/graphics/vulkan-caps-viewer/Makefile
index 7f3a98e6d7a1..be8721a1bc18 100644
--- a/graphics/vulkan-caps-viewer/Makefile
+++ b/graphics/vulkan-caps-viewer/Makefile
@@ -2,27 +2,31 @@ PORTNAME= vulkan-caps-viewer
DISTVERSION= 4.02
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Vulkan Hardware Capability Viewer
WWW= https://vulkan.gpuinfo.org/
LICENSE= LGPL3 # based on license headers
+BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
USES= compiler:c++11-lib pkgconfig qmake qt:5
USE_GITHUB= yes
-USE_QT= qmake:build buildtools:build core gui network widgets
GH_ACCOUNT= SaschaWillems
GH_PROJECT= VulkanCapsViewer
-GH_TUPLE= KhronosGroup:Vulkan-Headers:v1.4.320:vkheaders/Vulkan-Headers
+USE_QT= core gui network widgets buildtools:build qmake:build
+
LDFLAGS+= -Wl,--as-needed # avoid overlinking (GL, wayland)
+
+PORTSCOUT= skipv:sdk_2023_1
+
PLIST_FILES= bin/vulkanCapsViewer \
share/applications/vulkanCapsViewer.desktop \
share/icons/hicolor/256x256/apps/vulkanCapsViewer.png
-OPTIONS_DEFINE= WAYLAND X11
-OPTIONS_DEFAULT=WAYLAND X11
+OPTIONS_DEFINE= WAYLAND X11
+OPTIONS_DEFAULT= WAYLAND X11
WAYLAND_CATEGORIES= wayland
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
@@ -43,5 +47,7 @@ post-patch:
${WRKSRC}/vulkanCapsViewer.pro
@${REINPLACE_CMD} -e 's/__linux/__unix/' \
${WRKSRC}/vulkancapsviewer.cpp
+ @${REINPLACE_CMD} -e 's|$$$$PWD/Vulkan-Headers/include/vulkan/vulkan.h|${LOCALBASE}/include/vulkan/vulkan.h|' \
+ ${WRKSRC}/vulkanCapsViewer.pri
.include <bsd.port.mk>
diff --git a/graphics/vulkan-caps-viewer/distinfo b/graphics/vulkan-caps-viewer/distinfo
index a8b4856669ad..9b29f8c5f63d 100644
--- a/graphics/vulkan-caps-viewer/distinfo
+++ b/graphics/vulkan-caps-viewer/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1751043175
+TIMESTAMP = 1752265390
SHA256 (SaschaWillems-VulkanCapsViewer-4.02_GH0.tar.gz) = f16873ad56bf4fa5981bdd18526c93a6a3825a64bbb8d2e9c9313664c4c6ea43
SIZE (SaschaWillems-VulkanCapsViewer-4.02_GH0.tar.gz) = 2868716
-SHA256 (KhronosGroup-Vulkan-Headers-v1.4.320_GH0.tar.gz) = 26bf2befead6bf397263a74885dac3e68d133af76062321c2a5ce81de47b8429
-SIZE (KhronosGroup-Vulkan-Headers-v1.4.320_GH0.tar.gz) = 2629365
diff --git a/graphics/vulkan-extension-layer/Makefile b/graphics/vulkan-extension-layer/Makefile
index 835cd4589ae3..550377be5c3c 100644
--- a/graphics/vulkan-extension-layer/Makefile
+++ b/graphics/vulkan-extension-layer/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-extension-layer
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.313
+DISTVERSION= 1.4.321
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Layer providing Vulkan features when native support is unavailable
WWW= https://github.com/KhronosGroup/Vulkan-ExtensionLayer
@@ -21,15 +21,16 @@ CMAKE_OFF= BUILD_TESTS
OPTIONS_DEFINE= WAYLAND XCB XLIB
OPTIONS_DEFAULT=WAYLAND XCB XLIB
+XCB_DESC= ${X11_DESC} via libxcb
+XLIB_DESC= ${X11_DESC} via libX11
+
WAYLAND_LIB_DEPENDS= libwayland-egl.so:graphics/wayland
WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT
-XCB_DESC= ${X11_DESC} via libxcb
XCB_USES= xorg
XCB_USE= XORG=xcb
XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT
-XLIB_DESC= ${X11_DESC} via libX11
XLIB_USES= xorg
XLIB_USE= XORG=x11,xrandr
XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT
diff --git a/graphics/vulkan-extension-layer/distinfo b/graphics/vulkan-extension-layer/distinfo
index 04e44e73640c..f6e0eb758543 100644
--- a/graphics/vulkan-extension-layer/distinfo
+++ b/graphics/vulkan-extension-layer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745251687
-SHA256 (KhronosGroup-Vulkan-ExtensionLayer-v1.4.313_GH0.tar.gz) = 14fdaf5cbbc02ce7dbacbaadeb1e9d63dc49f07a32214c4995ea9909bb534dc1
-SIZE (KhronosGroup-Vulkan-ExtensionLayer-v1.4.313_GH0.tar.gz) = 789915
+TIMESTAMP = 1752189602
+SHA256 (KhronosGroup-Vulkan-ExtensionLayer-v1.4.321_GH0.tar.gz) = 177a356162cfcf47c50cc0f0dcd51630196f171f21d6cefe3fb8b5d514f60d49
+SIZE (KhronosGroup-Vulkan-ExtensionLayer-v1.4.321_GH0.tar.gz) = 790149
diff --git a/graphics/vulkan-headers/Makefile b/graphics/vulkan-headers/Makefile
index 3472b030cbfd..bfc613c19d27 100644
--- a/graphics/vulkan-headers/Makefile
+++ b/graphics/vulkan-headers/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-headers
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.319
+DISTVERSION= 1.4.322
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Headers for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-Headers
@@ -13,14 +13,15 @@ USES= cmake
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= Vulkan-Headers
-STRIP= # nothing to strip
-NO_ARCH= yes
# XXX Add clang-scan-deps to WITH_CLANG_EXTRAS in src.conf(5)
.if exists(/usr/bin/clang) && !exists(/usr/bin/clang-scan-deps)
CMAKE_OFF+= VULKAN_HEADERS_ENABLE_MODULE
.endif
+STRIP= # nothing to strip
+NO_ARCH= yes
+
post-extract:
# genvk.py requires docgenerator.py from Vulkan-Docs, so drop useless shebang
@${FIND} ${WRKSRC}/registry -name \*.py -exec ${REINPLACE_CMD} -i '' '/^#!/d' {} +
diff --git a/graphics/vulkan-headers/distinfo b/graphics/vulkan-headers/distinfo
index 6a11cb834ec0..c39e531e65b0 100644
--- a/graphics/vulkan-headers/distinfo
+++ b/graphics/vulkan-headers/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750421987
-SHA256 (KhronosGroup-Vulkan-Headers-v1.4.319_GH0.tar.gz) = d79d05def3aaa7f339f2b88b62f73072df0660fb50e9286554a043bab9f6c4dd
-SIZE (KhronosGroup-Vulkan-Headers-v1.4.319_GH0.tar.gz) = 2761732
+TIMESTAMP = 1752318911
+SHA256 (KhronosGroup-Vulkan-Headers-v1.4.322_GH0.tar.gz) = c5ec1d0e1baf9c2ca4eb581e5ba31ad4ef83cdab1f6c959e459b97b92739f92d
+SIZE (KhronosGroup-Vulkan-Headers-v1.4.322_GH0.tar.gz) = 2740918
diff --git a/graphics/vulkan-loader/Makefile b/graphics/vulkan-loader/Makefile
index af43b81e7f5e..bc6c18fb3314 100644
--- a/graphics/vulkan-loader/Makefile
+++ b/graphics/vulkan-loader/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-loader
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.319
+DISTVERSION= 1.4.321
CATEGORIES= graphics devel
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Driver loader for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-Loader
@@ -13,9 +13,9 @@ BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers
USES= alias cmake compiler:c++11-lib pkgconfig python:build
USE_GITHUB= yes
-USE_LDCONFIG= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= Vulkan-Loader
+USE_LDCONFIG= yes
CMAKE_ON= CMAKE_SKIP_RPATH
CMAKE_OFF= BUILD_TESTS
PLIST_SUB= VERSION=${DISTVERSION:C/-.*//}
@@ -23,15 +23,16 @@ PLIST_SUB= VERSION=${DISTVERSION:C/-.*//}
OPTIONS_DEFINE= WAYLAND XCB XLIB
OPTIONS_DEFAULT=WAYLAND XCB XLIB
+XCB_DESC= ${X11_DESC} via libxcb
+XLIB_DESC= ${X11_DESC} via libX11
+
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT
-XCB_DESC= ${X11_DESC} via libxcb
XCB_USES= xorg
XCB_USE= XORG=xcb
XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT
-XLIB_DESC= ${X11_DESC} via libX11
XLIB_USES= xorg
XLIB_USE= XORG=x11,xrandr
XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT
diff --git a/graphics/vulkan-loader/distinfo b/graphics/vulkan-loader/distinfo
index 1c038bfd61ce..ace3f1a21f95 100644
--- a/graphics/vulkan-loader/distinfo
+++ b/graphics/vulkan-loader/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750446704
-SHA256 (KhronosGroup-Vulkan-Loader-v1.4.319_GH0.tar.gz) = 6f0bd0079c56518db0243854db822e39ba25602fd24cac34b6f43b75c764e743
-SIZE (KhronosGroup-Vulkan-Loader-v1.4.319_GH0.tar.gz) = 1762031
+TIMESTAMP = 1752188907
+SHA256 (KhronosGroup-Vulkan-Loader-v1.4.321_GH0.tar.gz) = 00669f6bb2db35c8df07f0b118c09bfe0ebffecaad7d80647a429eece0e37ac3
+SIZE (KhronosGroup-Vulkan-Loader-v1.4.321_GH0.tar.gz) = 1762478
diff --git a/graphics/vulkan-tools/Makefile b/graphics/vulkan-tools/Makefile
index d3ad633c51d4..97a64bd4de20 100644
--- a/graphics/vulkan-tools/Makefile
+++ b/graphics/vulkan-tools/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-tools
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.319
+DISTVERSION= 1.4.321
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Tools and demos for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-Tools
@@ -16,24 +16,25 @@ USES= alias cmake compiler:c++11-lib pkgconfig python:build
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= Vulkan-Tools
-CMAKE_OFF= BUILD_ICD
CMAKE_ARGS= -DGLSLANG_INSTALL_DIR:PATH="${LOCALBASE}"
+CMAKE_OFF= BUILD_ICD
OPTIONS_DEFINE= WAYLAND XCB XLIB
OPTIONS_DEFAULT= WAYLAND XCB XLIB
+XCB_DESC= ${X11_DESC} via libxcb
+XLIB_DESC= ${X11_DESC} via libX11
+
WAYLAND_CATEGORIES= wayland
WAYLAND_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>0:graphics/wayland-protocols
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT
-XCB_DESC= ${X11_DESC} via libxcb
XCB_USES= xorg
XCB_USE= XORG=xcb
XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT
-XLIB_DESC= ${X11_DESC} via libX11
XLIB_USES= xorg
XLIB_USE= XORG=x11
XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT
diff --git a/graphics/vulkan-tools/distinfo b/graphics/vulkan-tools/distinfo
index 0c1dc07aa7dc..dc7c7bd4ba44 100644
--- a/graphics/vulkan-tools/distinfo
+++ b/graphics/vulkan-tools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750451413
-SHA256 (KhronosGroup-Vulkan-Tools-v1.4.319_GH0.tar.gz) = 2237d15179237bf932bf715c21179520c4d54d41bc859e59802888ade452298a
-SIZE (KhronosGroup-Vulkan-Tools-v1.4.319_GH0.tar.gz) = 805792
+TIMESTAMP = 1752190908
+SHA256 (KhronosGroup-Vulkan-Tools-v1.4.321_GH0.tar.gz) = f5f75413d21d1508b746a3d0594961d64c7155ee5f4f28245b9547c1b4697d8d
+SIZE (KhronosGroup-Vulkan-Tools-v1.4.321_GH0.tar.gz) = 807369
diff --git a/graphics/vulkan-utility-libraries/Makefile b/graphics/vulkan-utility-libraries/Makefile
index 70197bf68593..69026e4899f9 100644
--- a/graphics/vulkan-utility-libraries/Makefile
+++ b/graphics/vulkan-utility-libraries/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-utility-libraries
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.319
+DISTVERSION= 1.4.321
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubiswas484@gmail.com
COMMENT= Utility libraries for Vulkan developers
WWW= https://github.com/KhronosGroup/Vulkan-Utility-Libraries
diff --git a/graphics/vulkan-utility-libraries/distinfo b/graphics/vulkan-utility-libraries/distinfo
index 45ac173766ba..9ee941230cd8 100644
--- a/graphics/vulkan-utility-libraries/distinfo
+++ b/graphics/vulkan-utility-libraries/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750446762
-SHA256 (KhronosGroup-Vulkan-Utility-Libraries-v1.4.319_GH0.tar.gz) = 904a91a8cafbf49db9b020e48be486a73ac6370c6b826495341dd8fc2b7ecca4
-SIZE (KhronosGroup-Vulkan-Utility-Libraries-v1.4.319_GH0.tar.gz) = 623141
+TIMESTAMP = 1752192249
+SHA256 (KhronosGroup-Vulkan-Utility-Libraries-v1.4.321_GH0.tar.gz) = 853eb1e9a390fed9a66ebca7f3390e58f6d467d9e16ab35830a03ef66cf87a22
+SIZE (KhronosGroup-Vulkan-Utility-Libraries-v1.4.321_GH0.tar.gz) = 625800
diff --git a/graphics/vulkan-utility-libraries/pkg-descr b/graphics/vulkan-utility-libraries/pkg-descr
index eaebc143ec56..f20539c49dc3 100644
--- a/graphics/vulkan-utility-libraries/pkg-descr
+++ b/graphics/vulkan-utility-libraries/pkg-descr
@@ -1 +1,6 @@
-Shared code across various Vulkan repositories.
+Vulkan-Utility-Libraries provides shared utility code for Vulkan SDK developers.
+It includes standardized layer settings and header-only utilities like dispatch
+table setup, format helpers, Vulkan struct handling, and enum-to-string helpers.
+
+This repository improves code reuse and reduces maintenance overhead across
+multiple Vulkan-related projects.
diff --git a/graphics/vulkan-validation-layers/Makefile b/graphics/vulkan-validation-layers/Makefile
index 323a6e40abcd..42054403f4e8 100644
--- a/graphics/vulkan-validation-layers/Makefile
+++ b/graphics/vulkan-validation-layers/Makefile
@@ -1,9 +1,9 @@
PORTNAME= vulkan-validation-layers
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.319
+DISTVERSION= 1.4.321
CATEGORIES= graphics
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= atanubis484@gmail.com
COMMENT= Validation layers for the Vulkan graphics API
WWW= https://github.com/KhronosGroup/Vulkan-ValidationLayers
@@ -18,21 +18,25 @@ USES= alias cmake compiler:c++11-lib pkgconfig python:build
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= Vulkan-ValidationLayers
-GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-424-g3b9447d:headers/SPIRV-Headers
+GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-430-g2a611a9:headers/SPIRV-Headers
CMAKE_OFF= BUILD_TESTS
-OPTIONS_DEFINE= WAYLAND XCB XLIB
-OPTIONS_DEFAULT=WAYLAND XCB XLIB
+PLIST_FILES= lib/libVkLayer_khronos_validation.so \
+ share/vulkan/explicit_layer.d/VkLayer_khronos_validation.json
+
+OPTIONS_DEFINE= WAYLAND XCB XLIB
+OPTIONS_DEFAULT= WAYLAND XCB XLIB
+
+XCB_DESC= ${X11_DESC} via libxcb
+XLIB_DESC= ${X11_DESC} via libX11
WAYLAND_LIB_DEPENDS= libwayland-egl.so:graphics/wayland
WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT
-XCB_DESC= ${X11_DESC} via libxcb
XCB_USES= xorg
XCB_USE= XORG=xcb
XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT
-XLIB_DESC= ${X11_DESC} via libX11
XLIB_USES= xorg
XLIB_USE= XORG=x11,xrandr
XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT
diff --git a/graphics/vulkan-validation-layers/distinfo b/graphics/vulkan-validation-layers/distinfo
index 3eac49a5d1ba..106014142470 100644
--- a/graphics/vulkan-validation-layers/distinfo
+++ b/graphics/vulkan-validation-layers/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1750465462
-SHA256 (KhronosGroup-Vulkan-ValidationLayers-v1.4.319_GH0.tar.gz) = e46cb2ba7190cd134497c9841c967e39b8e5f45d4c1cd85f0d3a827e8b4bf037
-SIZE (KhronosGroup-Vulkan-ValidationLayers-v1.4.319_GH0.tar.gz) = 6468839
-SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-424-g3b9447d_GH0.tar.gz) = f80d842d14fd16e46098fda129a95df1502c5b3ceff09a876410a424e933804b
-SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-424-g3b9447d_GH0.tar.gz) = 534278
+TIMESTAMP = 1752313850
+SHA256 (KhronosGroup-Vulkan-ValidationLayers-v1.4.321_GH0.tar.gz) = b539b4862f02bb75a211afa939d59c37263604e88331cf06de5249ff0453cc78
+SIZE (KhronosGroup-Vulkan-ValidationLayers-v1.4.321_GH0.tar.gz) = 6476609
+SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = f88c4918fc307c406b03587689bec0b7b5aaf9539955d3ee7a698342c2c52e8e
+SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-430-g2a611a9_GH0.tar.gz) = 538631
diff --git a/graphics/vulkan-validation-layers/pkg-plist b/graphics/vulkan-validation-layers/pkg-plist
deleted file mode 100644
index 9175df639946..000000000000
--- a/graphics/vulkan-validation-layers/pkg-plist
+++ /dev/null
@@ -1,2 +0,0 @@
-lib/libVkLayer_khronos_validation.so
-share/vulkan/explicit_layer.d/VkLayer_khronos_validation.json
diff --git a/graphics/webp/Makefile b/graphics/webp/Makefile
index 1626d50f5b47..563ac6cf7511 100644
--- a/graphics/webp/Makefile
+++ b/graphics/webp/Makefile
@@ -1,5 +1,5 @@
PORTNAME= webp
-PORTVERSION= 1.5.0
+PORTVERSION= 1.6.0
CATEGORIES= graphics
MASTER_SITES= http://downloads.webmproject.org/releases/webp/ \
https://storage.googleapis.com/downloads.webmproject.org/releases/webp/
diff --git a/graphics/webp/distinfo b/graphics/webp/distinfo
index d7f76f9f7154..61d3285727d7 100644
--- a/graphics/webp/distinfo
+++ b/graphics/webp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1735227800
-SHA256 (libwebp-1.5.0.tar.gz) = 7d6fab70cf844bf6769077bd5d7a74893f8ffd4dfb42861745750c63c2a5c92c
-SIZE (libwebp-1.5.0.tar.gz) = 4267494
+TIMESTAMP = 1752266014
+SHA256 (libwebp-1.6.0.tar.gz) = e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564
+SIZE (libwebp-1.6.0.tar.gz) = 4296070
diff --git a/graphics/webp/pkg-plist b/graphics/webp/pkg-plist
index 8a11904328be..2f05b52eafdd 100644
--- a/graphics/webp/pkg-plist
+++ b/graphics/webp/pkg-plist
@@ -16,23 +16,23 @@ include/webp/types.h
lib/libsharpyuv.a
lib/libsharpyuv.so
lib/libsharpyuv.so.0
-lib/libsharpyuv.so.0.1.1
+lib/libsharpyuv.so.0.1.2
lib/libwebp.a
lib/libwebp.so
lib/libwebp.so.7
-lib/libwebp.so.7.1.10
+lib/libwebp.so.7.2.0
lib/libwebpdecoder.a
lib/libwebpdecoder.so
lib/libwebpdecoder.so.3
-lib/libwebpdecoder.so.3.1.10
+lib/libwebpdecoder.so.3.2.0
lib/libwebpdemux.a
lib/libwebpdemux.so
lib/libwebpdemux.so.2
-lib/libwebpdemux.so.2.0.16
+lib/libwebpdemux.so.2.0.17
lib/libwebpmux.a
lib/libwebpmux.so
lib/libwebpmux.so.3
-lib/libwebpmux.so.3.1.1
+lib/libwebpmux.so.3.1.2
libdata/pkgconfig/libsharpyuv.pc
libdata/pkgconfig/libwebp.pc
libdata/pkgconfig/libwebpdecoder.pc