Here is a diff for unbreaking games/supertux, which segfaults on
startup. I opened an issue explaining the bug here:
https://github.com/SuperTux/supertux/issues/1726

I bisected and found a commit from 2.0.10 that caused this segfault:
https://github.com/libsdl-org/SDL/commit/670f3d3327912b299e8e5ea9de4f01bd833414cc

It reads out of bounds memory due to usage of SIMD functions since SDL
2.0.10. My workaround is to make the resolution larger for the affected
image. I get the same backtrace on startup.

Tests and feedback are welcome. OK? I would like to get this in to
unbreak games/supertux, but it is almost ports lock.

Index: Makefile
===================================================================
RCS file: /cvs/ports/games/supertux/Makefile,v
retrieving revision 1.23
diff -u -p -u -p -r1.23 Makefile
--- Makefile    25 Feb 2021 22:26:02 -0000      1.23
+++ Makefile    17 Apr 2021 12:34:44 -0000
@@ -5,7 +5,10 @@ COMMENT =              jump 'n' run game
 V =                    0.6.0
 DISTNAME =             SuperTux-v${V}-Source
 PKGNAME =              supertux-$V
-REVISION =             2
+REVISION =             3
+
+DISTFILES +=           ${DISTNAME}${EXTRACT_SUFX}
+DISTFILES +=           tux-statue${EXTRACT_SUFX}:0
 
 CATEGORIES =           games
 
@@ -22,6 +25,7 @@ WANTLIB += c curl freetype m ogg openal 
 WANTLIB += z
 
 MASTER_SITES =         
https://github.com/SuperTux/supertux/releases/download/v${V}/
+MASTER_SITES0 =                https://namtsui.com/source/
 
 FIX_CRLF_FILES =       external/squirrel/CMakeLists.txt
 
@@ -46,5 +50,7 @@ NO_TEST =             Yes
 
 pre-configure:
        ${SUBST_CMD} ${WRKSRC}/src/supertux/main.cpp
+# fixes segfault. see: https://github.com/SuperTux/supertux/issues/1726
+       @mv ${WRKDIR}/tux-statue.png ${WRKSRC}/data/images/tiles/doodads
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/games/supertux/distinfo,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 distinfo
--- distinfo    4 Feb 2019 10:02:07 -0000       1.4
+++ distinfo    17 Apr 2021 12:34:44 -0000
@@ -1,2 +1,4 @@
 SHA256 (SuperTux-v0.6.0-Source.tar.gz) = 
xMPl+m+Q6HuMWtayKheempg5v5l+fyGeIrvNHJciOsA=
+SHA256 (tux-statue.tar.gz) = pklNyse27KSCvf8xR41Y4DQ8OCJQu36Z2PtooYJ1Ad4=
 SIZE (SuperTux-v0.6.0-Source.tar.gz) = 131203604
+SIZE (tux-statue.tar.gz) = 10385

Reply via email to