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,78 +1,78 @@ PORTNAME= TIC-80 DISTVERSIONPREFIX= v DISTVERSION= 1.1.2837 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= emulators games MAINTAINER= fuz@FreeBSD.org COMMENT= Fantasy game console WWW= https://tic80.com LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libasound.so:audio/alsa-lib \ libcurl.so:ftp/curl \ libdbus-1.so:devel/dbus \ libgif.so:graphics/giflib \ libinotify.so:devel/libinotify \ libjanet.so:lang/janet \ libpng16.so:graphics/png \ libquickjs.so:lang/quickjs \ libs7.so:lang/s7 \ libsquirrel.so:lang/squirrel \ libunwind.so:devel/libunwind # for moonscript RUN_DEPENDS= ${LUA_REFMODLIBDIR}/lpeg.so:devel/lua-lpeg@${LUA_FLAVOR} USES= cmake desktop-file-utils gl localbase:ldflags lua:53 pkgconfig sdl USE_GITHUB= yes GH_ACCOUNT= nesbox GH_TUPLE= nesbox:blip-buf:330226d9b55ecbeea644e17b5e0f096a165ca07e:blip_buf/vendor/blip-buf \ tronkko:dirent:c885633e126a3a949ec0497273ec13e2c03e862c:dirent/vendor/dirent \ wren-lang:wren:4a18fc489f9ea3d253b20dd40f4cdad0d6bb40eb:wren/vendor/wren \ kuba--:zip:d7df626f3aa457e01669f65e61bf8f484e352941:zip/vendor/zip \ nesbox:moonscript:17179283012b392bff972ad66231d73bfeec6e90:moonscript/vendor/moonscript \ cofyc:argparse:0d5f5d0745df14a3f373f7eed85bf524714f4524:argparse/vendor/argparse \ 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 CFLAGS+= -I${LOCALBASE}/include/quickjs -pthread LDFLAGS+= -L${LOCALBASE}/lib/quickjs LDLIBS+= -lpthread # unbundled succesfully # albertodemichelis:squirrel:9dcf74f99097898dd5a111c4a55b89d1c4d606c0:squirrel/vendor/squirrel # lua:lua:75ea9ccbea7c4886f30da147fb67b693b2624c26:lua/vendor/lua # madler:zlib:cacf7f1d4e3d44d871b605da3b647f07d718623f:zlib/vendor/zlib # nesbox:giflib:1aa11b06d0025eda77b56aec8254130654d4397b:giflib/vendor/giflib # libuv:libuv:9c3d692b3941a2a4171629fb52af2e1029c415e8:libuv/vendor/libuv # nodejs:http-parser:ec8b5ee63f0e51191ea43bb0c6eac7bfbff3141d:http_parser/vendor/http-parser # glennrp:libpng:dbe3e0c43e549a1602286144d94b0666549b18e6:libpng/vendor/libpng # libsdl-org:SDL:b424665e0899769b200231ba943353a5fee1b6b6:sdl2/vendor/sdl2 # grimfang4:sdl-gpu:e3d350b325a0e0d0b3007f69ede62313df46c6ef:sdl_gpu/vendor/sdl-gpu # nesbox:lpeg:73d8614a8dea404cf7bfe25a6e4cea7183dc9fb7:lpeg/vendor/lpeg # janet-lang:janet:v1.29.1:janet/vendor/janet # not actually needed # floooh:sokol:487822d82ca79dba7b67718d962e1ba6beef01b2:sokol/vendor/sokol # mruby:mruby:0f45836b5954accf508f333f932741b925214471:mruby/vendor/mruby # the demo carts are built, but don't seem to end up being installed # mruby: to be decided later; not essential CMAKE_OFF= BUILD_DEMO_CARTS BUILD_WITH_MRUBY BUILD_LIBRETRO OPTIONS_DEFINE= PRO SDLGPU OPTIONS_DEFAULT= SDLGPU PRO_DESC= Build PRO Version SDLGPU_DESC= Support sdl-gpu through graphics/sdl2_gpu PRO_CMAKE_BOOL= BUILD_PRO SDLGPU_LIB_DEPENDS= libSDL2_gpu.so:graphics/sdl2_gpu SDLGPU_CMAKE_BOOL= BUILD_SDLGPU .include 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,23 +1,23 @@ -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 SIZE (nesbox-blip-buf-330226d9b55ecbeea644e17b5e0f096a165ca07e_GH0.tar.gz) = 51181 SHA256 (tronkko-dirent-c885633e126a3a949ec0497273ec13e2c03e862c_GH0.tar.gz) = aab1f1d02c3148a3d49a18b8de878603263e62e4a48622121efec92e5b40710b SIZE (tronkko-dirent-c885633e126a3a949ec0497273ec13e2c03e862c_GH0.tar.gz) = 21182 SHA256 (wren-lang-wren-4a18fc489f9ea3d253b20dd40f4cdad0d6bb40eb_GH0.tar.gz) = fb885f12767ea8b1101145b9d86735995e28c5298b712c1c3f71ed9bbf17f567 SIZE (wren-lang-wren-4a18fc489f9ea3d253b20dd40f4cdad0d6bb40eb_GH0.tar.gz) = 1810731 SHA256 (kuba---zip-d7df626f3aa457e01669f65e61bf8f484e352941_GH0.tar.gz) = f121ff9a6df3414afe958c341c0e3f05d638e43e3be735a9dad8d05ce9322c49 SIZE (kuba---zip-d7df626f3aa457e01669f65e61bf8f484e352941_GH0.tar.gz) = 114635 SHA256 (nesbox-moonscript-17179283012b392bff972ad66231d73bfeec6e90_GH0.tar.gz) = 10f0ebf82ae92a1389d353b349bef25deea594aebb3a65d09f36cd1193d7de18 SIZE (nesbox-moonscript-17179283012b392bff972ad66231d73bfeec6e90_GH0.tar.gz) = 192909 SHA256 (cofyc-argparse-0d5f5d0745df14a3f373f7eed85bf524714f4524_GH0.tar.gz) = b14cfe4b95a4cd1cf148eeecf0dba94ebf5b4312de12f5f5254e7040017477f1 SIZE (cofyc-argparse-0d5f5d0745df14a3f373f7eed85bf524714f4524_GH0.tar.gz) = 10152 SHA256 (wasm3-wasm3-a3abb3f2d320994be59dfbe2cdafa8d0b6a8253e_GH0.tar.gz) = 6a6d988a60f37caa24b997a6510229c4e89fce07aa666413da6ed9814ac0463f SIZE (wasm3-wasm3-a3abb3f2d320994be59dfbe2cdafa8d0b6a8253e_GH0.tar.gz) = 2575346 SHA256 (blueloveTH-pocketpy-7312afdad24bb308037088d34b32ed0078fed7d2_GH0.tar.gz) = 093b5d02c2b4b21d11edeb49b40c4e91bb49274f91e990b8fdb2dde72f51f6f2 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;