git: 5a260ce95427 - main - graphics/aseprite: update 1.2.9 → 1.3.18.3
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