After prodding from bentley@ about modified chunk canary crashes,
when running with 'ln -s S /etc/malloc.conf', I had a go at
resolving it.  Lucky for me, the new sdl2-branch of chocolate-doom
seems to neatly skirt around the issue.

I first had a go at seeing if the current release could just be
patched, but I got lost with no usable results.

Here is an update to chocolate-doom 3.0.0beta1, which works with
malloc S option set.  I tested doom2, and a local chocolate-server
+ connect to localhost via chocolate-doom-setup.

I quickly ran the heretic, hexen, and strife games and confirmed
they start and the games play.

For the port, I used the latest github sdl2-branch as a base,
rather than an available chocolate-doom-3.0.0beta1 prerolled
tarball from February 2017.  This is because various little fixes
to that branch have rolled in since then, and it is more or less
stable until the actual release happens.

The manpages were not available pre-built, and thus I had to do
some dancing around with making sure its little manpage generator
could successfully use a python2 executable.  I am not sure if
I did this right at all, and was having issues finding other examples
in-tree.  A push in the right direction appreciated if necessary.

That all said, comments or OK? :-)

-ryan


? chocolate-doom-3.0.0beta1.diff
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/chocolate-doom/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- Makefile    13 Nov 2017 11:25:27 -0000      1.22
+++ Makefile    22 Nov 2017 03:03:41 -0000
@@ -1,10 +1,13 @@
 # $OpenBSD: Makefile,v 1.22 2017/11/13 11:25:27 bentley Exp $
 
 COMMENT =      portable release of Doom, Heretic, Hexen, and Strife
-V =            2.3.0
-DISTNAME =     chocolate-doom-${V}
+DISTNAME =     chocolate-doom-3.0.0beta1
+
+GH_ACCOUNT =   chocolate-doom
+GH_PROJECT =   chocolate-doom
+GH_COMMIT =    413f4ecd7aae41229cc7b40ea3275970dc18cdb4
+
 CATEGORIES =   games x11
-REVISION =     0
 
 HOMEPAGE =     https://www.chocolate-doom.org/
 
@@ -13,42 +16,41 @@ MAINTAINER =        Ryan Freeman <ryan@slipgate
 # GPLv2+
 PERMIT_PACKAGE_CDROM =         Yes
 
-WANTLIB += SDL SDL_mixer SDL_net c m png pthread samplerate z
+WANTLIB += SDL2 SDL2_mixer SDL2_net c m png samplerate z
 
-LIB_DEPENDS =  devel/sdl-mixer \
-               devel/sdl-net \
+LIB_DEPENDS =  devel/sdl2-mixer \
+               devel/sdl2-net \
                audio/libsamplerate \
                graphics/png
 
-MASTER_SITES = https://www.chocolate-doom.org/downloads/${V}/
-
 RUN_DEPENDS =  devel/desktop-file-utils
 
-
 CONFIGURE_STYLE =      gnu
+AUTOMAKE_VERSION =     1.15
+AUTOCONF_VERSION =     2.69
 
-# we don't need to require python to build
-CONFIGURE_ENV +=       HAVE_PYTHON=false
+CONFIGURE_ARGS +=      --mandir="${LOCALBASE}/man"
 
-MAN_5 =                chocolate-doom.cfg default.cfg \
-               chocolate-heretic.cfg heretic.cfg \
-               chocolate-hexen.cfg hexen.cfg \
-               chocolate-strife.cfg strife.cfg
-MAN_6 =                chocolate-doom chocolate-server chocolate-setup \
-               chocolate-heretic chocolate-hexen chocolate-strife
+# just used for generating manpages
+BUILD_DEPENDS =        lang/python/2.7
 
 post-extract:
        # set correct data directory
        @sed -i 's,"/games/doom","/doom",g' ${WRKSRC}/src/d_iwad.c
+       # set correct python binary name
+       @sed -i 's/HAVE_PYTHON, python/HAVE_PYTHON, python2/' \
+               ${WRKSRC}/configure.ac
+       @sed -i 's,/usr/bin/env python,/usr/bin/env python2,' \
+               ${WRKSRC}/man/docgen
+       @sed -i 's,/usr/bin/env python,/usr/bin/env python2,' \
+               ${WRKSRC}/man/simplecpp
+
+pre-configure:
+       @cd ${WRKSRC}; AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \
+               AUTOCONF_VERSION=${AUTOCONF_VERSION} autoreconf -fi
 
 post-install:
        # Data files get installed to this directory.
        ${INSTALL_DATA_DIR} ${PREFIX}/share/doom/
