git: 5a260ce95427 - main - graphics/aseprite: update 1.2.9 → 1.3.18.3

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 10 Sep 2026 20:06:34 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5a260ce954270f747c275676affe27190d4e8478

commit 5a260ce954270f747c275676affe27190d4e8478
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-09-10 04:33:00 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-09-10 19:58:21 +0000

    graphics/aseprite: update       1.2.9 → 1.3.18.3
---
 graphics/aseprite/Makefile                         | 105 ++++++++++++---------
 graphics/aseprite/distinfo                         |  88 +++++++++++------
 graphics/aseprite/files/patch-CMakeLists.txt       |  48 ++++++----
 .../aseprite/files/patch-cmake_FindJpegTurbo.cmake |  22 +++++
 .../aseprite/files/patch-laf_cmake_FindSkia.cmake  |  74 +++++++++++++++
 .../aseprite/files/patch-src_app_app__menus.cpp    |  29 ------
 graphics/aseprite/files/patch-src_app_app__menus.h |  11 ---
 graphics/aseprite/files/patch-src_config.h         |  11 ---
 .../files/patch-third__party_CMakeLists.txt        |  13 ---
 graphics/aseprite/pkg-plist                        |  52 ++++++++--
 10 files changed, 289 insertions(+), 164 deletions(-)

diff --git a/graphics/aseprite/Makefile b/graphics/aseprite/Makefile
index 5820370f0f92..366aae9d7718 100644
--- a/graphics/aseprite/Makefile
+++ b/graphics/aseprite/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=		aseprite
 DISTVERSIONPREFIX=	v
-DISTVERSION=		1.2.9
-PORTREVISION=	10
+DISTVERSION=		1.3.18.3
 CATEGORIES=		graphics
 
 MAINTAINER=		yuri@FreeBSD.org
@@ -16,70 +15,88 @@ LICENSE_PERMS=		dist-mirror auto-accept
 BROKEN_armv6=		fails to compile: undefined reference to __va_copy
 BROKEN_armv7=		fails to compile: undefined reference to __va_copy
 
-EXTRACT_DEPENDS=	${NONEXISTENT}:x11/pixman:extract
-LIB_DEPENDS=		liballeg.so:devel/allegro \
-			libcmark.so:textproc/cmark \
+BUILD_DEPENDS=		skia124>0:graphics/skia124
+LIB_DEPENDS=		libcmark.so:textproc/cmark \
 			libcurl.so:ftp/curl \
-			libexpat.so:textproc/expat2 \
+			libGL.so:graphics/libglvnd \
+			libfontconfig.so:x11-fonts/fontconfig \
 			libfreetype.so:print/freetype2 \
 			libgif.so:graphics/giflib \
 			libharfbuzz.so:print/harfbuzz \
-			libharfbuzz-icu.so:print/harfbuzz-icu \
-			liblz4.so:archivers/liblz4 \
-			libnettle.so:security/nettle \
-			libpng.so:graphics/png \
-			libtinyxml.so:textproc/tinyxml \
-			libzstd.so:archivers/zstd
+			libicuuc.so:devel/icu \
+			libpixman-1.so:x11/pixman \
+			libpng16.so:graphics/png \
+			libXi.so:x11/libXi \
+			libXrandr.so:x11/libXrandr
 
-USES=			cmake compiler:c++11-lib gnome iconv:wchar_t jpeg \
-			localbase:ldflags pkgconfig ssl xorg
+USES=			cmake compiler:c++17-lang gnome iconv:wchar_t jpeg \
+			localbase:ldflags ninja pkgconfig ssl xorg
+USE_GL=			gl
+USE_XORG+=		xrandr
 USE_GITHUB=		yes
-GH_TUPLE=		aseprite:libarchive:c51dbfc:libarchive/third_party/libarchive
-GH_TUPLE+=		aseprite:clip:964a64a:clip/src/clip
-GH_TUPLE+=		aseprite:flic:65a6072:flic/src/flic
-GH_TUPLE+=		aseprite:fmt:933a33a:fmt/third_party/fmt
-GH_TUPLE+=		aseprite:json11:ec4e452:json11/third_party/json11
-GH_TUPLE+=		aseprite:laf:60e6ad7:laf/laf
-GH_TUPLE+=		aseprite:mujs:34cb617:mujs/third_party/mujs
-GH_TUPLE+=		aseprite:observable:59c3862:observable/src/observable
-GH_TUPLE+=		aseprite:simpleini:0687587:simpleini/third_party/simpleini
-GH_TUPLE+=		aseprite:tinyexpr:ca50544:tinyexpr/third_party/tinyexpr
-GH_TUPLE+=		aseprite:stringencoders:e1448a9:stringencoders/laf/third_party/stringencoders
-GH_TUPLE+=		aseprite:undo:93fc81d:undo/src/undo
+GH_TUPLE=		aseprite:laf:1761fb8:laf/laf \
+			aseprite:clip:964847c:clip \
+			aseprite:googletest:155b337:googletest \
+			aseprite:flic:a37fe2d:flic/src/flic \
+			aseprite:observable:b21d07f:observable/src/observable \
+			aseprite:psd:87af728:psd/src/psd \
+			aseprite:tga:cd3420c:tga/src/tga \
+			aseprite:undo:2209ac5:undo/src/undo \
+			aseprite:IXWebSocket:89c9209:IXWebSocket/third_party/IXWebSocket \
+			aseprite:TinyEXIF:21d6cf7:TinyEXIF/third_party/TinyEXIF \
+			aseprite:benchmark:c58e6d0:benchmark/third_party/benchmark \
+			aseprite:cityhash:e2a9a15:cityhash/third_party/cityhash \
+			aseprite:cmark:9e2a654:cmark/third_party/cmark \
+			aseprite:curl:09cf6fd:curl/third_party/curl \
+			aseprite:fmt:f781d2b:fmt/third_party/fmt \
+			aseprite:freetype2:66a04dd:freetype2/third_party/freetype2 \
+			aseprite:giflib:94a7edb:giflib/third_party/giflib \
+			aseprite:harfbuzz:d14c2d1:harfbuzz/third_party/harfbuzz \
+			aseprite:json11:a4e1714:json11/third_party/json11 \
+			aseprite:libarchive:7bde8b8:libarchive/third_party/libarchive \
+			aseprite:libpng:34005e3:libpng/third_party/libpng \
+			aseprite:libwebp:9ce5843:libwebp/third_party/libwebp \
+			aseprite:lua:2a00e6b:lua/third_party/lua \
+			aseprite:pixman:285b9a9:pixman/third_party/pixman \
+			aseprite:qoi:c3dcfe7:qoi/third_party/qoi \
+			aseprite:simpleini:9fa7622:simpleini/third_party/simpleini \
+			aseprite:tinyexpr:24b9db0:tinyexpr/third_party/tinyexpr \
+			aseprite:tinyxml2:312a809:tinyxml2/third_party/tinyxml2 \
+			aseprite:zlib:51b7f2a:zlib/third_party/zlib
 USE_GNOME=		libxml2
