On Sat, Nov 09, 2019 at 12:12:58PM -0500, Brian Callahan wrote: > Hi ports -- > > Attached is an update to games/devilutionx. The latest release is 0.5.0 but > this update is a good bit past that point. Primarily because brynet@ did a > lot of work upstreaming all patches but that came after the 0.5.0 release > and I think it makes more sense to remove all our local patches than cherry > pick his improvements (creating more patches...).
Awesome! :-) > Really, all this work is brynet@'s; I just get to be the one who swoops in > with the port update. I just upstreamed the CMakeList.txt and a single patch, many of the clang compatibility issues were fixed independently by upstream, which significantly reduced the ports diffs required! Also, namtsui did a lot of work on portability as well, and did a ton of work previously on making TCP multiplayer on 64-bit platforms. > Works well here. > > OK? > > ~Brian > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/games/devilutionx/Makefile,v > retrieving revision 1.3 > diff -u -p -r1.3 Makefile > --- Makefile 22 Sep 2019 14:35:18 -0000 1.3 > +++ Makefile 9 Nov 2019 17:08:04 -0000 > @@ -1,12 +1,12 @@ > # $OpenBSD: Makefile,v 1.3 2019/09/22 14:35:18 bcallah Exp $ > > COMMENT = open source engine recreation for Diablo 1 game > -DISTNAME = devilutionx-0.4.0pl20190914 > +DISTNAME = devilutionx-0.5.0 > CATEGORIES = games x11 > > GH_ACCOUNT = diasurgical > GH_PROJECT = devilutionX > -GH_COMMIT = c52464d2278660cbfe6c23ea48d31d82882d205b > +GH_COMMIT = 2afc5862a0762bdf1a2005249d5e34245815c595 > > MAINTAINER = Brian Callahan <[email protected]> > > @@ -27,6 +27,9 @@ LIB_DEPENDS = devel/sdl2-mixer \ > > CONFIGURE_ARGS = -DBINARY_RELEASE=ON \ > -DDEBUG=OFF > + > +USE_GMAKE = Yes > +USE_NINJA = No > > NO_TEST = Yes > > Index: distinfo > =================================================================== > RCS file: /cvs/ports/games/devilutionx/distinfo,v > retrieving revision 1.2 > diff -u -p -r1.2 distinfo > --- distinfo 18 Sep 2019 13:32:16 -0000 1.2 > +++ distinfo 9 Nov 2019 17:08:04 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (devilutionx-0.4.0pl20190914-c52464d2.tar.gz) = > M46b84l+ZUAcj44i7c4fnYpVAHPv4isUV6qUwNuAG2g= > -SIZE (devilutionx-0.4.0pl20190914-c52464d2.tar.gz) = 1163991 > +SHA256 (devilutionx-0.5.0-2afc5862.tar.gz) = > W+N9S07qWHqFLPuv9Km18EIY+x0dIHGHvgukmL5By7o= > +SIZE (devilutionx-0.5.0-2afc5862.tar.gz) = 1781028 > Index: patches/patch-CMakeLists_txt > =================================================================== > RCS file: /cvs/ports/games/devilutionx/patches/patch-CMakeLists_txt,v > retrieving revision 1.2 > diff -u -p -r1.2 patch-CMakeLists_txt > --- patches/patch-CMakeLists_txt 18 Sep 2019 13:32:16 -0000 1.2 > +++ patches/patch-CMakeLists_txt 9 Nov 2019 17:08:04 -0000 > @@ -1,25 +1,23 @@ > $OpenBSD: patch-CMakeLists_txt,v 1.2 2019/09/18 13:32:16 bcallah Exp $ > > -clang > +Don't do git here. > > Index: CMakeLists.txt > --- CMakeLists.txt.orig > +++ CMakeLists.txt > -@@ -35,7 +35,7 @@ if(NIGHTLY_BUILD) > - set(FASTER ON) > - endif() > +@@ -18,14 +18,8 @@ option(NIGHTLY_BUILD "Enable options for nightly build > + option(USE_SDL1 "Use SDL1.2 instead of SDL2" OFF) > + option(NONET "Disable network" OFF) > > --if(${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD) > -+if(${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD OR ${CMAKE_SYSTEM_NAME} STREQUAL > OpenBSD) > - set(ASAN OFF) > - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DO_LARGEFILE=0 -Dstat64=stat > -Dlstat64=lstat -Dlseek64=lseek -Doff64_t=off_t -Dfstat64=fstat > -Dftruncate64=ftruncate") > - endif() > -@@ -280,7 +280,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") > - # Silence warnings about __int64 alignment hack not always being > applicable > - target_compile_options(devilutionx PRIVATE -Wno-ignored-attributes) > - # Fix: error: cast from pointer to smaller type 'unsigned char' loses > information > -- target_compile_options(devilution PRIVATE -fms-extensions > -fms-compatibility -fms-compatibility-version=19.00) > -+ #target_compile_options(devilution PRIVATE -fms-extensions > -fms-compatibility -fms-compatibility-version=19.00) > - # Silence appfat.cpp warnings > - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-narrowing") > - endif() > +-include(CMake/git.cmake) > +-get_git_tag(GIT_TAG) > +-if(NOT CMAKE_BUILD_TYPE MATCHES "Release") > +- get_git_commit_hash(GIT_COMMIT_HASH) > +-endif() > +- > + project(DevilutionX > +- VERSION ${GIT_TAG} > ++ VERSION 0.5.0 > + LANGUAGES C CXX) > + > + if(BINARY_RELEASE) > Index: patches/patch-SourceS_miniwin_h > =================================================================== > RCS file: patches/patch-SourceS_miniwin_h > diff -N patches/patch-SourceS_miniwin_h > --- patches/patch-SourceS_miniwin_h 18 Sep 2019 13:32:16 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,31 +0,0 @@ > -$OpenBSD: patch-SourceS_miniwin_h,v 1.2 2019/09/18 13:32:16 bcallah Exp $ > - > -clang > - > -Index: SourceS/miniwin.h > ---- SourceS/miniwin.h.orig > -+++ SourceS/miniwin.h > -@@ -3,7 +3,7 @@ > - #include <ctype.h> > - #include <math.h> > - // work around https://reviews.llvm.org/D51265 > --#if defined(__APPLE__) || defined(__FreeBSD__) > -+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) > - #include "macos_stdarg.h" > - #else > - #include <stdarg.h> > -@@ -15,9 +15,13 @@ > - #include <time.h> > - // For _rotr() > - // _rotl and _rotr are predeclared in Clang. > --#if !defined(_MSC_VER) && !defined(__clang__) && defined(DEVILUTION_ENGINE) > -+#if !defined(_MSC_VER) && defined(DEVILUTION_ENGINE) > - #if defined(__x86_64__) || defined(__i386__) > - #include <x86intrin.h> > -+#if defined(__clang__) > -+#define _rotl(x, v) __builtin_rotateleft32(x, v) > -+#define _rotr(x, v) __builtin_rotateright32(x, v) > -+#endif > - #else > - unsigned int _rotl(unsigned int value, int shift); > - unsigned int _rotr(unsigned int value, int shift); > Index: patches/patch-Source_engine_cpp > =================================================================== > RCS file: patches/patch-Source_engine_cpp > diff -N patches/patch-Source_engine_cpp > --- patches/patch-Source_engine_cpp 18 Sep 2019 13:32:16 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,42 +0,0 @@ > -$OpenBSD: patch-Source_engine_cpp,v 1.2 2019/09/18 13:32:16 bcallah Exp $ > - > -clang > - > -Index: Source/engine.cpp > ---- Source/engine.cpp.orig > -+++ Source/engine.cpp > -@@ -264,14 +264,14 @@ void CelDecDatLightTrans(BYTE *pDecodeTo, BYTE *pRLEBy > - dst = pDecodeTo; > - tbl = &pLightTbl[light_table_index * 256]; > - w = nWidth; > -- shift = (BYTE)dst & 1; > -+ shift = (uintptr_t)dst & 1; > - > - for (; src != &pRLEBytes[nDataSize]; dst -= BUFFER_WIDTH + w, shift = > (shift + 1) & 1) { > - for (i = w; i;) { > - width = *src++; > - if (!(width & 0x80)) { > - i -= width; > -- if (((BYTE)dst & 1) == shift) { > -+ if (((uintptr_t)dst & 1) == shift) { > - if (!(width & 1)) { > - goto L_ODD; > - } else { > -@@ -733,7 +733,7 @@ void Cel2DecDatLightTrans(BYTE *pDecodeTo, BYTE *pRLEB > - dst = pDecodeTo; > - tbl = &pLightTbl[light_table_index * 256]; > - w = nWidth; > -- shift = (BYTE)dst & 1; > -+ shift = (uintptr_t)dst & 1; > - > - for (; src != &pRLEBytes[nDataSize]; dst -= BUFFER_WIDTH + w, shift = > (shift + 1) & 1) { > - for (i = w; i;) { > -@@ -741,7 +741,7 @@ void Cel2DecDatLightTrans(BYTE *pDecodeTo, BYTE *pRLEB > - if (!(width & 0x80)) { > - i -= width; > - if (dst < gpBufEnd) { > -- if (((BYTE)dst & 1) == shift) { > -+ if (((uintptr_t)dst & 1) == shift) { > - if (!(width & 1)) { > - goto L_ODD; > - } else { > Index: patches/patch-Source_init_cpp > =================================================================== > RCS file: patches/patch-Source_init_cpp > diff -N patches/patch-Source_init_cpp > --- patches/patch-Source_init_cpp 18 Sep 2019 13:32:16 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,14 +0,0 @@ > -$OpenBSD: patch-Source_init_cpp,v 1.2 2019/09/18 13:32:16 bcallah Exp $ > - > -Index: Source/init.cpp > ---- Source/init.cpp.orig > -+++ Source/init.cpp > -@@ -60,7 +60,7 @@ void init_disable_screensaver(BOOLEAN disable) > - // BUGFIX: this is probably the worst possible way to do this. > Alternatives: ExtEscape() with SETPOWERMANAGEMENT, > - // SystemParametersInfo() with > SPI_SETSCREENSAVEACTIVE/SPI_SETPOWEROFFACTIVE/SPI_SETLOWPOWERACTIVE > - > -- success = RegOpenKeyEx(HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, > KEY_READ | KEY_WRITE, (PHKEY)&phkResult); > -+ success = RegOpenKeyEx(HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, > KEY_READ | KEY_WRITE, (uintptr_t)&phkResult); > - if (success != ERROR_SUCCESS) { > - return; > - } > Index: patches/patch-defs_h > =================================================================== > RCS file: patches/patch-defs_h > diff -N patches/patch-defs_h > --- patches/patch-defs_h 18 Sep 2019 13:32:16 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,14 +0,0 @@ > -$OpenBSD: patch-defs_h,v 1.2 2019/09/18 13:32:16 bcallah Exp $ > - > -Index: defs.h > ---- defs.h.orig > -+++ defs.h > -@@ -163,7 +163,7 @@ > - // Typedef for the function pointer > - typedef void (*_PVFV)(void); > - > --#if defined(_MSC_VER) && !(defined(__APPLE__)|| defined(__FreeBSD__)) > -+#if defined(_MSC_VER) && !(defined(__APPLE__)|| defined(__FreeBSD__) || > defined(__OpenBSD__)) > - // Define our segment names > - #define SEGMENT_C_INIT ".CRT$XCU" > -
