git: 18688552f5b9 - main - multimedia/qt6-multimedia: Fix 32-bit builds

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Mon, 31 Mar 2025 07:34:28 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=18688552f5b9cab1f860bf4efcb9c028acacdc29

commit 18688552f5b9cab1f860bf4efcb9c028acacdc29
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2025-03-31 07:24:53 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2025-03-31 07:34:22 +0000

    multimedia/qt6-multimedia: Fix 32-bit builds
    
    /wrkdirs/usr/ports/multimedia/qt6-multimedia/work/qtmultimedia-everywhere-src-6.8.3/src/multimedia/pulseaudio/qpulseaudiosink.cpp:499:89:
    error: non-constant-expression cannot be narrowed from type 'qint64' (aka 'long long') to 'qsizetype' (aka 'int') in initializer list [-Wc++11-narrowing]
      499 |                                       QSpan{ reinterpret_cast<const std::byte *>(data), len },
          |                                                                                         ^~~
    /wrkdirs/usr/ports/multimedia/qt6-multimedia/work/qtmultimedia-everywhere-src-6.8.3/src/multimedia/pulseaudio/qpulseaudiosink.cpp:499:89:
    note: insert an explicit cast to silence this issue
      499 |                                       QSpan{ reinterpret_cast<const std::byte *>(data), len },
          |                                                                                         ^~~
          |                                                                                         static_cast<qsizetype>( )
    /wrkdirs/usr/ports/multimedia/qt6-multimedia/work/qtmultimedia-everywhere-src-6.8.3/src/multimedia/pulseaudio/qpulseaudiosink.cpp:500:83:
    error: non-constant-expression cannot be narrowed from type 'qint64' (aka 'long long') to 'qsizetype' (aka 'int') in initializer list [-Wc++11-narrowing]
      500 |                                       QSpan{ reinterpret_cast<std::byte *>(dest), len });
          |                                                                                   ^~~
    /wrkdirs/usr/ports/multimedia/qt6-multimedia/work/qtmultimedia-everywhere-src-6.8.3/src/multimedia/pulseaudio/qpulseaudiosink.cpp:500:83:
    note: insert an explicit cast to silence this issue
      500 |                                       QSpan{ reinterpret_cast<std::byte *>(dest), len });
          |                                                                                   ^~~
          |                                                                                   static_cast<qsizetype>( )
    2 errors generated.
    
    Reported by:    pkg-fallout
---
 .../patch-src_multimedia_pulseaudio_qpulseaudiosink.cpp   | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/multimedia/qt6-multimedia/files/patch-src_multimedia_pulseaudio_qpulseaudiosink.cpp b/multimedia/qt6-multimedia/files/patch-src_multimedia_pulseaudio_qpulseaudiosink.cpp
new file mode 100644
index 000000000000..42f24b8af9cb
--- /dev/null
+++ b/multimedia/qt6-multimedia/files/patch-src_multimedia_pulseaudio_qpulseaudiosink.cpp
@@ -0,0 +1,15 @@
+Fix 32-bit builds with PULSEAUDIO option.
+
+--- src/multimedia/pulseaudio/qpulseaudiosink.cpp.orig	2025-02-20 14:13:07 UTC
++++ src/multimedia/pulseaudio/qpulseaudiosink.cpp
+@@ -496,8 +496,8 @@ qint64 QPulseAudioSink::write(const char *data, qint64
+     // or even affect the system volume if flat volumes are enabled
+ 
+     QAudioHelperInternal::applyVolume(m_volume, m_format,
+-                                      QSpan{ reinterpret_cast<const std::byte *>(data), len },
+-                                      QSpan{ reinterpret_cast<std::byte *>(dest), len });
++                                      QSpan{ reinterpret_cast<const std::byte *>(data), static_cast<qsizetype>(len) },
++                                      QSpan{ reinterpret_cast<std::byte *>(dest), static_cast<qsizetype>(len) });
+ 
+     if ((pa_stream_write(m_stream.get(), dest, len, nullptr, 0, PA_SEEK_RELATIVE)) < 0) {
+         engineLock.unlock();