-USE_XORG=		x11 xcb xcursor xext xpm ice pixman sm xxf86dga xxf86vm
+USE_XORG=		x11 xcb xcursor xext ice sm
 
-CMAKE_ON=		USE_SHARED_ALLEGRO4 \
-			USE_SHARED_CMARK \
+CMAKE_ON=		USE_SHARED_CMARK \
 			USE_SHARED_CURL \
 			USE_SHARED_FREETYPE \
 			USE_SHARED_GIFLIB \
 			USE_SHARED_HARFBUZZ \
-			USE_SHARED_JPEGLIB \
-			USE_SHARED_LIBLOADPNG \
 			USE_SHARED_LIBPNG \
 			USE_SHARED_PIXMAN \
-			USE_SHARED_TINYXML \
 			USE_SHARED_ZLIB
-CMAKE_ARGS=		-DFREEBSD_LIB_PATH=${LOCALBASE}/lib
+CMAKE_OFF=		UPDATE_VERSION_WITH_GIT \
+			ENABLE_UPDATER \
+			ENABLE_NEWS \
+			ENABLE_WEBP
+CMAKE_ARGS=		-DLAF_BACKEND=skia \
+			-DSKIA_DIR=${LOCALBASE}/include/aseprite-skia \
+			-DSKIA_LIBRARY_DIR=${LOCALBASE}/lib/aseprite-skia \
+			-DSKIA_LIBRARY=${LOCALBASE}/lib/aseprite-skia/libskia.a \
+			-DVERSION=${PORTVERSION}
 
-OPTIONS_DEFINE=		STEAM WEBP
-OPTIONS_DEFAULT=	WEBP
+OPTIONS_DEFINE=		STEAM
+OPTIONS_DEFAULT=
 
 STEAM_DESC=		Compile with Steam library
 STEAM_CMAKE_BOOL=	ENABLE_STEAM
 
-WEBP_CMAKE_BOOL=	WITH_WEBP_SUPPORT
-WEBP_LIB_DEPENDS=	libwebp.so:graphics/webp
+CONFLICTS_BUILD=	skia
 
 post-extract:
-	@${RM} -r ${WRKSRC}/src/allegro
-	@${MKDIR} ${WRKSRC}/third_party/pixman/pixman
-	@${CP} `${MAKE} -C ${PORTSDIR}/x11/pixman -V WRKSRC`/pixman/pixman-combine32.h \
-		${WRKSRC}/third_party/pixman/pixman/
-
-post-patch:
-	@${REINPLACE_CMD} -e 's|1.3-dev|${PORTVERSION}|' ${WRKSRC}/src/config.h ${WRKSRC}/data/gui.xml
+	@${RM} -rf ${WRKSRC}/laf/clip
+	@${LN} -sf ${WRKDIR}/clip-964847c ${WRKSRC}/laf/clip
+	@${RM} -rf ${WRKSRC}/laf/third_party/googletest
+	@${LN} -sf ${WRKDIR}/googletest-155b337 ${WRKSRC}/laf/third_party/googletest
 
 post-install:
 	@cd ${STAGEDIR}${PREFIX} && ${RM} -r bin/bsd* include lib libdata share/man # see https://github.com/aseprite/aseprite/issues/1602
