git: 1f3a06bf4e1b - main - emulators/tic-80: bump msf-gif bundled dependency to v2.4

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Fri, 16 Jan 2026 13:27:42 UTC
The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1f3a06bf4e1b4148db1e7df11ad1ab90e4ee6286

commit 1f3a06bf4e1b4148db1e7df11ad1ab90e4ee6286
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2026-01-15 17:49:51 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2026-01-16 13:26:15 +0000

    emulators/tic-80: bump msf-gif bundled dependency to v2.4
    
    Upstream has nuked the repository, removing the v2.2 version of the
    package.  Switch to v2.4 in the new repository to fix fetching.
    
    See also:       https://github.com/notnullnotvoid/msf_gif/issues/14
    MFH:            2026Q1
---
 emulators/tic-80/Makefile                               |  4 ++--
 emulators/tic-80/distinfo                               |  6 +++---
 emulators/tic-80/files/patch-vendor_msf__gif_msf__gif.h | 11 +++++++++++
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/emulators/tic-80/Makefile b/emulators/tic-80/Makefile
index b5d6b2193983..4e7dc739a033 100644
--- a/emulators/tic-80/Makefile
+++ b/emulators/tic-80/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	TIC-80
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.1.2837
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	emulators games
 
 MAINTAINER=	fuz@FreeBSD.org
@@ -38,7 +38,7 @@ GH_TUPLE=	nesbox:blip-buf:330226d9b55ecbeea644e17b5e0f096a165ca07e:blip_buf/vend
 		wasm3:wasm3:a3abb3f2d320994be59dfbe2cdafa8d0b6a8253e:wasm3/vendor/wasm3 \
 		blueloveTH:pocketpy:7312afdad24bb308037088d34b32ed0078fed7d2:pocketpy/vendor/pocketpy \
 		erkkah:naett:v0.3.1:naett/vendor/naett \
-		notnullnotvoid:msf_gif:v2.2:msfgif/vendor/msf_gif
+		notnullnotvoid:msf_gif:v2.4:msfgif/vendor/msf_gif
 USE_GL=		gl glu glut
 USE_SDL=	sdl2
 
diff --git a/emulators/tic-80/distinfo b/emulators/tic-80/distinfo
index 148bd71781c4..ac1285f0fe25 100644
--- a/emulators/tic-80/distinfo
+++ b/emulators/tic-80/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1698094418
+TIMESTAMP = 1768499227
 SHA256 (nesbox-TIC-80-v1.1.2837_GH0.tar.gz) = a004bbc7b316a4b60d461ac4612fca4ab07e96ed1d1445086e70d1fc4d95961b
 SIZE (nesbox-TIC-80-v1.1.2837_GH0.tar.gz) = 1810478
 SHA256 (nesbox-blip-buf-330226d9b55ecbeea644e17b5e0f096a165ca07e_GH0.tar.gz) = e86870ecb4b7c3feac6afbf5ddd0aff809e14b2d16d9bde251b712fd4ecd6d99
@@ -19,5 +19,5 @@ SHA256 (blueloveTH-pocketpy-7312afdad24bb308037088d34b32ed0078fed7d2_GH0.tar.gz)
 SIZE (blueloveTH-pocketpy-7312afdad24bb308037088d34b32ed0078fed7d2_GH0.tar.gz) = 899645
 SHA256 (erkkah-naett-v0.3.1_GH0.tar.gz) = 572ceeb0a6cb86e809bb2c7e971b2a4d257b69f981507c4deaf65aadf22ff15b
 SIZE (erkkah-naett-v0.3.1_GH0.tar.gz) = 87948
-SHA256 (notnullnotvoid-msf_gif-v2.2_GH0.tar.gz) = 96863cb0bf798af745e29cd258f1d004cdfcc47ef9991c04b4005e30b89f5ed4
-SIZE (notnullnotvoid-msf_gif-v2.2_GH0.tar.gz) = 362849165
+SHA256 (notnullnotvoid-msf_gif-v2.4_GH0.tar.gz) = 6b7b18ff7b06a3d6e110da2a5e03a4838a1171d9d52fa10192cd2ef537b2845b
+SIZE (notnullnotvoid-msf_gif-v2.4_GH0.tar.gz) = 9751647
diff --git a/emulators/tic-80/files/patch-vendor_msf__gif_msf__gif.h b/emulators/tic-80/files/patch-vendor_msf__gif_msf__gif.h
new file mode 100644
index 000000000000..e1058aaf2106
--- /dev/null
+++ b/emulators/tic-80/files/patch-vendor_msf__gif_msf__gif.h
@@ -0,0 +1,11 @@
+--- vendor/msf_gif/msf_gif.h.orig	2026-01-15 17:48:46 UTC
++++ vendor/msf_gif/msf_gif.h
+@@ -560,7 +560,7 @@ int msf_gif_begin(MsfGifState * handle, int width, int
+ int msf_gif_begin(MsfGifState * handle, int width, int height) { MsfTimeFunc
+     //To help avoid potential overflow errors, let's just not even try to support images larger than 1GB in size.
+     //And let's also reject images with width or height more or less than what the gif format itself supports.
+-    const int MAX_PIXELS = 268'435'456; //2^30 / 4 = 1GB / bytesPerPixel
++    const int MAX_PIXELS = 268435456; //2^30 / 4 = 1GB / bytesPerPixel
+     if (width < 1 || height < 1 || width > 65535 || height > 65535 || width >= MAX_PIXELS / height) {
+         handle->listHead = NULL; //this implicitly marks the handle as invalid until the next msf_gif_begin() call
+         return 0;