-.for m in ${MAN_5}
-       ${INSTALL_MAN} ${WRKBUILD}/man/$m.5 ${PREFIX}/man/man5/
-.endfor
-.for m in ${MAN_6}
-       ${INSTALL_MAN} ${WRKBUILD}/man/$m.6 ${PREFIX}/man/man6/
-.endfor
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/games/chocolate-doom/distinfo,v
retrieving revision 1.8
diff -u -p -r1.8 distinfo
--- distinfo    3 Jan 2017 00:28:53 -0000       1.8
+++ distinfo    22 Nov 2017 03:03:41 -0000
@@ -1,2 +1,2 @@
-SHA256 (chocolate-doom-2.3.0.tar.gz) = 
Pm0agqxciwJalpXOHkfQ3G7RQuuxEpseSnDidA95FQw=
-SIZE (chocolate-doom-2.3.0.tar.gz) = 2190744
+SHA256 (chocolate-doom-3.0.0beta1-413f4ecd.tar.gz) = 
sk9/S4B4hHH6vQ50L79qTeAPLZn+s04N7p/ND2T/YJA=
+SIZE (chocolate-doom-3.0.0beta1-413f4ecd.tar.gz) = 2245692
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/games/chocolate-doom/pkg/PLIST,v
retrieving revision 1.7
diff -u -p -r1.7 PLIST
--- pkg/PLIST   3 Jan 2017 00:28:54 -0000       1.7
+++ pkg/PLIST   22 Nov 2017 03:03:41 -0000
@@ -16,11 +16,15 @@
 @man man/man5/heretic.cfg.5
 @man man/man5/hexen.cfg.5
 @man man/man5/strife.cfg.5
+@man man/man6/chocolate-doom-setup.6
 @man man/man6/chocolate-doom.6
+@man man/man6/chocolate-heretic-setup.6
 @man man/man6/chocolate-heretic.6
+@man man/man6/chocolate-hexen-setup.6
 @man man/man6/chocolate-hexen.6
 @man man/man6/chocolate-server.6
 @man man/man6/chocolate-setup.6
+@man man/man6/chocolate-strife-setup.6
 @man man/man6/chocolate-strife.6
 share/appdata/
 share/appdata/chocolate-doom.appdata.xml
@@ -34,27 +38,39 @@ share/applications/chocolate-setup.deskt
 share/applications/chocolate-strife.desktop
 share/applications/screensavers/
 share/applications/screensavers/chocolate-doom-screensaver.desktop
+share/bash-completion/completions/chocolate-doom
+share/bash-completion/completions/chocolate-heretic
+share/bash-completion/completions/chocolate-hexen
+share/bash-completion/completions/chocolate-strife
 share/doc/chocolate-doom/
+share/doc/chocolate-doom/CMDLINE.doom
 share/doc/chocolate-doom/ChangeLog
+share/doc/chocolate-doom/INSTALL.doom
 share/doc/chocolate-doom/NEWS.md
 share/doc/chocolate-doom/NOT-BUGS.md
 share/doc/chocolate-doom/PHILOSOPHY.md
 share/doc/chocolate-doom/README.Music.md
 share/doc/chocolate-doom/README.md
 share/doc/chocolate-heretic/
+share/doc/chocolate-heretic/CMDLINE.heretic
 share/doc/chocolate-heretic/ChangeLog
+share/doc/chocolate-heretic/INSTALL.heretic
 share/doc/chocolate-heretic/NEWS.md
 share/doc/chocolate-heretic/PHILOSOPHY.md
 share/doc/chocolate-heretic/README.Music.md
 share/doc/chocolate-heretic/README.md
 share/doc/chocolate-hexen/
+share/doc/chocolate-hexen/CMDLINE.hexen
 share/doc/chocolate-hexen/ChangeLog
+share/doc/chocolate-hexen/INSTALL.hexen
 share/doc/chocolate-hexen/NEWS.md
 share/doc/chocolate-hexen/PHILOSOPHY.md
 share/doc/chocolate-hexen/README.Music.md
 share/doc/chocolate-hexen/README.md
 share/doc/chocolate-strife/
+share/doc/chocolate-strife/CMDLINE.strife
 share/doc/chocolate-strife/ChangeLog
+share/doc/chocolate-strife/INSTALL.strife
 share/doc/chocolate-strife/NEWS.md
 share/doc/chocolate-strife/PHILOSOPHY.md
 share/doc/chocolate-strife/README.Music.md

Reply via email to