diff --git a/graphics/aseprite/distinfo b/graphics/aseprite/distinfo
index 728a01d516c1..0ec5e13fe66c 100644
--- a/graphics/aseprite/distinfo
+++ b/graphics/aseprite/distinfo
@@ -1,27 +1,61 @@
-TIMESTAMP = 1532640403
-SHA256 (aseprite-aseprite-v1.2.9_GH0.tar.gz) = 1697edfd44feaf833bc9636af727a243b4512024dd612844fdb3fcbef3e2b437
-SIZE (aseprite-aseprite-v1.2.9_GH0.tar.gz) = 2671772
-SHA256 (aseprite-libarchive-c51dbfc_GH0.tar.gz) = 1d33dec5e314e317b91f9fb9eff72207ecbd2d0753bda50f443d5455e63ec20d
-SIZE (aseprite-libarchive-c51dbfc_GH0.tar.gz) = 4462927
-SHA256 (aseprite-clip-964a64a_GH0.tar.gz) = ae0c8c6980e5232eba4f46ffff0b775c6fb296d56edda44acd4fb76df03463db
-SIZE (aseprite-clip-964a64a_GH0.tar.gz) = 22711
-SHA256 (aseprite-flic-65a6072_GH0.tar.gz) = 659ccc01206e94b18246c0b1cb8dd0b6e27027c8adf774f69b1fd791549f2027
-SIZE (aseprite-flic-65a6072_GH0.tar.gz) = 6558
-SHA256 (aseprite-fmt-933a33a_GH0.tar.gz) = d0c2df36f6d760cf81885e60acfaa2e21ce84b765a827a4b45938f8133f5b550
-SIZE (aseprite-fmt-933a33a_GH0.tar.gz) = 619041
-SHA256 (aseprite-json11-ec4e452_GH0.tar.gz) = a107f817e0a7edd8b9d8a076d58ae34442fc45e4835d379dc03c66de23561d4f
-SIZE (aseprite-json11-ec4e452_GH0.tar.gz) = 13098
-SHA256 (aseprite-laf-60e6ad7_GH0.tar.gz) = 164e7e0155ce060b26150ed36eadbcd12f19f529d1b37c215bbcf5e6ba505bd2
-SIZE (aseprite-laf-60e6ad7_GH0.tar.gz) = 50756
-SHA256 (aseprite-mujs-34cb617_GH0.tar.gz) = d2b4fabafec7721e74534bdbf6bb6d9420aff2620ded1f0c30d83815aea5bf10
-SIZE (aseprite-mujs-34cb617_GH0.tar.gz) = 118297
-SHA256 (aseprite-observable-59c3862_GH0.tar.gz) = ff75e5882d561d0df34fac37e4cefa60a686f4d630d88bcda8b8b7764aa050a4
-SIZE (aseprite-observable-59c3862_GH0.tar.gz) = 10158
-SHA256 (aseprite-simpleini-0687587_GH0.tar.gz) = 136c942b13809f3bd3f1ff3bdcc160039217a7006d052e5f005f38a0bd80174b
-SIZE (aseprite-simpleini-0687587_GH0.tar.gz) = 54947
-SHA256 (aseprite-tinyexpr-ca50544_GH0.tar.gz) = 6f1f1d0d40e9075c8c658790d1f86a1d351ca2916fa58f1a352575854730c48a
-SIZE (aseprite-tinyexpr-ca50544_GH0.tar.gz) = 37102
-SHA256 (aseprite-stringencoders-e1448a9_GH0.tar.gz) = 7956c5527df58115ba249f0d057c14dad9cebbbf69dfc4981c269f98874a0213
-SIZE (aseprite-stringencoders-e1448a9_GH0.tar.gz) = 142431
-SHA256 (aseprite-undo-93fc81d_GH0.tar.gz) = d930c5a4649524b6fad7ad46e7a8ae47b8dff786f55dc8e5f2c6039b176e3afc
-SIZE (aseprite-undo-93fc81d_GH0.tar.gz) = 5405
+TIMESTAMP = 1788744680
+SHA256 (aseprite-aseprite-v1.3.18.3_GH0.tar.gz) = 59d60e1a1f0c87d5fc74cb4c13c52eb194c297673636be1da1734de01fb6bceb
+SIZE (aseprite-aseprite-v1.3.18.3_GH0.tar.gz) = 1893331
+SHA256 (aseprite-laf-1761fb8_GH0.tar.gz) = c133c89e2cf8bc62aa9db00fb09830618431766fbc1e1d8532a293397b91cee6
+SIZE (aseprite-laf-1761fb8_GH0.tar.gz) = 307290
+SHA256 (aseprite-clip-964847c_GH0.tar.gz) = 232c1d5700648165b584fa4259a841cbc79c536a3f5ad75462bac5fcf4a49e59
+SIZE (aseprite-clip-964847c_GH0.tar.gz) = 33427
+SHA256 (aseprite-googletest-155b337_GH0.tar.gz) = c14f5cbf6309ae2b038b20bd53a5d26530a3669d83ef5b3d30a0671d1b064eb8
+SIZE (aseprite-googletest-155b337_GH0.tar.gz) = 885364
+SHA256 (aseprite-flic-a37fe2d_GH0.tar.gz) = c7252d09d860ead5189b611770579fac443cddb9e12b681c8a15e4adf14a3d51
+SIZE (aseprite-flic-a37fe2d_GH0.tar.gz) = 8319
+SHA256 (aseprite-observable-b21d07f_GH0.tar.gz) = 77575904b5afe2fe9ea1664cc5e5a6e4724a8d7757cceaf19055193d6a72cc56
+SIZE (aseprite-observable-b21d07f_GH0.tar.gz) = 13414
+SHA256 (aseprite-psd-87af728_GH0.tar.gz) = 5c63478c6f8d34eae4c634bfdc103803485080bdaf5d4880cfa706fca4e48d9d
+SIZE (aseprite-psd-87af728_GH0.tar.gz) = 19447
+SHA256 (aseprite-tga-cd3420c_GH0.tar.gz) = c01f3bae71f589c363ea23259ae0e4c6ac4f50df73e2ddab4a9a5c1630045344
+SIZE (aseprite-tga-cd3420c_GH0.tar.gz) = 8544
+SHA256 (aseprite-undo-2209ac5_GH0.tar.gz) = dc42800b1206a99f9d890e1b23ea76d3251d4a411708fbacf3c29007806fce3d
+SIZE (aseprite-undo-2209ac5_GH0.tar.gz) = 5659
+SHA256 (aseprite-IXWebSocket-89c9209_GH0.tar.gz) = e7d2b6df5910e3802887993d03a5b481ac6c745f7cb20e1eda08aa0403a40486
+SIZE (aseprite-IXWebSocket-89c9209_GH0.tar.gz) = 637548
+SHA256 (aseprite-TinyEXIF-21d6cf7_GH0.tar.gz) = fbabafa4956927dc07ca60c85dd90ef337b0c1dc1df5b614ae64bb3e62ed22a0
+SIZE (aseprite-TinyEXIF-21d6cf7_GH0.tar.gz) = 7711639
+SHA256 (aseprite-benchmark-c58e6d0_GH0.tar.gz) = ea038ac2591a8c111e4bf5c132c70cdc2b6f5deede072f3c80e3af0ea7df85e4
+SIZE (aseprite-benchmark-c58e6d0_GH0.tar.gz) = 255167
+SHA256 (aseprite-cityhash-e2a9a15_GH0.tar.gz) = f2b1caca7b6d2a4fc7d8e1feb2201f8994d3d7ca8c14ee1da319353207bda2be
+SIZE (aseprite-cityhash-e2a9a15_GH0.tar.gz) = 379860
+SHA256 (aseprite-cmark-9e2a654_GH0.tar.gz) = 160bb943de3d9472bc3e4a0ed231f6bc7996013d220e05ce613d3b434a6b2287
+SIZE (aseprite-cmark-9e2a654_GH0.tar.gz) = 263340
+SHA256 (aseprite-curl-09cf6fd_GH0.tar.gz) = ce725f4d27a05b1ae6e63d143fdd3b1c9d761d9c2246ed3f45b6e3e37374d108
+SIZE (aseprite-curl-09cf6fd_GH0.tar.gz) = 2966636
+SHA256 (aseprite-fmt-f781d2b_GH0.tar.gz) = 275b736ba537d29d652c8af09699fc296231e33e3f97d4aa950b3040feab3f18
+SIZE (aseprite-fmt-f781d2b_GH0.tar.gz) = 711430
+SHA256 (aseprite-freetype2-66a04dd_GH0.tar.gz) = 499cd2ef31bb3904af8ae09568cdf1e444cc31dead1fe11d75e78a1f06e15f6e
+SIZE (aseprite-freetype2-66a04dd_GH0.tar.gz) = 2483444
+SHA256 (aseprite-giflib-94a7edb_GH0.tar.gz) = 8e79bfbd2478de65b3615d45d696bb1033c5f5b4dc5ccec2d27385824526ec0d
+SIZE (aseprite-giflib-94a7edb_GH0.tar.gz) = 411961
+SHA256 (aseprite-harfbuzz-d14c2d1_GH0.tar.gz) = d988a4c7148607c3849188855c62c21f0f4f4339bc5a7ef3ee343529d9824271
+SIZE (aseprite-harfbuzz-d14c2d1_GH0.tar.gz) = 35289426
+SHA256 (aseprite-json11-a4e1714_GH0.tar.gz) = 5a2ed7e40bec8f18cbbc08e40c415f636056323ce22d141871cf5fe52d638b27
+SIZE (aseprite-json11-a4e1714_GH0.tar.gz) = 13550
+SHA256 (aseprite-libarchive-7bde8b8_GH0.tar.gz) = 76756d37afe7404e23ffe3450dcd795ebaf518a1af6d1059a5b9159a96224193
+SIZE (aseprite-libarchive-7bde8b8_GH0.tar.gz) = 5469662
+SHA256 (aseprite-libpng-34005e3_GH0.tar.gz) = eeec1e17318cb97730dda62491aa4c3b3207d2db4937063c5e0b5e9b2eb6bad1
+SIZE (aseprite-libpng-34005e3_GH0.tar.gz) = 1573219
+SHA256 (aseprite-libwebp-9ce5843_GH0.tar.gz) = 309e76b9741625e207be3125c689b12d16bdf81f5c5e69ab283bc4db0c958c86
+SIZE (aseprite-libwebp-9ce5843_GH0.tar.gz) = 3644925
+SHA256 (aseprite-lua-2a00e6b_GH0.tar.gz) = a5d54d72efa7790ec61e023568d09a3f1f2e079e2fa767b3d416aaed818feb3f
+SIZE (aseprite-lua-2a00e6b_GH0.tar.gz) = 460771
+SHA256 (aseprite-pixman-285b9a9_GH0.tar.gz) = 726762eaf00b8e5869242a6e88e151022c402578a16fb74a7efc721c264fdb3b
+SIZE (aseprite-pixman-285b9a9_GH0.tar.gz) = 815206
+SHA256 (aseprite-qoi-c3dcfe7_GH0.tar.gz) = cba041a66280a51294d8e1b0bf6bddf9434ec5195d5eab94498ecf0f8077bc9a
+SIZE (aseprite-qoi-c3dcfe7_GH0.tar.gz) = 15318
+SHA256 (aseprite-simpleini-9fa7622_GH0.tar.gz) = 2af2a706c6e7bed7032fa67bd47ea53061793baed8e0f713fecbacf47a500b32
+SIZE (aseprite-simpleini-9fa7622_GH0.tar.gz) = 65186
+SHA256 (aseprite-tinyexpr-24b9db0_GH0.tar.gz) = af5562bb603376e46a3252525d329ce79bc25aee1f1ed26349563d8f077bfbfa
+SIZE (aseprite-tinyexpr-24b9db0_GH0.tar.gz) = 38174
+SHA256 (aseprite-tinyxml2-312a809_GH0.tar.gz) = c2178d2ce036d677894292243d614eb11695b11f4835622b10c8d00e609e7a0f
+SIZE (aseprite-tinyxml2-312a809_GH0.tar.gz) = 642408
+SHA256 (aseprite-zlib-51b7f2a_GH0.tar.gz) = 122c369f1cee74e8b71f41948100f3b1788c71e70ddff4331817e79b76c756c1
+SIZE (aseprite-zlib-51b7f2a_GH0.tar.gz) = 1572774
diff --git a/graphics/aseprite/files/patch-CMakeLists.txt b/graphics/aseprite/files/patch-CMakeLists.txt
index 980a25aabf08..ec346894c3be 100644
--- a/graphics/aseprite/files/patch-CMakeLists.txt
+++ b/graphics/aseprite/files/patch-CMakeLists.txt
@@ -1,21 +1,29 @@
---- CMakeLists.txt.orig	2018-07-24 19:18:54 UTC
+-- Fall back to system webp when skia was built with skia_use_system_libwebp=true.
+-- This handles the case where the installed aseprite-skia port uses system libraries.
+
+--- CMakeLists.txt.orig	2026-08-25 10:20:49 UTC
 +++ CMakeLists.txt
