On Sun Oct 25, 2026 at 07:43:26AM +0000, Stuart Henderson wrote:
> On 2026/10/24 00:21, Rafael Sadowski wrote:
> >     x11/qt6/qtmultimedia: Makefile distinfo 
> >     x11/qt6/qtmultimedia/patches: 
> >                                   patch-src_multimedia_CMakeLists_txt 
> >                                   
> > patch-src_plugins_multimedia_ffmpeg_CMakeLists_txt 
> >     x11/qt6/qtmultimedia/pkg: PLIST 
> 
> this fails on i386:
> 
> 
> [155/476] /pobj/qt6-qtmultimedia-6.12.0/bin/c++ -DDR_WAV_NO_STDIO 
> -DMultimedia_EXPORTS -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT 
> -DQT_BUILD_MULTIMEDIA_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB 
> -DQT_DEPRECATED_WARNINGS 
> -DQT_ENABLE_STRICT_MODE_UP_TO="QT_VERSION_CHECK(6,11,0)" 
> -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_GUI_LIB -DQT_LEAN_HEADERS=1 
> -DQT_MOC_COMPAT -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII 
> -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH 
> -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT 
> -DQT_NO_QASCONST -DQT_NO_QEXCHANGE -DQT_NO_QPAIR=1 -DQT_NO_QSNPRINTF 
> -DQT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD=1 -DQT_NO_STD_FORMAT_SUPPORT 
> -DQT_USE_QSTRINGBUILDER -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE 
> -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST 
> -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/src/multimedia/Multimedia_autogen/include
>  -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/include 
> -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/include/QtMultimedia 
> -I/pobj/qt6-qtmultimedia-6.12.0/qtmultimedia-everywhere-src-6.12.0/src/multimedia
>  -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/src/multimedia 
> -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/include/QtMultimedia/6.12.0 
> -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/include/QtMultimedia/6.12.0/QtMultimedia
>  
> -I/pobj/qt6-qtmultimedia-6.12.0/qtmultimedia-everywhere-src-6.12.0/src/3rdparty/tlsf
>  -isystem 
> /pobj/qt6-qtmultimedia-6.12.0/qtmultimedia-everywhere-src-6.12.0/src/multimedia/../3rdparty/dr_libs
>  -isystem /usr/local/include/pipewire-0.3 -isystem /usr/local/include/spa-0.2 
> -isystem /usr/local/include/X11/qt6/QtCore -isystem 
> /usr/local/include/X11/qt6 -isystem /usr/local/lib/qt6/mkspecs/openbsd-clang 
> -isystem /usr/local/include/X11/qt6/QtGui -isystem /usr/X11R6/include 
> -isystem /usr/local/include/X11/qt6/QtCore/6.12.0 -isystem 
> /usr/local/include/X11/qt6/QtCore/6.12.0/QtCore -isystem 
> /usr/local/include/X11/qt6/QtGui/6.12.0 -isystem 
> /usr/local/include/X11/qt6/QtGui/6.12.0/QtGui -isystem 
> /usr/local/include/X11/qt6/QtConcurrent -isystem 
> /usr/local/include/X11/qt6/QtNetwork -isystem 
> /usr/local/include/X11/qt6/QtDBus -O2 -pipe  -msse2 -I/usr/local/include 
> -DNDEBUG -O2 -std=gnu++17 -fPIC -fvisibility=hidden 
> -fvisibility-inlines-hidden -Wall -Wextra -fPIC -pthread 
> -ftrivial-auto-var-init=pattern -fstack-protector-strong -fno-exceptions -MD 
> -MT 
> src/multimedia/CMakeFiles/Multimedia.dir/pipewire/qpipewire_propertydict.cpp.o
>  -MF 
> src/multimedia/CMakeFiles/Multimedia.dir/pipewire/qpipewire_propertydict.cpp.o.d
>  -o 
> src/multimedia/CMakeFiles/Multimedia.dir/pipewire/qpipewire_propertydict.cpp.o
>  -c 
> /pobj/qt6-qtmultimedia-6.12.0/qtmultimedia-everywhere-src-6.12.0/src/multimedia/pipewire/qpipewire_propertydict.cpp
> FAILED: 
> src/multimedia/CMakeFiles/Multimedia.dir/pipewire/qpipewire_propertydict.cpp.o
>  
> /pobj/qt6-qtmultimedia-6.12.0/bin/c++ -DDR_WAV_NO_STDIO -DMultimedia_EXPORTS 
> -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_MULTIMEDIA_LIB 
> -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DEPRECATED_WARNINGS 
> -DQT_ENABLE_STRICT_MODE_UP_TO="QT_VERSION_CHECK(6,11,0)" 
> -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_GUI_LIB -DQT_LEAN_HEADERS=1 
> -DQT_MOC_COMPAT -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII 
> -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH 
> -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT 
> -DQT_NO_QASCONST -DQT_NO_QEXCHANGE -DQT_NO_QPAIR=1 -DQT_NO_QSNPRINTF 
> -DQT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD=1 -DQT_NO_STD_FORMAT_SUPPORT 
> -DQT_USE_QSTRINGBUILDER -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE 
> -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST 
> -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/src/multimedia/Multimedia_autogen/include
>  -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/include 
> -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/include/QtMultimedia 
> -I/pobj/qt6-qtmultimedia-6.12.0/qtmultimedia-everywhere-src-6.12.0/src/multimedia
>  -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/src/multimedia 
> -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/include/QtMultimedia/6.12.0 
> -I/pobj/qt6-qtmultimedia-6.12.0/build-i386/include/QtMultimedia/6.12.0/QtMultimedia
>  
> -I/pobj/qt6-qtmultimedia-6.12.0/qtmultimedia-everywhere-src-6.12.0/src/3rdparty/tlsf
>  -isystem 
> /pobj/qt6-qtmultimedia-6.12.0/qtmultimedia-everywhere-src-6.12.0/src/multimedia/../3rdparty/dr_libs
>  -isystem /usr/local/include/pipewire-0.3 -isystem /usr/local/include/spa-0.2 
> -isystem /usr/local/include/X11/qt6/QtCore -isystem 
> /usr/local/include/X11/qt6 -isystem /usr/local/lib/qt6/mkspecs/openbsd-clang 
> -isystem /usr/local/include/X11/qt6/QtGui -isystem /usr/X11R6/include 
> -isystem /usr/local/include/X11/qt6/QtCore/6.12.0 -isystem 
> /usr/local/include/X11/qt6/QtCore/6.12.0/QtCore -isystem 
> /usr/local/include/X11/qt6/QtGui/6.12.0 -isystem 
> /usr/local/include/X11/qt6/QtGui/6.12.0/QtGui -isystem 
> /usr/local/include/X11/qt6/QtConcurrent -isystem 
> /usr/local/include/X11/qt6/QtNetwork -isystem 
> /usr/local/include/X11/qt6/QtDBus -O2 -pipe  -msse2 -I/usr/local/include 
> -DNDEBUG -O2 -std=gnu++17 -fPIC -fvisibility=hidden 
> -fvisibility-inlines-hidden -Wall -Wextra -fPIC -pthread 
> -ftrivial-auto-var-init=pattern -fstack-protector-strong -fno-exceptions -MD 
> -MT 
> src/multimedia/CMakeFiles/Multimedia.dir/pipewire/qpipewire_propertydict.cpp.o
>  -MF 
> src/multimedia/CMakeFiles/Multimedia.dir/pipewire/qpipewire_propertydict.cpp.o.d
>  -o 
> src/multimedia/CMakeFiles/Multimedia.dir/pipewire/qpipewire_propertydict.cpp.o
>  -c 
> /pobj/qt6-qtmultimedia-6.12.0/qtmultimedia-everywhere-src-6.12.0/src/multimedia/pipewire/qpipewire_propertydict.cpp
> /pobj/qt6-qtmultimedia-6.12.0/qtmultimedia-everywhere-src-6.12.0/src/multimedia/pipewire/qpipewire_propertydict.cpp:34:51:
>  error: non-constant-expression cannot be narrowed from type 'uint32_t' (aka 
> 'unsigned int') to 'qsizetype' (aka 'int') in initializer list 
> [-Wc++11-narrowing]
>    34 |     QSpan<const spa_dict_item> items{ dict.items, dict.n_items };
>       |                                                   ^~~~~~~~~~~~
> /pobj/qt6-qtmultimedia-6.12.0/qtmultimedia-everywhere-src-6.12.0/src/multimedia/pipewire/qpipewire_propertydict.cpp:34:51:
>  note: insert an explicit cast to silence this issue
>    34 |     QSpan<const spa_dict_item> items{ dict.items, dict.n_items };
>       |                                                   ^~~~~~~~~~~~
>       |                                                   
> static_cast<qsizetype>( )
> 1 error generated.
> ninja: build stopped: subcommand failed.
> 
> *** Error 1 in x11/qt6/qtmultimedia (/usr/ports/devel/cmake/cmake.port.mk:40 
> 'do-build': @cd /pobj/qt6-qtmultimedia-6.12.0/build-i386 && exe...)
> *** Error 2 in x11/qt6/qtmultimedia 
> (/usr/ports/infrastructure/mk/bsd.port.mk:3090 
> '/pobj/qt6-qtmultimedia-6.12.0/build-i386/.build_done': @...)
> *** Error 2 in x11/qt6/qtmultimedia 
> (/usr/ports/infrastructure/mk/bsd.port.mk:2729 'build': 
> @lock=qt6-qtmultimedia-6.12.0;  export _LOCKS_HE...)
> ===> Exiting x11/qt6/qtmultimedia with an error
> *** Error 1 in /usr/ports (infrastructure/mk/bsd.port.subdir.mk:144 'build': 
> @: ${echo_msg:=echo};  : ${target:=build};  for i in ; do  eval...)
> >>> Ended at 1792913162.04
> max_stuck=46.30/depends=19.78/show-prepare-results=3.15/extract=1.75/patch=0.35/configure=18.39/build=545.83
> Error: job failed with 512 on i386-2 at 1792913162

