Hi again, We ship a broken games/blobby:
-->8-- ~$ blobby error loading language lang_en.xml! falling back to english blobby(23503) in free(): bogus pointer (double free?) 0x6 Abort trap --8<-- It's from 2012, and that version is unsupported, so i'm proposing an update against latest developments of blobby. What's new upstream: - move from sf.net to github - use sdl2 instead of sdl What's new in port: - drop all patches, upstream made similar changes - bring back bots (upstreamed patch) - avoid the use of EPOCH by using date versioning, the next release will be 1.1 [0], so updating go (and will go) smoothly - remove base-gcc from COMPILER, it's C++11 - add DEBUG_PACKAGES (i'm not sure of the usefulness of it for that port) Testing (on powerpc, you'll need the fixed devel/physfs i committed earlier): - amd64: no issues - powerpc: builds and works but blobs colors are off in SDL mode, they're more complex to draw that it seems, and swapping colors does not solve the problem. I refrained from setting the properly working OpenGL renderer as default/fallback on big endian, because i guess not all BE archs have OpenGL. BE and LE hosts/clients can't talk to each other through the network. Despite the endianness issues, given that the runtime is totally broken on amd64, i think we should commit that update. Comments/feedback are welcome, Charlène. [0] https://github.com/danielknobe/blobbyvolley2/issues/1#issuecomment-569493894 Index: Makefile =================================================================== RCS file: /cvs/ports/games/blobby/Makefile,v retrieving revision 1.10 diff -u -p -u -p -r1.10 Makefile --- Makefile 12 Jul 2019 20:46:15 -0000 1.10 +++ Makefile 20 Jan 2020 14:50:48 -0000 @@ -2,30 +2,30 @@ COMMENT = volleyball game with online play -V = 1.0rc3 -DISTNAME = blobby2-linux-${V} -PKGNAME = blobby-${V} -REVISION = 2 +GH_ACCOUNT = danielknobe +GH_PROJECT = blobbyvolley2 +GH_COMMIT = bcea5be5eae91fda5455e7b77d9057d2780cc752 + +DISTNAME = blobby-1.020200119 CATEGORIES = games HOMEPAGE = http://blobby.sourceforge.net/ # GPLv2+ -PERMIT_PACKAGE = Yes - -WANTLIB += GL GLU ICE SDL SM X11 Xext c m physfs pthread ${COMPILER_LIBCXX} +PERMIT_PACKAGE = Yes -COMPILER = base-clang ports-gcc base-gcc +WANTLIB += ${COMPILER_LIBCXX} GL GLU SDL2 c m physfs -MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=blobby/} +# C++11 +COMPILER = base-clang ports-gcc MODULES = devel/cmake BUILD_DEPENDS = devel/boost \ archivers/zip -LIB_DEPENDS = devel/sdl \ +LIB_DEPENDS = devel/sdl2 \ devel/physfs -WRKDIST = ${WRKDIR}/blobby-${V} +DEBUG_PACKAGES = ${BUILD_PACKAGES} .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/games/blobby/distinfo,v retrieving revision 1.1.1.1 diff -u -p -u -p -r1.1.1.1 distinfo --- distinfo 27 Oct 2012 07:12:45 -0000 1.1.1.1 +++ distinfo 20 Jan 2020 14:50:48 -0000 @@ -1,2 +1,2 @@ -SHA256 (blobby2-linux-1.0rc3.tar.gz) = Rb2yUwt+sbUIaT0wTjEIjJqbNm+Xj3FrWgzx58UCxYE= -SIZE (blobby2-linux-1.0rc3.tar.gz) = 2323776 +SHA256 (blobby-1.020200119-bcea5be5.tar.gz) = erjyDj77PyhMK27dmDeRBPkALaCuzcT2OCX4XkmYCiA= +SIZE (blobby-1.020200119-bcea5be5.tar.gz) = 2363487 Index: patches/patch-src_InputManager_cpp =================================================================== RCS file: patches/patch-src_InputManager_cpp diff -N patches/patch-src_InputManager_cpp --- patches/patch-src_InputManager_cpp 27 Oct 2012 07:12:45 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-src_InputManager_cpp,v 1.1.1.1 2012/10/27 07:12:45 bentley Exp $ - -Remove byte-order mark. - ---- src/InputManager.cpp.orig Sat Oct 27 00:24:44 2012 -+++ src/InputManager.cpp Sat Oct 27 00:24:49 2012 -@@ -1,4 +1,4 @@ --/*============================================================================= -+/*============================================================================= - Blobby Volley 2 - Copyright (C) 2006 Jonathan Sieber (jonathan_sie...@yahoo.de) - Copyright (C) 2006 Daniel Knobe (daniel-kn...@web.de) Index: patches/patch-src_LagDetectionSystem_cpp =================================================================== RCS file: patches/patch-src_LagDetectionSystem_cpp diff -N patches/patch-src_LagDetectionSystem_cpp --- patches/patch-src_LagDetectionSystem_cpp 7 Nov 2014 10:06:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,11 +0,0 @@ -$OpenBSD: patch-src_LagDetectionSystem_cpp,v 1.1 2014/11/07 10:06:09 landry Exp $ ---- src/LagDetectionSystem.cpp.orig Thu Nov 6 23:41:34 2014 -+++ src/LagDetectionSystem.cpp Thu Nov 6 23:42:18 2014 -@@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, - #include "LagDetectionSystem.h" - - /* includes */ -+#include <cassert> - #include "CrossCorrelation.h" - - /* implementation */ Index: patches/patch-src_RenderManagerGL2D_cpp =================================================================== RCS file: patches/patch-src_RenderManagerGL2D_cpp diff -N patches/patch-src_RenderManagerGL2D_cpp --- patches/patch-src_RenderManagerGL2D_cpp 16 Apr 2018 10:59:17 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -$OpenBSD: patch-src_RenderManagerGL2D_cpp,v 1.1 2018/04/16 10:59:17 jasper Exp $ - -Index: src/RenderManagerGL2D.cpp ---- src/RenderManagerGL2D.cpp.orig -+++ src/RenderManagerGL2D.cpp -@@ -286,7 +286,7 @@ void RenderManagerGL2D::init(int xResolution, int yRes - fontSurface = loadSurface(filename); - fontSurface2 = loadSurface(filename2); - -- SDL_Rect r = {(short)x, 0, (short)fontSurface->w, (short)fontSurface->h}; -+ SDL_Rect r = {(Sint16)x, 0, (Uint16)fontSurface->w, (Uint16)fontSurface->h}; - SDL_BlitSurface(fontSurface, 0, textbase, &r); - SDL_BlitSurface(highlight, 0, hltextbase, &r); - r.x = sx; Index: patches/patch-src_RenderManagerSDL_cpp =================================================================== RCS file: patches/patch-src_RenderManagerSDL_cpp diff -N patches/patch-src_RenderManagerSDL_cpp --- patches/patch-src_RenderManagerSDL_cpp 16 Apr 2018 10:59:17 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,36 +0,0 @@ -$OpenBSD: patch-src_RenderManagerSDL_cpp,v 1.1 2018/04/16 10:59:17 jasper Exp $ - -Index: src/RenderManagerSDL.cpp ---- src/RenderManagerSDL.cpp.orig -+++ src/RenderManagerSDL.cpp -@@ -112,7 +112,7 @@ void RenderManagerSDL::init(int xResolution, int yReso - mScreen->w, mScreen->h, mScreen->format->BitsPerPixel, - mScreen->format->Rmask, mScreen->format->Gmask, - mScreen->format->Bmask, mScreen->format->Amask); -- SDL_Rect screenRect = {0, 0, (short)xResolution, (short)yResolution}; -+ SDL_Rect screenRect = {0, 0, (Uint16)xResolution, (Uint16)yResolution}; - SDL_FillRect(mOverlaySurface, &screenRect, SDL_MapRGB(mScreen->format, 0, 0, 0)); - - -@@ -578,8 +578,8 @@ void RenderManagerSDL::drawImage(const std::string& fi - SDL_Rect blitRect = { - (short)lround(position.x - float(imageBuffer->sdlImage->w) / 2.0), - (short)lround(position.y - float(imageBuffer->sdlImage->h) / 2.0), -- (short)lround(position.x + float(imageBuffer->sdlImage->w) / 2.0), -- (short)lround(position.y + float(imageBuffer->sdlImage->h) / 2.0), -+ static_cast<Uint16>(lround(position.x + float(imageBuffer->sdlImage->w) / 2.0)), -+ static_cast<Uint16>(lround(position.y + float(imageBuffer->sdlImage->h) / 2.0)), - }; - - SDL_BlitSurface(imageBuffer->sdlImage, 0, mScreen, &blitRect); -@@ -641,8 +641,8 @@ void RenderManagerSDL::drawParticle(const Vector2& pos - SDL_Rect blitRect = { - (short)lround(pos.x - float(9) / 2.0), - (short)lround(pos.y - float(9) / 2.0), -- (short)lround(pos.x + float(9) / 2.0), -- (short)lround(pos.y + float(9) / 2.0), -+ static_cast<Uint16>(lround(pos.x + float(9) / 2.0)), -+ static_cast<Uint16>(lround(pos.y + float(9) / 2.0)), - }; - - SDL_Surface* blood = player == LEFT_PLAYER ? mLeftBlobBlood : mRightBlobBlood; Index: patches/patch-src_RenderManager_cpp =================================================================== RCS file: patches/patch-src_RenderManager_cpp diff -N patches/patch-src_RenderManager_cpp --- patches/patch-src_RenderManager_cpp 27 Oct 2012 07:12:45 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-src_RenderManager_cpp,v 1.1.1.1 2012/10/27 07:12:45 bentley Exp $ - -Remove byte-order mark. - ---- src/RenderManager.cpp.orig Sat Oct 27 00:25:13 2012 -+++ src/RenderManager.cpp Sat Oct 27 00:25:15 2012 -@@ -1,4 +1,4 @@ --/*============================================================================= -+/*============================================================================= - Blobby Volley 2 - Copyright (C) 2006 Jonathan Sieber (jonathan_sie...@yahoo.de) - Copyright (C) 2006 Daniel Knobe (daniel-kn...@web.de) Index: patches/patch-src_raknet_RakPeer_cpp =================================================================== RCS file: patches/patch-src_raknet_RakPeer_cpp diff -N patches/patch-src_raknet_RakPeer_cpp --- patches/patch-src_raknet_RakPeer_cpp 24 May 2017 15:37:35 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -$OpenBSD: patch-src_raknet_RakPeer_cpp,v 1.1 2017/05/24 15:37:35 espie Exp $ -I don't even get how this could ever compile (banList is a list of pointers, -and IP is an array inside the struct) - -Index: src/raknet/RakPeer.cpp ---- src/raknet/RakPeer.cpp.orig -+++ src/raknet/RakPeer.cpp -@@ -1060,8 +1060,7 @@ void RakPeer::ClearBanList( void ) - - for ( ; index < banList.size(); index++ ) - { -- delete [] banList[ index ]->IP; -- delete [] banList[ index ]; -+ delete banList[ index ]; - } - - banList.clear(); Index: patches/patch-src_raknet_Types_h =================================================================== RCS file: patches/patch-src_raknet_Types_h diff -N patches/patch-src_raknet_Types_h --- patches/patch-src_raknet_Types_h 26 Dec 2017 06:27:55 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,22 +0,0 @@ -$OpenBSD: patch-src_raknet_Types_h,v 1.1 2017/12/26 06:27:55 jca Exp $ - -Index: src/raknet/Types.h ---- src/raknet/Types.h.orig -+++ src/raknet/Types.h -@@ -100,12 +100,12 @@ - - #include <stdlib.h> - --#if defined(__GLIBC__) && !defined(HOST_ENDIAN_IS_BIG) && !defined(HOST_ENDIAN_IS_LITTLE) -+#if !defined(HOST_ENDIAN_IS_BIG) && !defined(HOST_ENDIAN_IS_LITTLE) - #include <endian.h> -- -- #if (__BYTE_ORDER == __LITTLE_ENDIAN) -+ -+ #if (BYTE_ORDER == LITTLE_ENDIAN) - #define HOST_ENDIAN_IS_LITTLE -- #elif (__BYTE_ORDER == __BIG_ENDIAN) -+ #elif (BYTE_ORDER == BIG_ENDIAN) - #define HOST_ENDIAN_IS_BIG - #endif - #endif Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/games/blobby/pkg/PLIST,v retrieving revision 1.1.1.1 diff -u -p -u -p -r1.1.1.1 PLIST --- pkg/PLIST 27 Oct 2012 07:12:45 -0000 1.1.1.1 +++ pkg/PLIST 20 Jan 2020 14:50:48 -0000 @@ -2,14 +2,19 @@ @bin bin/blobby @bin bin/blobby-server share/blobby/ +share/blobby/Icon.bmp +share/blobby/api.lua share/blobby/backgrounds.zip +share/blobby/bot_api.lua share/blobby/config.xml share/blobby/gfx.zip share/blobby/inputconfig.xml share/blobby/lang_de.xml share/blobby/lang_en.xml share/blobby/lang_fr.xml -share/blobby/rules.lua +share/blobby/lang_it.xml +share/blobby/rules.zip +share/blobby/rules_api.lua share/blobby/scripts.zip share/blobby/server.xml share/blobby/sounds.zip