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

> [...]
> -     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)

> [...]

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"


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


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

Attachment: zmusic.tar.gz
Description: Binary data

Reply via email to