-@@ -238,8 +238,8 @@ add_definitions(-DPNG_NO_MMX_CODE) # Do 
- # libwebp
- if(WITH_WEBP_SUPPORT)
-   set(WEBP_LIBRARIES webp webpdemux webpmux)
--  set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
--  include_directories(${WEBP_INCLUDE_DIR})
-+  #set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
-+  #include_directories(${WEBP_INCLUDE_DIR})
- endif()
- 
- # tinyxml
-@@ -391,6 +391,7 @@ if(UNIX AND NOT APPLE AND NOT BEOS)
-   find_package(X11 REQUIRED)
-   include_directories(SYSTEM ${X11_INCLUDE_DIR})
-   list(APPEND PLATFORM_LIBS ${X11_LIBRARIES})
-+  set(X11_LIB_SEARCH_PATH ${FREEBSD_LIB_PATH})
- 
-   if(X11_XShm_FOUND)
-     list(APPEND PLATFORM_LIBS ${X11_Xext_LIB})
+@@ -375,11 +375,21 @@ if(ENABLE_WEBP)
+     find_library(WEBP_LIBRARIES webp
+       NAMES libwebp # required for Windows
+       PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
+-    set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
+     if(WEBP_LIBRARIES)
++      find_library(WEBPDEMUX_LIBRARY webpdemux)
++      find_library(WEBPMUX_LIBRARY webpmux)
++      set(WEBP_LIBRARIES ${WEBP_LIBRARIES} ${WEBPDEMUX_LIBRARY} ${WEBPMUX_LIBRARY})
++      set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
+       set(WEBP_FOUND ON)
+     else()
+-      set(WEBP_FOUND OFF)
++      # Fall back to system webp (when skia was built with skia_use_system_libwebp=true)
++      find_library(WEBP_LIBRARIES NAMES webp)
++      find_path(WEBP_INCLUDE_DIR NAMES webp/decode.h)
++      if(WEBP_LIBRARIES)
++        set(WEBP_FOUND ON)
++      else()
++        set(WEBP_FOUND OFF)
++      endif()
+     endif()
+   else()
+     set(WEBP_FOUND ON)
diff --git a/graphics/aseprite/files/patch-cmake_FindJpegTurbo.cmake b/graphics/aseprite/files/patch-cmake_FindJpegTurbo.cmake
new file mode 100644
index 000000000000..6ff13f9a05d7
--- /dev/null
+++ b/graphics/aseprite/files/patch-cmake_FindJpegTurbo.cmake
@@ -0,0 +1,22 @@
+-- Fall back to system libjpeg when skia was built with skia_use_system_libjpeg_turbo=true.
+-- The FreeBSD aseprite-skia port uses system libraries.
+
+--- cmake/FindJpegTurbo.cmake.orig	2026-08-25 10:20:49 UTC
++++ cmake/FindJpegTurbo.cmake
+@@ -11,7 +11,15 @@ if(LAF_BACKEND STREQUAL "skia")
+ 
+   find_library(LIBJPEG_TURBO_LIBRARY NAMES libjpeg jpeg
+     HINTS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
+-  set(LIBJPEG_TURBO_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/libjpeg-turbo")
++
++  if(LIBJPEG_TURBO_LIBRARY)
++    set(LIBJPEG_TURBO_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/libjpeg-turbo")
++  else()
++    # Fall back to system libjpeg when skia was built with skia_use_system_libjpeg_turbo=true
++    find_library(LIBJPEG_TURBO_LIBRARY NAMES jpeg)
++    find_path(LIBJPEG_TURBO_INCLUDE_DIR NAMES jpeglib.h)
++    set(LIBJPEG_TURBO_INCLUDE_DIRS ${LIBJPEG_TURBO_INCLUDE_DIR})
++  endif()
+ 
+   add_library(libjpeg-turbo STATIC IMPORTED)
+   set_target_properties(libjpeg-turbo PROPERTIES
diff --git a/graphics/aseprite/files/patch-laf_cmake_FindSkia.cmake b/graphics/aseprite/files/patch-laf_cmake_FindSkia.cmake
new file mode 100644
index 000000000000..7d1fdfb34372
--- /dev/null
+++ b/graphics/aseprite/files/patch-laf_cmake_FindSkia.cmake
@@ -0,0 +1,74 @@
+-- Fall back to system harfbuzz when skia was built with skia_use_system_harfbuzz=true.
+-- Make icudtl.dat copy conditional on the file existing; when skia uses system ICU,
+-- the dat file is not present and not needed.
+
+--- laf/cmake/FindSkia.cmake.orig	2026-08-20 17:52:30 UTC
++++ laf/cmake/FindSkia.cmake
+@@ -175,11 +175,24 @@ set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
+ set(FREETYPE_FOUND ON)
+ find_library(FREETYPE_LIBRARY freetype2 PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
+ set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
+-set(FREETYPE_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/freetype/include")
++find_path(FREETYPE_INCLUDE_DIR NAMES ft2build.h PATH_SUFFIXES freetype2)
++if(FREETYPE_INCLUDE_DIR)
++  set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR})
++else()
++  set(FREETYPE_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/freetype/include")
++endif()
+ 
+ find_library(HARFBUZZ_LIBRARY harfbuzz PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
+-set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY})
+-set(HARFBUZZ_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/harfbuzz/src")
++if(HARFBUZZ_LIBRARY)
++  set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY})
++  set(HARFBUZZ_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/harfbuzz/src")
++elseif(NOT HARFBUZZ_LIBRARIES)
++  # Fall back to system harfbuzz (when skia was built with skia_use_system_harfbuzz=true)
++  find_library(HARFBUZZ_LIBRARY harfbuzz)
++  find_path(HARFBUZZ_INCLUDE_DIR NAMES hb.h PATH_SUFFIXES harfbuzz)
++  set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY})
++  set(HARFBUZZ_INCLUDE_DIRS ${HARFBUZZ_INCLUDE_DIR})
++endif()
+ 
+ set(SKIA_LIBRARIES
+   ${SKIA_LIBRARY}
+@@ -193,6 +206,7 @@ target_link_libraries(skia INTERFACE ${SKIA_LIBRARIES}
+   ${HARFBUZZ_INCLUDE_DIRS}
+   ${PNG_INCLUDE_DIRS})
+ target_link_libraries(skia INTERFACE ${SKIA_LIBRARIES})
++target_link_libraries(skia INTERFACE libjpeg-turbo)
+ target_compile_definitions(skia INTERFACE
+   SK_INTERNAL
+   SK_GAMMA_SRGB
+@@ -242,7 +256,9 @@ add_library(skunicode INTERFACE)
+ endif()
+ 
+ add_library(skunicode INTERFACE)
++find_library(ICUUC_LIBRARY icuuc)
+ target_link_libraries(skunicode INTERFACE ${SKUNICODE_LIBRARY})
++target_link_libraries(skunicode INTERFACE ${ICUUC_LIBRARY})
+ target_compile_definitions(skunicode INTERFACE
+   SK_UNICODE_AVAILABLE)
+ 
+@@ -260,11 +276,13 @@ set(SKIA_ICUDATA_FILE_OUTPUT ${SKIA_ICUDATA_OUTPUT_DIR
+ 
+ set(SKIA_ICUDATA_FILE ${SKIA_DIR}/third_party/externals/icu/flutter/icudtl.dat)
+ set(SKIA_ICUDATA_FILE_OUTPUT ${SKIA_ICUDATA_OUTPUT_DIR}/icudtl.dat)
+-add_custom_command(
+-  OUTPUT ${SKIA_ICUDATA_FILE_OUTPUT}
+-  COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SKIA_ICUDATA_FILE} ${SKIA_ICUDATA_FILE_OUTPUT}
+-  MAIN_DEPENDENCY ${SKIA_ICUDATA_FILE}
+-  DEPENDS ${GEN_DEP})
+-add_custom_target(skia_copy_icudata
+-  DEPENDS ${SKIA_ICUDATA_FILE_OUTPUT})
+-add_dependencies(skunicode skia_copy_icudata)
++if(EXISTS ${SKIA_ICUDATA_FILE})
++  add_custom_command(
++    OUTPUT ${SKIA_ICUDATA_FILE_OUTPUT}
++    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SKIA_ICUDATA_FILE} ${SKIA_ICUDATA_FILE_OUTPUT}
++    MAIN_DEPENDENCY ${SKIA_ICUDATA_FILE}
++    DEPENDS ${GEN_DEP})
++  add_custom_target(skia_copy_icudata
++    DEPENDS ${SKIA_ICUDATA_FILE_OUTPUT})
++  add_dependencies(skunicode skia_copy_icudata)
++endif()
diff --git a/graphics/aseprite/files/patch-src_app_app__menus.cpp b/graphics/aseprite/files/patch-src_app_app__menus.cpp
deleted file mode 100644
index 4400f21d9157..000000000000
--- a/graphics/aseprite/files/patch-src_app_app__menus.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
---- src/app/app_menus.cpp.orig	2018-07-24 19:18:54 UTC
-+++ src/app/app_menus.cpp
-@@ -381,7 +381,7 @@ void AppMenus::initTheme()
-       menu->initTheme();
- }
- 
--bool AppMenus::rebuildRecentList()
-+void AppMenus::rebuildRecentList() // workaround for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213773
- {
-   AppMenuItem* list_menuitem = dynamic_cast<AppMenuItem*>(m_recentListMenuitem);
-   MenuItem* menuitem;
-@@ -389,7 +389,7 @@ bool AppMenus::rebuildRecentList()
-   // Update the recent file list menu item
-   if (list_menuitem) {
-     if (list_menuitem->hasSubmenuOpened())
--      return false;
-+      return;
- 
-     Command* cmd_open_file =
-       Commands::instance()->byId(CommandId::OpenFile());
-@@ -437,8 +437,6 @@ bool AppMenus::rebuildRecentList()
-       }
-     }
-   }
--
--  return true;
- }
- 
- Menu* AppMenus::loadMenuById(TiXmlHandle& handle, const char* id)
diff --git a/graphics/aseprite/files/patch-src_app_app__menus.h b/graphics/aseprite/files/patch-src_app_app__menus.h
deleted file mode 100644
index ff91fe168c5a..000000000000
--- a/graphics/aseprite/files/patch-src_app_app__menus.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/app/app_menus.h.orig	2017-11-03 13:51:45 UTC
-+++ src/app/app_menus.h
-@@ -45,7 +45,7 @@ namespace app {
-     void initTheme();
- 
-     // Updates the menu of recent files.
--    bool rebuildRecentList();
-+    void rebuildRecentList(); // workaround for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213773
- 
-     Menu* getRootMenu() { return m_rootMenu; }
-     MenuItem* getRecentListMenuitem() { return m_recentListMenuitem; }
diff --git a/graphics/aseprite/files/patch-src_config.h b/graphics/aseprite/files/patch-src_config.h
deleted file mode 100644
index 2aecc0ea9043..000000000000
--- a/graphics/aseprite/files/patch-src_config.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/config.h.orig	2017-11-05 17:55:31 UTC
-+++ src/config.h
-@@ -27,7 +27,7 @@
- 
- // General information
- #define PACKAGE "Aseprite"
--#define VERSION "1.3-dev"
-+#define VERSION "1.2.4"
- 
- #ifdef CUSTOM_WEBSITE_URL
- #define WEBSITE                 CUSTOM_WEBSITE_URL // To test web server
diff --git a/graphics/aseprite/files/patch-third__party_CMakeLists.txt b/graphics/aseprite/files/patch-third__party_CMakeLists.txt
deleted file mode 100644
index bb3cda260931..000000000000
--- a/graphics/aseprite/files/patch-third__party_CMakeLists.txt
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/CMakeLists.txt.orig	2018-07-26 21:59:46 UTC
-+++ third_party/CMakeLists.txt
-@@ -34,8 +34,8 @@ endif()
- 
- if(WITH_WEBP_SUPPORT)
-   # Enable img2webp so "webpmux" library is built
--  set(WEBP_BUILD_IMG2WEBP ON CACHE BOOL "Build the img2webp animation tool.")
--  add_subdirectory(libwebp)
-+  #set(WEBP_BUILD_IMG2WEBP ON CACHE BOOL "Build the img2webp animation tool.")
-+  #add_subdirectory(libwebp)
- endif()
- 
- if(NOT USE_SHARED_TINYXML)
diff --git a/graphics/aseprite/pkg-plist b/graphics/aseprite/pkg-plist
index c057ddc8bc9c..6a8e1a7e61b2 100644
--- a/graphics/aseprite/pkg-plist
+++ b/graphics/aseprite/pkg-plist
@@ -2,6 +2,7 @@ bin/aseprite
 %%DATADIR%%/data/convmatr.def
 %%DATADIR%%/data/extensions/adigunpolack-palettes/aap-64.gpl
 %%DATADIR%%/data/extensions/adigunpolack-palettes/aap-micro12.gpl
+%%DATADIR%%/data/extensions/adigunpolack-palettes/aap-radiantxv.gpl
 %%DATADIR%%/data/extensions/adigunpolack-palettes/aap-splendor128.gpl
 %%DATADIR%%/data/extensions/adigunpolack-palettes/package.json
 %%DATADIR%%/data/extensions/adigunpolack-palettes/simplejpc-16.gpl
@@ -16,6 +17,9 @@ bin/aseprite
 %%DATADIR%%/data/extensions/arne-palettes/package.json
 %%DATADIR%%/data/extensions/arne-palettes/psygnosia.gpl
 %%DATADIR%%/data/extensions/aseprite-theme/LICENSE.txt
+%%DATADIR%%/data/extensions/aseprite-theme/dark/sheet.aseprite-data
+%%DATADIR%%/data/extensions/aseprite-theme/dark/sheet.png
+%%DATADIR%%/data/extensions/aseprite-theme/dark/theme.xml
 %%DATADIR%%/data/extensions/aseprite-theme/package.json
 %%DATADIR%%/data/extensions/aseprite-theme/sheet.aseprite-data
 %%DATADIR%%/data/extensions/aseprite-theme/sheet.png
@@ -36,6 +40,7 @@ bin/aseprite
 %%DATADIR%%/data/extensions/endesga-palettes/edg8.gpl
 %%DATADIR%%/data/extensions/endesga-palettes/en4.gpl
 %%DATADIR%%/data/extensions/endesga-palettes/enos16.gpl
+%%DATADIR%%/data/extensions/endesga-palettes/hept32.gpl
 %%DATADIR%%/data/extensions/endesga-palettes/package.json
 %%DATADIR%%/data/extensions/hardware-palettes/apple-ii.gpl
 %%DATADIR%%/data/extensions/hardware-palettes/atari2600-ntsc.gpl
@@ -54,6 +59,8 @@ bin/aseprite
 %%DATADIR%%/data/extensions/hardware-palettes/gameboy-color-type1.gpl
 %%DATADIR%%/data/extensions/hardware-palettes/gameboy.gpl
 %%DATADIR%%/data/extensions/hardware-palettes/master-system.gpl
+%%DATADIR%%/data/extensions/hardware-palettes/msx1.gpl
+%%DATADIR%%/data/extensions/hardware-palettes/msx2.gpl
 %%DATADIR%%/data/extensions/hardware-palettes/nes-ntsc.gpl
 %%DATADIR%%/data/extensions/hardware-palettes/nes.gpl
 %%DATADIR%%/data/extensions/hardware-palettes/package.json
@@ -67,9 +74,11 @@ bin/aseprite
 %%DATADIR%%/data/extensions/javierguerrero-palettes/package.json
 %%DATADIR%%/data/extensions/pico8-palette/package.json
 %%DATADIR%%/data/extensions/pico8-palette/pico-8.gpl
+%%DATADIR%%/data/extensions/pinetreepizza-palettes/bubblegum-16.gpl
 %%DATADIR%%/data/extensions/pinetreepizza-palettes/package.json
 %%DATADIR%%/data/extensions/pinetreepizza-palettes/rosy-42.gpl
 %%DATADIR%%/data/extensions/software-palettes/google-ui.gpl
+%%DATADIR%%/data/extensions/software-palettes/minecraft.gpl
 %%DATADIR%%/data/extensions/software-palettes/monokai.gpl
 %%DATADIR%%/data/extensions/software-palettes/package.json
 %%DATADIR%%/data/extensions/software-palettes/smile-basic.gpl
@@ -77,16 +86,20 @@ bin/aseprite
 %%DATADIR%%/data/extensions/software-palettes/web-safe-colors.gpl
 %%DATADIR%%/data/extensions/software-palettes/win16.gpl
 %%DATADIR%%/data/extensions/software-palettes/x11.gpl
+%%DATADIR%%/data/extensions/zughy-palettes/package.json
+%%DATADIR%%/data/extensions/zughy-palettes/zughy-32.gpl
 %%DATADIR%%/data/fonts/LICENSE.txt
 %%DATADIR%%/data/fonts/aseprite_font.png
 %%DATADIR%%/data/fonts/aseprite_mini.png
 %%DATADIR%%/data/fonts/fonts.xml
 %%DATADIR%%/data/gui.xml
-%%DATADIR%%/data/gui.xml.bak
 %%DATADIR%%/data/icons/ase.ico
 %%DATADIR%%/data/icons/ase128.png
 %%DATADIR%%/data/icons/ase16.png
+%%DATADIR%%/data/icons/ase20.png
+%%DATADIR%%/data/icons/ase24.png
 %%DATADIR%%/data/icons/ase256.png
+%%DATADIR%%/data/icons/ase28.png
 %%DATADIR%%/data/icons/ase32.png
 %%DATADIR%%/data/icons/ase48.png
 %%DATADIR%%/data/icons/ase64.png
@@ -97,56 +110,77 @@ bin/aseprite
 %%DATADIR%%/data/icons/doc32.png
 %%DATADIR%%/data/icons/doc48.png
 %%DATADIR%%/data/icons/doc64.png
+%%DATADIR%%/data/icons/ext.ico
+%%DATADIR%%/data/icons/ext128.png
+%%DATADIR%%/data/icons/ext16.png
+%%DATADIR%%/data/icons/ext256.png
+%%DATADIR%%/data/icons/ext32.png
+%%DATADIR%%/data/icons/ext48.png
+%%DATADIR%%/data/icons/ext64.png
+%%DATADIR%%/data/icons/hd/asehd-blush.png
+%%DATADIR%%/data/icons/hd/asehd.png
 %%DATADIR%%/data/palettes/tags.gpl
 %%DATADIR%%/data/pref.xml
-%%DATADIR%%/data/scripts/white_to_alpha.js
+%%DATADIR%%/data/strings/README.md
 %%DATADIR%%/data/strings/en.ini
 %%DATADIR%%/data/widgets/about.xml
 %%DATADIR%%/data/widgets/advanced_mode.xml
+%%DATADIR%%/data/widgets/aseprite_update.xml
+%%DATADIR%%/data/widgets/ask_for_color_profile.xml
 %%DATADIR%%/data/widgets/brush_slot_params.xml
 %%DATADIR%%/data/widgets/canvas_size.xml
 %%DATADIR%%/data/widgets/cel_properties.xml
 %%DATADIR%%/data/widgets/color_curve_point.xml
 %%DATADIR%%/data/widgets/color_mode.xml
 %%DATADIR%%/data/widgets/convolution_matrix.xml
+%%DATADIR%%/data/widgets/css_options.xml
+%%DATADIR%%/data/widgets/debugger.xml
 %%DATADIR%%/data/widgets/despeckle.xml
 %%DATADIR%%/data/widgets/duplicate_sprite.xml
+%%DATADIR%%/data/widgets/dynamics.xml
+%%DATADIR%%/data/widgets/enter_license.xml
 %%DATADIR%%/data/widgets/export_file.xml
 %%DATADIR%%/data/widgets/export_sprite_sheet.xml
 %%DATADIR%%/data/widgets/file_selector.xml
 %%DATADIR%%/data/widgets/font_popup.xml
+%%DATADIR%%/data/widgets/font_style.xml
 %%DATADIR%%/data/widgets/frame_properties.xml
-%%DATADIR%%/data/widgets/frame_tag_properties.xml
 %%DATADIR%%/data/widgets/gif_options.xml
 %%DATADIR%%/data/widgets/goto_frame.xml
 %%DATADIR%%/data/widgets/grid_settings.xml
 %%DATADIR%%/data/widgets/home_view.xml
 %%DATADIR%%/data/widgets/import_sprite_sheet.xml
+%%DATADIR%%/data/widgets/incompat_file.xml
 %%DATADIR%%/data/widgets/jpeg_options.xml
 %%DATADIR%%/data/widgets/keyboard_shortcuts.xml
 %%DATADIR%%/data/widgets/layer_properties.xml
-%%DATADIR%%/data/widgets/main_window.xml
 %%DATADIR%%/data/widgets/modify_selection.xml
 %%DATADIR%%/data/widgets/new_folder_window.xml
 %%DATADIR%%/data/widgets/new_layer.xml
+%%DATADIR%%/data/widgets/new_layout.xml
 %%DATADIR%%/data/widgets/new_sprite.xml
 %%DATADIR%%/data/widgets/open_sequence.xml
 %%DATADIR%%/data/widgets/options.xml
+%%DATADIR%%/data/widgets/outline.xml
 %%DATADIR%%/data/widgets/palette_from_sprite.xml
 %%DATADIR%%/data/widgets/palette_popup.xml
 %%DATADIR%%/data/widgets/palette_size.xml
 %%DATADIR%%/data/widgets/paste_text.xml
 %%DATADIR%%/data/widgets/replace_color.xml
-%%DATADIR%%/data/widgets/select_accelerator.xml
+%%DATADIR%%/data/widgets/run_command.xml
+%%DATADIR%%/data/widgets/script_access.xml
+%%DATADIR%%/data/widgets/select_shortcut.xml
 %%DATADIR%%/data/widgets/send_crash.xml
 %%DATADIR%%/data/widgets/slice_properties.xml
 %%DATADIR%%/data/widgets/sprite_properties.xml
 %%DATADIR%%/data/widgets/sprite_size.xml
+%%DATADIR%%/data/widgets/svg_options.xml
+%%DATADIR%%/data/widgets/tag_properties.xml
+%%DATADIR%%/data/widgets/tga_options.xml
+%%DATADIR%%/data/widgets/tileset_selector.xml
+%%DATADIR%%/data/widgets/tileset_selector_window.xml
 %%DATADIR%%/data/widgets/timeline_conf.xml
 %%DATADIR%%/data/widgets/undo_history.xml
 %%DATADIR%%/data/widgets/user_data.xml
 %%DATADIR%%/data/widgets/webp_options.xml
-%%DATADIR%%/data/%%WWWDIR%%.css
-%%DATADIR%%/data/%%WWWDIR%%.js
-%%DATADIR%%/data/%%WWWDIR%%.png
-%%DATADIR%%/data/www/index.html
+%%DATADIR%%/data/widgets/zoo.xml