spa_dict::n_items is uint32_t and qsizetype is int on i386 and long long
on amd64. I think this cast should fix the issue.

Index: patches/patch-src_multimedia_pipewire_qpipewire_propertydict_cpp
===================================================================
RCS file: patches/patch-src_multimedia_pipewire_qpipewire_propertydict_cpp
diff -N patches/patch-src_multimedia_pipewire_qpipewire_propertydict_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_multimedia_pipewire_qpipewire_propertydict_cpp    25 Oct 
2026 07:52:04 -0000
@@ -0,0 +1,12 @@
+Index: src/multimedia/pipewire/qpipewire_propertydict.cpp
+--- src/multimedia/pipewire/qpipewire_propertydict.cpp.orig
++++ src/multimedia/pipewire/qpipewire_propertydict.cpp
+@@ -31,7 +31,7 @@ PwPropertiesHandle makeProperties(QSpan<const spa_dict
+ 
+ PwPropertyDict toPropertyDict(const spa_dict &dict)
+ {
+-    QSpan<const spa_dict_item> items{ dict.items, dict.n_items };
++    QSpan<const spa_dict_item> items{ dict.items, 
static_cast<qsizetype>(dict.n_items) };
+ 
+     PwPropertyDict map;
+     for (const spa_dict_item &item : items)
Index: patches/patch-src_multimedia_pipewire_qpipewire_support_cpp
===================================================================
RCS file: patches/patch-src_multimedia_pipewire_qpipewire_support_cpp
diff -N patches/patch-src_multimedia_pipewire_qpipewire_support_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_multimedia_pipewire_qpipewire_support_cpp 25 Oct 2026 
07:52:04 -0000
@@ -0,0 +1,12 @@
+Index: src/multimedia/pipewire/qpipewire_support.cpp
+--- src/multimedia/pipewire/qpipewire_support.cpp.orig
++++ src/multimedia/pipewire/qpipewire_support.cpp
+@@ -79,7 +79,7 @@ void PWThreadedEventLoop::signal(bool waitForAccept)
+ // debug support
+ QDebug operator<<(QDebug dbg, const spa_dict &dict)
+ {
+-    QSpan<const spa_dict_item> items{ dict.items, dict.n_items };
++    QSpan<const spa_dict_item> items{ dict.items, 
static_cast<qsizetype>(dict.n_items) };
+ 
+     QDebugStateSaver saver(dbg);
+     dbg.nospace();

Reply via email to