Spec URL: https://github.com/nmav/mingw-qt6-qtscxml/blob/main/mingw-qt6-qtscxml.spec SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/5520/113535520/mingw-qt6-qtscxml-6.6.0-1.fc39.src.rpm Description: Qt6 for Windows - QtScxml component Fedora Account System Username: nmav
Copr build: https://copr.fedorainfracloud.org/coprs/build/7018224 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2264307-mingw-qt6-qtscxml/fedora-rawhide-x86_64/07018224-mingw-qt6-qtscxml/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
- Please add these to %files for correct dir ownership: %dir %{mingw32_libdir}/qt6/plugins/scxmldatamodel %dir %{mingw64_libdir}/qt6/plugins/scxmldatamodel - You can drop the version constraint for mingw-filesystem, it's been dropped from the guidelines. - You should version-constrain the qt6-qtscxml-devel BR version to %{version} - Please update to version 6.6.1 as the rest of the mingw-qt6 stack. (The native 6.6.2 is actually building now, but the mingw-qt6 stack will be updated in one go when the native packages are ready).
Thanks, I've updated the spec. What I noticed is that it fails on koji (locally it builds with mockbuild or local) with errors like /builddir/build/BUILD/qtscxml-everywhere-src-6.6.1/src/scxml/qscxmlerror.cpp In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qmetatype.h:14, from /builddir/build/BUILD/qtscxml-everywhere-src-6.6.1/src/scxml/qscxmlerror.h:9, from /builddir/build/BUILD/qtscxml-everywhere-src-6.6.1/src/scxml/qscxmlerror.cpp:4: /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h: In member function 'constexpr qfloat16::operator NativeType() const': /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h:84:52: error: SSE register return with SSE2 disabled 84 | constexpr operator NativeType() const noexcept { return nf; } | ^ /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h: In function 'qfloat16 operator+(qfloat16, qfloat16)': /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h:144:147: error: operation not permitted on type '_Float16' without option '-msse2' 144 | friend inline qfloat16 operator+(qfloat16 a, qfloat16 b) noexcept { return qfloat16(static_cast<NearestFloat>(a) + static_cast<NearestFloat>(b)); } | ^ /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h: In function 'qfloat16 operator-(qfloat16, qfloat16)': /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h:145:147: error: operation not permitted on type '_Float16' without option '-msse2' 145 | friend inline qfloat16 operator-(qfloat16 a, qfloat16 b) noexcept { return qfloat16(static_cast<NearestFloat>(a) - static_cast<NearestFloat>(b)); } | ^ /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h: In function 'qfloat16 operator*(qfloat16, qfloat16)': /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h:146:147: error: operation not permitted on type '_Float16' without option '-msse2' 146 | friend inline qfloat16 operator*(qfloat16 a, qfloat16 b) noexcept { return qfloat16(static_cast<NearestFloat>(a) * static_cast<NearestFloat>(b)); } | ^ /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h: In function 'qfloat16 operator/(qfloat16, qfloat16)': /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h:147:147: error: operation not permitted on type '_Float16' without option '-msse2' 147 | friend inline qfloat16 operator/(qfloat16 a, qfloat16 b) noexcept { return qfloat16(static_cast<NearestFloat>(a) / static_cast<NearestFloat>(b)); } | ^ /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h: In function 'size_t qHash(qfloat16, size_t)': /usr/i686-w64-mingw32/sys-root/mingw/include/qt6/QtCore/qfloat16.h:150:29: error: invalid conversion from type '_Float16' without option '-msse2' 150 | { return qHash(float(key), seed); } // 6.4 algorithm, so keep using it; ### Qt 7: fix QTBUG-116077 I'd have expected -msse2 to be in the build flags. Have you ever encountered such errors? [0]. https://kojipkgs.fedoraproject.org//work/tasks/984/113540984/build.log
-msse2 is currently not in the build flags, though it is a fair question whether that should change. For mingw-qt6-qtmultimedia I wrote before %mingw_cmake export MINGW32_CFLAGS="%{mingw32_cflags} -msse2" export MINGW64_CFLAGS="%{mingw64_cflags} -msse2"
Thanks. Everything seems fine on the latest build: https://koji.fedoraproject.org/koji/taskinfo?taskID=113543481 If you have no more comments, I can bring it in once you approve.
Please only list as %dir the dirs which are not already provided by mingw-filesystem or a package which is a dependency of this one (say mingwXX-qt6-qtbase). So i.e. %dir %{mingwXX_libdir}/cmake is not needed, and neither %dir %{mingwXX_libdir}/qt6/bin and others. I believe only %dir %{mingwXX_libdir}/qt6/plugins/scxmldatamodel is actually needed
Updated. Latest build at: https://koji.fedoraproject.org/koji/taskinfo?taskID=113571975
Only remaining comment: %dir %{mingw32_includedir}/qt6/QtScxml/ %dir %{mingw32_includedir}/qt6/QtStateMachine/ %dir %{mingw32_includedir}/qt6/QtScxmlQml/ %dir %{mingw32_includedir}/qt6/QtStateMachineQml/ %{mingw32_includedir}/qt6/QtScxml/ %{mingw32_includedir}/qt6/QtStateMachine/ %{mingw32_includedir}/qt6/QtScxmlQml/ %{mingw32_includedir}/qt6/QtStateMachineQml/ this is reduntant, as %{mingw32_includedir}/qt6/QtScxml/ %{mingw32_includedir}/qt6/QtStateMachine/ %{mingw32_includedir}/qt6/QtScxmlQml/ %{mingw32_includedir}/qt6/QtStateMachineQml/ own both the directory and the containing files. The problem is that if you write i.e. %{mingw32_libdir}/qt6/plugins/scxmldatamodel/qscxmlecmascriptdatamodel.dll then %{mingw32_libdir}/qt6/plugins/scxmldatamodel/ is unowned. But i.e. writing %{mingw32_libdir}/qt6/plugins/scxmldatamodel/ would own both the folder and the entire tree of contained folders/files. Please fix this before importing. Rest looks good, approved.
+1
The Pagure repository was created at https://src.fedoraproject.org/rpms/mingw-qt6-qtscxml
I'd appreciate an upvote on f39 so it gets included relatively soon: https://bodhi.fedoraproject.org/updates/FEDORA-2024-77df63ecc9