On Wed, Aug 09, 2017 at 04:21:34PM -0600, Theo de Raadt wrote: > That type of diff dissapoints me. Upstreams should be told to follow API, > rather than ABI.
The real upstream of this uLong nonsense is zlib.net. They're not going to change it for me. And it wouldn't solve the issue of libpng linking against the wrong zlib. Here is a different approach, filtering out all clashing symbols. This seems to work great and is pretty unobtrusive, even if it's not all that elegant. Index: Makefile =================================================================== RCS file: /home/vcs/cvs/openbsd/ports/games/tome4/Makefile,v retrieving revision 1.7 diff -u -p -r1.7 Makefile --- Makefile 31 May 2017 08:08:16 -0000 1.7 +++ Makefile 11 Aug 2017 21:52:39 -0000 @@ -5,7 +5,7 @@ COMMENT-data = data for Tales of Maj'Eya # ' -V = 1.5.1 +V = 1.5.5 PKGNAME-main = tome4-${V} PKGNAME-data = tome4-data-${V} CATEGORIES = games x11 @@ -42,6 +42,10 @@ WANTLIB-data = COMPILER = gcc COMPILER_LANGS = c +# Disable luajit support where broken and missing. See also lang/luajit +.if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "amd64" +CONFIGURE_ARGS += --lua=default +.endif NO_TEST = Yes @@ -57,7 +61,7 @@ do-configure: sed -i 's/gcc /${CC} /g' ${WRKSRC}/build/te4core.lua ${SUBST_CMD} ${WRKSRC}/src/getself.c ${SUBST_CMD} ${WRKSRC}/premake4.lua - @cd ${WRKSRC} ; premake4 gmake + cd ${WRKSRC} ; premake4 ${CONFIGURE_ARGS} gmake do-install: ${INSTALL_PROGRAM} ${WRKSRC}/t-engine ${PREFIX}/bin/tome4 Index: distinfo =================================================================== RCS file: /home/vcs/cvs/openbsd/ports/games/tome4/distinfo,v retrieving revision 1.2 diff -u -p -r1.2 distinfo --- distinfo 27 Mar 2017 18:28:29 -0000 1.2 +++ distinfo 11 Aug 2017 21:52:39 -0000 @@ -1,2 +1,2 @@ -SHA256 (t-engine4-src-1.5.1.tar.bz2) = er5VbR72iQ0WrlO4KSwQWSVDopR6QCS7mjtnARp00Lg= -SIZE (t-engine4-src-1.5.1.tar.bz2) = 421336208 +SHA256 (t-engine4-src-1.5.5.tar.bz2) = A3zO5JMhPF4gdJ00gfVnbwUJlbtop7vYCu23fV17WGw= +SIZE (t-engine4-src-1.5.5.tar.bz2) = 421330688 Index: patches/patch-build_exclude-zlib_ld =================================================================== RCS file: patches/patch-build_exclude-zlib_ld diff -N patches/patch-build_exclude-zlib_ld --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-build_exclude-zlib_ld 11 Aug 2017 21:52:39 -0000 @@ -0,0 +1,28 @@ +$OpenBSD$ + +Fix black screen on 32bit archs because of zlib struct size mismatch affecting +libpng and SDL2. + +Hide libz symbols of newer copy provided with the game. + + +Index: build/exclude-zlib.ld +--- build/exclude-zlib.ld.orig ++++ build/exclude-zlib.ld +@@ -0,0 +1,16 @@ ++TOME { ++ local: ++ adler32; adler32_combine; compress; compress2; compressBound; ++ crc32; crc32_combine; deflate; deflateBound; deflateCopy; ++ deflateEnd; deflateInit2_; deflateInit_; deflateParams; ++ deflatePrime; deflateReset; deflateSetDictionary; ++ deflateSetHeader; deflateTune; get_crc_table; gzclearerr; ++ gzclose; gzdirect; gzdopen; gzeof; gzerror; gzflush; gzgetc; ++ gzgets; gzopen; gzprintf; gzputc; gzputs; gzread; gzrewind; ++ gzseek; gzsetparams; gztell; gzungetc; gzwrite; inflate; ++ inflateBack; inflateBackEnd; inflateBackInit_; inflateCopy; ++ inflateEnd; inflateGetHeader; inflateInit2_; inflateInit_; ++ inflatePrime; inflateReset; inflateSetDictionary; inflateSync; ++ inflateSyncPoint; inflate_fast; inflate_table; uncompress; ++ zError; zcalloc; zcfree; zlibCompileFlags; zlibVersion; ++}; Index: patches/patch-build_te4core_lua =================================================================== RCS file: /home/vcs/cvs/openbsd/ports/games/tome4/patches/patch-build_te4core_lua,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 patch-build_te4core_lua --- patches/patch-build_te4core_lua 28 Dec 2016 18:34:57 -0000 1.1.1.1 +++ patches/patch-build_te4core_lua 11 Aug 2017 21:52:39 -0000 @@ -1,6 +1,7 @@ $OpenBSD: patch-build_te4core_lua,v 1.1.1.1 2016/12/28 18:34:57 awolk Exp $ ---- build/te4core.lua.orig Fri Dec 2 11:29:13 2016 -+++ build/te4core.lua Fri Dec 2 11:29:23 2016 +Index: build/te4core.lua +--- build/te4core.lua.orig ++++ build/te4core.lua @@ -40,7 +40,7 @@ project "TEngine" links { "physfs", "lua".._OPTIONS.lua, "fov", "luasocket", "luaprofiler", "lpeg", "tcodimport", "lxp", "expatstatic", "luamd5", "luazlib", "luabitop", "te4-bzip" } defines { "_DEFAULT_VIDEOMODE_FLAGS_='SDL_HWSURFACE|SDL_DOUBLEBUF'" } @@ -10,3 +11,11 @@ $OpenBSD: patch-build_te4core_lua,v 1.1. if _OPTIONS.relpath=="32" then linkoptions{"-Wl,-rpath -Wl,\\\$\$ORIGIN/lib "} end if _OPTIONS.relpath=="64" then linkoptions{"-Wl,-rpath -Wl,\\\$\$ORIGIN/lib64 "} end +@@ -126,6 +126,7 @@ project "TEngine" + + configuration "bsd" + libdirs {"/usr/local/lib/"} ++ linkoptions { "-Wl,--version-script=exclude-zlib.ld" } + links { "SDL2", "SDL2_ttf", "SDL2_image", "png", "openal", "vorbisfile", "GL", "GLU", "m", "pthread" } + defines { [[TENGINE_HOME_PATH='".t-engine"']], 'SELFEXE_BSD' } +