diff --git a/games/openbor/Makefile b/games/openbor/Makefile index 78cd00a1061f..3296ad97e8b4 100644 --- a/games/openbor/Makefile +++ b/games/openbor/Makefile @@ -1,120 +1,120 @@ PORTNAME= openbor # Hint: svn revision is git rev-list --count ${GH_TAGNAME} -PORTVERSION?= 7138 +PORTVERSION?= 7534 .ifndef PKGNAMESUFFIX -PORTREVISION= 2 +PORTREVISION= 0 .endif CATEGORIES= games PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ .if ${PORTVERSION} < 3971 PATCHFILES+= 794ba23189a3.patch:-p2 .elif ${PORTVERSION} < 7084 PATCHFILES+= 731d96887795.patch:-p2 .endif MAINTAINER= jbeich@FreeBSD.org COMMENT= 2D side scrolling engine for beat 'em ups, shooters, and more #' WWW= https://www.chronocrash.com/ LICENSE= BSD3CLAUSE GPLv2+ .if ${PORTVERSION} >= 4134 LICENSE+= ISCL .endif LICENSE_COMB= multi LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/LICENSE LICENSE_FILE_GPLv2+ = ${_LICENSE_STORE}/GPLv2 # source/gfxlib/hq2x.c LICENSE_FILE_ISCL= ${WRKSRC}/source/webmlib/nestegg/LICENSE LIB_DEPENDS= libpng.so:graphics/png .if ${PORTVERSION} >= 4134 LIB_DEPENDS+= libvpx.so:multimedia/libvpx .endif .ifdef PKGNAMESUFFIX PORTSCOUT= ignore:1 .endif USE_GITHUB= yes GH_ACCOUNT= DCurrent -GH_TAGNAME?= 3caaddd5 +GH_TAGNAME?= 3bae1dd7 USES+= cpe gmake pkgconfig sdl .if ${PORTVERSION} < 4433 USE_CSTD= gnu89 .endif .if ${PORTVERSION} < 4108 USE_SDL= gfx -.elif ${PORTVERSION} < 6639 +.elif ${PORTVERSION} < 6639 || ${PORTVERSION} >= 7416 USE_SDL= gfx2 .else USE_SDL= sdl2 .endif WRKSRC_SUBDIR= engine MAKE_ENV= BUILD_LINUX=1 SDKPATH="${LOCALBASE}" \ GCC_TARGET="${CONFIGURE_TARGET:S/amd64/x86_64/}" MAKE_ARGS= CC="${CC}" LIBRARIES="${LOCALBASE}/lib" \ TARGET_ARCH=${ARCH:S/i386/x86/} ARCHFLAGS="" \ TARGET_FINAL='${TARGET}' BUILD_MMX="" ECHO="${ECHO}" .if ${PORTVERSION} < 7098 CFLAGS+= -fcommon # https://github.com/DCurrent/openbor/issues/206 .endif LDFLAGS+= -Wl,--as-needed # ogg, pthread, zlib SUB_FILES= pkg-message SUB_LIST= PKGBASE=${PKGBASE} PLIST_FILES= bin/${PKGBASE} \ share/pixmaps/${PKGBASE}.png DOCSDIR= ${PREFIX}/share/doc/${PKGBASE} PORTDOCS= README DESKTOP_ENTRIES="OpenBOR v3.0 Build ${PORTVERSION}" \ "" \ "${PKGBASE}" \ "${PKGBASE}" \ "Game;ArcadeGame;" \ "" OPTIONS_DEFINE= DOCS TREMOR OPTIONS_DEFAULT= ${MACHINE_CPU:Msoftfp:C/.+/TREMOR/} OPTIONS_DEFINE_i386= MMX OPTIONS_DEFAULT_i386= MMX # runtime detection MMX_BUILD_DEPENDS= yasm:devel/yasm MMX_MAKE_ARGS= BUILD_MMX=1 TREMOR_LIB_DEPENDS= libvorbisidec.so:audio/libtremor TREMOR_MAKE_ARGS= BUILD_TREMOR=1 BUILD_VORBIS="" TREMOR_LIB_DEPENDS_OFF= libvorbisfile.so:audio/libvorbis post-patch: @${REINPLACE_CMD} -e 's/ -O[0-9]//; s/ -g//; s/ -Werror//' \ -e 's/ -fomit-frame-pointer//' \ -e 's/ -freorder-blocks//' \ -e 's/ -Wno-unused-result//' \ -e 's/ -Wl,-rpath,$$(LIBRARIES)//' \ -e '/echo/!s/ @/ /' \ -e 's/@echo/@$$(ECHO)/' \ -e 's/$$(LIBS)/$$(LDFLAGS) &/' \ ${WRKSRC}/Makefile @${REINPLACE_CMD} -e 's/\.openbor/.${PKGBASE}/' \ ${WRKSRC}/sdl/sdlport.c @${GREP} -Flr 'malloc.h' ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \ 's,malloc\.h,stdlib.h,' @${REINPLACE_CMD} -e 's/^function \(.*\) {/\1() {/' \ -e '/^[[:space:]]*VERSION_.*=0000/d' \ -e '/.*read -r VERSION_/d' \ ${WRKSRC}/version.sh do-configure: (cd ${WRKSRC} && VERSION_BUILD=${PORTVERSION} VERSION_COMMIT=${GH_TAGNAME} \ ${SH} ./version.sh) do-install: ${INSTALL_PROGRAM} ${WRKSRC}/OpenBOR.elf \ ${STAGEDIR}${PREFIX}/bin/${PKGBASE} ${INSTALL_DATA} ${WRKSRC}/resources/OpenBOR_Icon_128x128.png \ ${STAGEDIR}${PREFIX}/share/pixmaps/${PKGBASE}.png (cd ${WRKSRC} && ${COPYTREE_SHARE} \ "${PORTDOCS}" ${STAGEDIR}${DOCSDIR}) .include diff --git a/games/openbor/distinfo b/games/openbor/distinfo index d2161a6a074a..a60b48b73da0 100644 --- a/games/openbor/distinfo +++ b/games/openbor/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1626732659 -SHA256 (DCurrent-openbor-7138-3caaddd5_GH0.tar.gz) = 4671f869aeffb0a13fd21171bbccef2dcca5b5b0c8f5a64bf2a921bc7404fac5 -SIZE (DCurrent-openbor-7138-3caaddd5_GH0.tar.gz) = 26900809 +TIMESTAMP = 1704177264 +SHA256 (DCurrent-openbor-7534-3bae1dd7_GH0.tar.gz) = 9ac7c3d9dae326e366c2202d33ffe7cc2ae39aec98fda738964e05467a6ccae1 +SIZE (DCurrent-openbor-7534-3bae1dd7_GH0.tar.gz) = 60292766 diff --git a/games/openbor/files/patch-openbor.c b/games/openbor/files/patch-openbor.c index cec69bb2ff6e..1a946cb4ab9c 100644 --- a/games/openbor/files/patch-openbor.c +++ b/games/openbor/files/patch-openbor.c @@ -1,65 +1,14 @@ -Fix potential crashes found by ASan/Clang/GCC Fix an infinite loop in lcmScriptDeleteMain() ---- openbor.c.orig 2018-07-06 15:13:16 UTC +--- openbor.c.orig 2024-01-02 00:04:19 UTC +++ openbor.c -@@ -6259,17 +6259,17 @@ s_collision_attack *collision_alloc_attack_instance(s_ - // - // Allocate an empty collision attack list. - s_collision_attack **collision_alloc_attack_list() - { - s_collision_attack **result; - size_t alloc_size; - - // Get amount of memory we'll need. -- alloc_size = sizeof(*result); -+ alloc_size = max_collisons * sizeof(*result); - - // Allocate memory and get pointer. - result = malloc(alloc_size); - - // Make sure the list is blank. - memset(result, 0, alloc_size); - - // return result. -@@ -6308,17 +6308,17 @@ s_collision_body *collision_alloc_body_instance(s_coll - // - // Allocate an empty collision attack list. - s_collision_body **collision_alloc_body_list() - { - s_collision_body **result; - size_t alloc_size; - - // Get amount of memory we'll need. -- alloc_size = sizeof(*result); -+ alloc_size = max_collisons * sizeof(*result); - - // Allocate memory and get pointer. - result = malloc(alloc_size); - - // Make sure the list is blank. - memset(result, 0, alloc_size); - - // return result. -@@ -8743,7 +8743,8 @@ size_t lcmScriptCopyBuffer(ArgList *arglist, char *buf +@@ -12499,7 +12499,8 @@ size_t lcmScriptDeleteMain(char **buf) size_t lcmScriptDeleteMain(char **buf) { - size_t len = 0, i = 0; + size_t len = 0; + long i = 0; ptrdiff_t pos = 0; char *newbuf = NULL; -@@ -15920,6 +15921,11 @@ void bar(int x, int y, int value, int maxvalue, s_bars - else - { - return; -+ } -+ -+ if (value < 0) -+ { -+ value = 0; - } - - if (value > maxvalue) diff --git a/games/openbor/files/patch-source_utils.c b/games/openbor/files/patch-source_utils.c index 65fb72c0c7ed..1693b73e8915 100644 --- a/games/openbor/files/patch-source_utils.c +++ b/games/openbor/files/patch-source_utils.c @@ -1,19 +1,21 @@ source/utils.c:303:54: error: implicit declaration of function 'mallinfo' is invalid in C99 [-Werror,-Wimplicit-function-declaration] writeToLogFile("Memory usage at exit: %u\n", mallinfo().arena); ^ source/utils.c:303:64: error: member reference base type 'int' is not a structure or union writeToLogFile("Memory usage at exit: %u\n", mallinfo().arena); ~~~~~~~~~~^~~~~~ ---- source/utils.c.orig 2018-07-06 15:13:16 UTC +--- source/utils.c.orig 2024-01-02 00:04:19 UTC +++ source/utils.c -@@ -303,7 +303,7 @@ void *checkAlloc(void *ptr, size_t size, const char *f +@@ -303,9 +303,7 @@ void *checkAlloc(void *ptr, size_t size, const char *f "\n* Shutting Down *\n\n"); writeToLogFile("Out of memory!\n"); writeToLogFile("Allocation of size %i failed in function '%s' at %s:%i.\n", size, func, file, line); -#ifndef WIN +- writeToLogFile("Memory usage at exit: %u\n", mallinfo().arena); +-#elif LINUX +#if defined(__GLIBC__) || defined(ANDROID) || defined(VITA) - writeToLogFile("Memory usage at exit: %u\n", mallinfo().arena); + writeToLogFile("Memory usage at exit: %u\n", mallinfo2().arena); #endif borExit(2);