Hello,

In my quest to update scons I noticed that boswars currently fails at
runtime due to invalid png files:

libpng warning: iCCP: known incorrect sRGB profile
libpng error: IDAT: invalid distance too far back
Error reading the PNG file.
Can't load the graphic `graphics/ui/ui_minimap.png'

This is an attempt at fixing the images using optipng (I think pngcrush
could also be used, but optipng is what I had available.)  It makes the
build a bit longer but the game seems playable again.  The exact list of
broken PNGs is a courtesy of haikuports :)

https://github.com/haikuports/haikuports/blob/master/games-strategy/boswars/boswars-2.7.recipe#L66

OK?

P.S.: portcheck complaints are not due this patch

P.P.S: if you're bothered by the c++ warning 'optimization flag ... is
       not supported' I'm addressing that in a following patch to build
       it with scons 4


Index: Makefile
===================================================================
RCS file: /home/cvs/ports/games/boswars/Makefile,v
retrieving revision 1.26
diff -u -p -r1.26 Makefile
--- Makefile    12 Jul 2019 20:46:15 -0000      1.26
+++ Makefile    16 Oct 2021 23:33:22 -0000
@@ -7,7 +7,7 @@ DISTNAME=       boswars-${V}-src
 PKGNAME=       boswars-${V}
 CATEGORIES=    games x11
 MASTER_SITES=  http://www.boswars.org/dist/releases/
-REVISION=      1
+REVISION=      2
 
 HOMEPAGE=      http://www.boswars.org/
 
@@ -24,7 +24,8 @@ MODULES=      devel/scons \
 MODSCONS_FLAGS=        CPPPATH="${LOCALBASE}/include ${X11BASE}/include" \
                opengl=1
 
-BUILD_DEPENDS= devel/sdl-image
+BUILD_DEPENDS= devel/sdl-image \
+               graphics/optipng
 LIB_DEPENDS=   devel/sdl \
                multimedia/libtheora \
                audio/libvorbis \
@@ -34,6 +35,12 @@ LIB_DEPENDS= devel/sdl \
 NO_TEST=       Yes
 
 DATA_DIR=      campaigns graphics intro languages maps patches scripts sounds 
units
+
+post-extract:
+.for f in maps/antarticum.map/terrain.png graphics/ui/ui_*.png \
+               units/radar/radar*.png units/tree*/tree*.png
+       optipng -force -fix ${WRKSRC}/${f}
+.endfor
 
 pre-configure:
        @${SUBST_CMD} ${WRKSRC}/SConstruct \

Reply via email to