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"
> - 

Reply via email to