git: 575ab79a854f - main - multimedia/ffmpeg: fix build with glslang >= 16.0 when GLSLANG option is ON

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Wed, 01 Oct 2025 09:03:27 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=575ab79a854f795369be0eccad6b1ce8d17834c8

commit 575ab79a854f795369be0eccad6b1ce8d17834c8
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2025-10-01 09:00:24 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-10-01 09:00:24 +0000

    multimedia/ffmpeg: fix build with glslang >= 16.0 when GLSLANG option is ON
    
    No port revision bump since GLSLANG is not a default option.
    
    PR:             289912
    Reported by:    Frank Reisert <bugs@rufus.in-berlin.de>
    Tested by:      Frank Reisert <bugs@rufus.in-berlin.de>
    Approved by:    portmgr (blanket; build fix)
    Obtained from:  https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/f1e9032a2000b8b885cffd6fed8eacd47b37673f
---
 multimedia/ffmpeg/files/patch-configure | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/multimedia/ffmpeg/files/patch-configure b/multimedia/ffmpeg/files/patch-configure
index 9654237228cc..68b483a630e6 100644
--- a/multimedia/ffmpeg/files/patch-configure
+++ b/multimedia/ffmpeg/files/patch-configure
@@ -15,16 +15,26 @@
  cpu="generic"
  intrinsics="none"
  
-@@ -6715,10 +6709,10 @@ enabled libglslang && { check_lib spirv_compiler glsla
+@@ -6714,12 +6708,17 @@ enabled libharfbuzz       && require_pkg_config libhar
+ enabled libfreetype       && require_pkg_config libfreetype freetype2 "ft2build.h FT_FREETYPE_H" FT_Init_FreeType
  enabled libfribidi        && require_pkg_config libfribidi fribidi fribidi.h fribidi_version_info
  enabled libharfbuzz       && require_pkg_config libharfbuzz harfbuzz hb.h hb_buffer_create
- enabled libglslang && { check_lib spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \
+-enabled libglslang && { check_lib spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \
 -                            -lglslang -lMachineIndependent -lOSDependent -lHLSL -lOGLCompiler -lGenericCodeGen \
+-                            -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm ||
++
++if enabled libglslang; then
++    spvremap="-lSPVRemapper"
++    require_headers "glslang/build_info.h" && { test_cpp_condition glslang/build_info.h "GLSLANG_VERSION_MAJOR >= 16" && spvremap="" ; }
++    check_lib spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \
 +                            -lglslang -lMachineIndependent -lOSDependent -lGenericCodeGen \
-                             -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm ||
++                            ${spvremap} -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm ||
                          require spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \
 -                            -lglslang -lOSDependent -lHLSL -lOGLCompiler \
+-                            -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm; }
 +                            -lglslang -lOSDependent \
-                             -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm; }
++                            ${spvremap} -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm;
++fi
  enabled libgme            && { check_pkg_config libgme libgme gme/gme.h gme_new_emu ||
                                 require libgme gme/gme.h gme_new_emu -lgme -lstdc++; }
+ enabled libgsm            && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do