Timo Myyrä <timo.my...@bittivirhe.fi> [2021-12-19, 10:58 +0200]:

> Omar Polo <o...@openbsd.org> [2021-12-15, 20:44 +0100]:
>
>> Timo Myyrä <timo.my...@bittivirhe.fi> writes:
>>
>>> Hi,
>>>
>>> A bit delayed update to gzdoom. The upstream have made chopped the music
>>> part as standalone library which I sent to ports@ earlier (audio/zmusic)
>>> which is needed by this update.
>>>
>>> Quickly tested on doom1 which appeared to be working.
>>>
>>>[...]
>>>
>>>  CONFIGURE_ARGS +=  -DNO_GTK=ON
>>> -CONFIGURE_ARGS +=  -DDYN_OPENAL=NO -DDYN_MPG123=NO -DDYN_SNDFILE=NO
>>> -CONFIGURE_ARGS +=  -DFLUIDSYNTHLIB1="libfluidsynth.so"
>>> +CONFIGURE_ARGS +=  -DDYN_OPENAL=NO
>>> +# Sync with audio/fluidsynth
>>> +CONFIGURE_ARGS +=  -DFLUIDSYNTHLIB1="libfluidsynth.so.2.0"
>>
>> this bit (and the relative patch to the CMakeList.txt) is no more needed
>> since the audio is moved to zmusic, and I can't find other instances of
>> FLUIDSYNTHLIB1, so they can be dropped
>>
>
> ah, good point. A grepped the sources but did not notice the
> FLUIDSYNTHLIB1 was added by local patch so I kept that. 
>
>>> [...]
>>> -   if ( UNIX )
>>> -           include(CheckSymbolExists)
>>> --          check_symbol_exists( "fts_set" "fts.h" HAVE_FTS )
>>> -+          check_symbol_exists( "fts_set" "sys/types.h;sys/stat.h;fts.h" 
>>> HAVE_FTS )
>>
>> this is still needed otherwise it doesn't find fts_set (there's
>> virtually the same patch on zmusic too)
>>
>
> Good catch.
>
>>> [...]
>>
>> It breaks the build if graphics/glslang is installed.  gzdoom uses its
>> own bundled version of the vulkan sdk but the compiler ends up including
>> the system header instead of the bundled one.  There are different
>> solution for this:
>>
>> 1. cherry-pick this diff
>>    
>> https://github.com/alexey-lysiuk/gzdoom/commit/5c9fb205d9231abbd8a3bf744850db02c0754057
>>
>>   (see https://github.com/coelckers/gzdoom/issues/1382)
>>
>> 2. add `CONFIGURE_ARGS += -DHAVE_VULKAN=OFF' to completely disable
>>    vulkan, or
>>
>> 3. use the same trick sdk@ used for net/tdlib-purple:
>>
>> CONFIGURE_ARGS += -DCMAKE_CXX_FLAGS="${CXXFLAGS} -I. -I${LOCALBASE}/include"
>>
>>
>
> Yeah, I think we can go with the third option.
>
>> 1) is probably overkill for us, 2) is what I initially did but 3) is
>> probably the more pragmatic solution.  I went with the third option in
>> the diff below, but either is fine I guess.
>>
>> I'm also re-attaching the tweaked audio/zmusic tarball for convenience
>> (which is ok op@ to import if someone wants to).  see
>> https://marc.info/?l=openbsd-ports&m=163916682506561&w=2
>>
>> Tested on amdgpu with the shareware IWAD file mentioned in README and
>> works fine!
>>
>> Thanks,
>>
>> Omar Polo
>
> Ok from me for these fixes.
>
> Timo
>
>>
>> Index: Makefile
>> ===================================================================
>> RCS file: /home/cvs/ports/games/gzdoom/Makefile,v
>> retrieving revision 1.13
>> diff -u -p -r1.13 Makefile
>> --- Makefile 25 Oct 2021 07:19:59 -0000      1.13
>> +++ Makefile 15 Dec 2021 19:59:09 -0000
>> @@ -8,12 +8,11 @@ ONLY_FOR_ARCHS =   i386 amd64
>>  
>>  COMMENT =           OpenGL engine for idTech 1 games like 
>> doom,hexen,heretic...
>>  
>> -V =                 4.3.3
>> +V =                 4.7.1
>>  GH_ACCOUNT =                coelckers
>>  GH_PROJECT =                gzdoom
>>  GH_TAGNAME =                g${V}
>>  DISTNAME =          gzdoom-${V}
>> -REVISION =          1
>>  
>>  CATEGORIES=         games
>>  
>> @@ -24,21 +23,21 @@ MAINTAINER =             Timo Myyra <timo.myyra@bit
>>  # GPLv3
>>  PERMIT_PACKAGE =    Yes
>>  
>> -WANTLIB +=          ${COMPILER_LIBCXX} SDL2 bz2 c execinfo jpeg m mpg123
>> -WANTLIB +=          openal sndfile z
>> +WANTLIB += ${COMPILER_LIBCXX} SDL2 bz2 c execinfo jpeg m
>> +WANTLIB += openal z zmusic
>>  
>> +# C++17
>>  COMPILER =          base-clang ports-gcc
>>  
>>  MODULES =           devel/cmake
>>  
>>  CONFIGURE_ARGS +=   -DNO_GTK=ON
>> -CONFIGURE_ARGS +=   -DDYN_OPENAL=NO -DDYN_MPG123=NO -DDYN_SNDFILE=NO
>> -CONFIGURE_ARGS +=   -DFLUIDSYNTHLIB1="libfluidsynth.so"
>> +CONFIGURE_ARGS +=   -DDYN_OPENAL=NO
>>  CONFIGURE_ARGS +=   -DHAVE_STDINT_H=1
>> +CONFIGURE_ARGS +=   -DCMAKE_CXX_FLAGS="${CXXFLAGS} -I. 
>> -I${LOCALBASE}/include"
>>  
>> -LIB_DEPENDS =               audio/libsndfile \
>> -                    audio/mpg123 \
>> -                    audio/openal \
>> +LIB_DEPENDS =               audio/openal \
>> +                    audio/zmusic \
>>                      archivers/bzip2 \
>>                      graphics/jpeg \
>>                      devel/sdl2
>> Index: distinfo
>> ===================================================================
>> RCS file: /home/cvs/ports/games/gzdoom/distinfo,v
>> retrieving revision 1.5
>> diff -u -p -r1.5 distinfo
>> --- distinfo 9 Mar 2020 12:18:50 -0000       1.5
>> +++ distinfo 15 Dec 2021 18:03:21 -0000
>> @@ -1,2 +1,2 @@
>> -SHA256 (gzdoom-4.3.3.tar.gz) = j+a/WQcdxgPmEenoIs2KaTTMSB0KKhmNkhr4gSZmG2A=
>> -SIZE (gzdoom-4.3.3.tar.gz) = 13704956
>> +SHA256 (gzdoom-4.7.1.tar.gz) = RUJXWCvgV2UB7vHvyZ/n6nDxxNeZNUnbPLxwnOdfwQI=
>> +SIZE (gzdoom-4.7.1.tar.gz) = 19562412
>> Index: patches/patch-libraries_glslang_glslang_Include_PoolAlloc_h
>> ===================================================================
>> RCS file: patches/patch-libraries_glslang_glslang_Include_PoolAlloc_h
>> diff -N patches/patch-libraries_glslang_glslang_Include_PoolAlloc_h
>> --- patches/patch-libraries_glslang_glslang_Include_PoolAlloc_h      6 Aug 
>> 2020 11:11:12 -0000       1.1
>> +++ /dev/null        1 Jan 1970 00:00:00 -0000
>> @@ -1,18 +0,0 @@
>> -$OpenBSD: patch-libraries_glslang_glslang_Include_PoolAlloc_h,v 1.1 
>> 2020/08/06 11:11:12 edd Exp $
>> -
>> -Fix build on base Clang 10.
>> -
>> -It's the same fix as this:
>> -https://github.com/KhronosGroup/glslang/pull/2010/commits/24b3e8384e93f3e73b6aa14ea00a30574112f9ba
>> -
>> -Index: libraries/glslang/glslang/Include/PoolAlloc.h
>> ---- libraries/glslang/glslang/Include/PoolAlloc.h.orig
>> -+++ libraries/glslang/glslang/Include/PoolAlloc.h
>> -@@ -304,7 +304,6 @@ class pool_allocator { (public)
>> -     size_type max_size() const { return static_cast<size_type>(-1) / 
>> sizeof(T); }
>> -     size_type max_size(int size) const { return static_cast<size_type>(-1) 
>> / size; }
>> - 
>> --    void setAllocator(TPoolAllocator* a) { allocator = *a; }
>> -     TPoolAllocator& getAllocator() const { return allocator; }
>> - 
>> - protected:
>> Index: patches/patch-libraries_wildmidi_wildmidi_wildmidi_lib_h
>> ===================================================================
>> RCS file: patches/patch-libraries_wildmidi_wildmidi_wildmidi_lib_h
>> diff -N patches/patch-libraries_wildmidi_wildmidi_wildmidi_lib_h
>> --- patches/patch-libraries_wildmidi_wildmidi_wildmidi_lib_h 6 Dec 2019 
>> 17:40:24 -0000       1.1
>> +++ /dev/null        1 Jan 1970 00:00:00 -0000
>> @@ -1,13 +0,0 @@
>> -$OpenBSD: patch-libraries_wildmidi_wildmidi_wildmidi_lib_h,v 1.1 2019/12/06 
>> 17:40:24 solene Exp $
>> -
>> -Index: libraries/wildmidi/wildmidi/wildmidi_lib.h
>> ---- libraries/wildmidi/wildmidi/wildmidi_lib.h.orig
>> -+++ libraries/wildmidi/wildmidi/wildmidi_lib.h
>> -@@ -28,6 +28,7 @@
>> - #define WILDMIDI_LIB_H
>> - 
>> - #include "../../music_common/fileio.h"
>> -+#include <stdarg.h>
>> - 
>> - namespace WildMidi
>> - {
>> Index: 
>> patches/patch-libraries_zmusic_mididevices_music_fluidsynth_mididevice_cpp
>> ===================================================================
>> RCS file: 
>> patches/patch-libraries_zmusic_mididevices_music_fluidsynth_mididevice_cpp
>> diff -N 
>> patches/patch-libraries_zmusic_mididevices_music_fluidsynth_mididevice_cpp
>> --- 
>> patches/patch-libraries_zmusic_mididevices_music_fluidsynth_mididevice_cpp   
>>     9 Mar 2020 12:18:50 -0000       1.2
>> +++ /dev/null        1 Jan 1970 00:00:00 -0000
>> @@ -1,18 +0,0 @@
>> -$OpenBSD: 
>> patch-libraries_zmusic_mididevices_music_fluidsynth_mididevice_cpp,v 1.2 
>> 2020/03/09 12:18:50 solene Exp $
>> -
>> -Index: libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp
>> ---- libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp.orig
>> -+++ libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp
>> -@@ -141,8 +141,12 @@ class FluidSynthMIDIDevice : public SoftSynthMIDIDevic
>> - #define FLUIDSYNTHLIB1     "libfluidsynth.1.dylib"
>> - #define FLUIDSYNTHLIB2     "libfluidsynth.2.dylib"
>> - #else // !__APPLE__
>> -+#ifndef FLUIDSYNTHLIB1
>> - #define FLUIDSYNTHLIB1     "libfluidsynth.so.1"
>> -+#endif
>> -+#ifndef FLUIDSYNTHLIB2
>> - #define FLUIDSYNTHLIB2     "libfluidsynth.so.2"
>> -+#endif
>> - #endif // __APPLE__
>> - #endif
>> - 
>> Index: patches/patch-libraries_zmusic_zmusic_mididefs_h
>> ===================================================================
>> RCS file: patches/patch-libraries_zmusic_zmusic_mididefs_h
>> diff -N patches/patch-libraries_zmusic_zmusic_mididefs_h
>> --- patches/patch-libraries_zmusic_zmusic_mididefs_h 6 Dec 2019 17:40:24 
>> -0000       1.1
>> +++ /dev/null        1 Jan 1970 00:00:00 -0000
>> @@ -1,13 +0,0 @@
>> -$OpenBSD: patch-libraries_zmusic_zmusic_mididefs_h,v 1.1 2019/12/06 
>> 17:40:24 solene Exp $
>> -
>> -Index: libraries/zmusic/zmusic/mididefs.h
>> ---- libraries/zmusic/zmusic/mididefs.h.orig
>> -+++ libraries/zmusic/zmusic/mididefs.h
>> -@@ -1,6 +1,7 @@
>> - #pragma once
>> - 
>> - #include <stdint.h>
>> -+#include <stdarg.h>
>> - 
>> - enum
>> - {
>> Index: patches/patch-libraries_zmusic_zmusic_zmusic_h
>> ===================================================================
>> RCS file: patches/patch-libraries_zmusic_zmusic_zmusic_h
>> diff -N patches/patch-libraries_zmusic_zmusic_zmusic_h
>> --- patches/patch-libraries_zmusic_zmusic_zmusic_h   9 Mar 2020 12:18:50 
>> -0000       1.1
>> +++ /dev/null        1 Jan 1970 00:00:00 -0000
>> @@ -1,20 +0,0 @@
>> -$OpenBSD: patch-libraries_zmusic_zmusic_zmusic_h,v 1.1 2020/03/09 12:18:50 
>> solene Exp $
>> -
>> -Index: libraries/zmusic/zmusic/zmusic.h
>> ---- libraries/zmusic/zmusic/zmusic.h.orig
>> -+++ libraries/zmusic/zmusic/zmusic.h
>> -@@ -4,6 +4,7 @@
>> - #include <stdint.h>
>> - #include <vector>
>> - #include <string>
>> -+#include <stdarg.h>
>> - 
>> - // These constants must match the corresponding values of the Windows 
>> headers
>> - // to avoid readjustment in the native Windows device's playback functions 
>> -@@ -314,4 +315,4 @@ inline bool ChangeMusicSetting(EStringConfigKey key, Z
>> -    return ChangeMusicSettingString(key, song, value);
>> - }
>> - 
>> --#endif
>> -\ No newline at end of file
>> -+#endif
>> Index: patches/patch-src_CMakeLists_txt
>> ===================================================================
>> RCS file: /home/cvs/ports/games/gzdoom/patches/patch-src_CMakeLists_txt,v
>> retrieving revision 1.3
>> diff -u -p -r1.3 patch-src_CMakeLists_txt
>> --- patches/patch-src_CMakeLists_txt 6 Dec 2019 17:40:24 -0000       1.3
>> +++ patches/patch-src_CMakeLists_txt 15 Dec 2021 18:36:52 -0000
>> @@ -3,18 +3,7 @@ $OpenBSD: patch-src_CMakeLists_txt,v 1.3
>>  Index: src/CMakeLists.txt
>>  --- src/CMakeLists.txt.orig
>>  +++ src/CMakeLists.txt
>> -@@ -39,6 +39,10 @@ if( NOT ZDOOM_LIBS )
>> -    set( ZDOOM_LIBS "" )
>> - endif()
>> - 
>> -+# add override for dynamic library name
>> -+set(FLUIDSYNTHLIB1 "libfluidsynth.so.0" CACHE STRING "Library name for 
>> Fluidsynth")
>> -+add_definitions( -DFLUIDSYNTHLIB1="${FLUIDSYNTHLIB1}" )
>> -+
>> - if( WIN32 )
>> -    if( X64 )
>> -            set( WIN_TYPE Win64 )
>> -@@ -386,7 +390,7 @@ CHECK_CXX_SOURCE_COMPILES("thread_local int i; int mai
>> +@@ -356,7 +360,7 @@ CHECK_CXX_SOURCE_COMPILES("thread_local int i; int mai
>>      HAVE_THREAD_LOCAL)
>>   
>>   if( NOT HAVE_THREAD_LOCAL )
>> Index: patches/patch-src_scripting_vm_vmframe_cpp
>> ===================================================================
>> RCS file: patches/patch-src_scripting_vm_vmframe_cpp
>> diff -N patches/patch-src_scripting_vm_vmframe_cpp
>> --- patches/patch-src_scripting_vm_vmframe_cpp       26 Jun 2019 07:12:04 
>> -0000      1.2
>> +++ /dev/null        1 Jan 1970 00:00:00 -0000
>> @@ -1,16 +0,0 @@
>> -$OpenBSD: patch-src_scripting_vm_vmframe_cpp,v 1.2 2019/06/26 07:12:04 
>> solene Exp $
>> -
>> -disable JIT so it's W^X compatible
>> -
>> -Index: src/scripting/vm/vmframe.cpp
>> ---- src/scripting/vm/vmframe.cpp.orig
>> -+++ src/scripting/vm/vmframe.cpp
>> -@@ -45,7 +45,7 @@
>> - #include "version.h"
>> - 
>> - #ifdef HAVE_VM_JIT
>> --CUSTOM_CVAR(Bool, vm_jit, true, CVAR_NOINITCALL)
>> -+CUSTOM_CVAR(Bool, vm_jit, false, CVAR_NOINITCALL)
>> - {
>> -    Printf("You must restart " GAMENAME " for this change to take 
>> effect.\n");
>> -    Printf("This cvar is currently not saved. You must specify it on the 
>> command line.");
>> Index: pkg/PLIST
>> ===================================================================
>> RCS file: /home/cvs/ports/games/gzdoom/pkg/PLIST,v
>> retrieving revision 1.2
>> diff -u -p -r1.2 PLIST
>> --- pkg/PLIST        6 Dec 2019 17:40:24 -0000       1.2
>> +++ pkg/PLIST        15 Dec 2021 18:03:21 -0000
>> @@ -18,6 +18,12 @@ share/doc/pkg-readmes/${PKGSTEM}
>>  share/games/
>>  share/games/doom/
>>  share/games/doom/brightmaps.pk3
>> +share/games/doom/fm_banks/
>> +share/games/doom/fm_banks/GENMIDI.GS.wopl
>> +share/games/doom/fm_banks/gs-by-papiezak-and-sneakernets.wopn
>>  share/games/doom/game_support.pk3
>> +share/games/doom/game_widescreen_gfx.pk3
>>  share/games/doom/gzdoom.pk3
>>  share/games/doom/lights.pk3
>> +share/games/doom/soundfonts/
>> +share/games/doom/soundfonts/gzdoom.sf2

Ping...

Timo

Reply via email to