Hello community, here is the log from the commit of package libqt5-qtdoc for openSUSE:Factory checked in at 2018-06-13 15:38:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libqt5-qtdoc (Old) and /work/SRC/openSUSE:Factory/.libqt5-qtdoc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtdoc" Wed Jun 13 15:38:21 2018 rev:26 rq:615217 version:5.11.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libqt5-qtdoc/libqt5-qtdoc.changes 2018-06-04 13:21:51.342102077 +0200 +++ /work/SRC/openSUSE:Factory/.libqt5-qtdoc.new/libqt5-qtdoc.changes 2018-06-13 15:38:45.741947048 +0200 @@ -1,0 +2,12 @@ +Fri Jun 8 09:23:43 UTC 2018 - [email protected] + +- Add patch to fix building on 32-bit architectures (boo#1092425): + * workaround-qdoc-failure.patch + +------------------------------------------------------------------- +Sun Jun 3 10:47:04 UTC 2018 - [email protected] + +- BuildRequire clang, this is needed since 5.11 to properly build + the docs + +------------------------------------------------------------------- New: ---- workaround-qdoc-failure.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libqt5-qtdoc.spec ++++++ --- /var/tmp/diff_new_pack.11kkT4/_old 2018-06-13 15:38:53.349667090 +0200 +++ /var/tmp/diff_new_pack.11kkT4/_new 2018-06-13 15:38:53.353666942 +0200 @@ -27,7 +27,10 @@ Group: Documentation/Other URL: https://www.qt.io Source: https://download.qt.io/official_releases/qt/5.11/%{real_version}/single/%{tar_version}.tar.xz +# PATCH-FIX-OPENSUSE +Patch100: workaround-qdoc-failure.patch BuildRequires: alsa-devel +BuildRequires: clang BuildRequires: cups-devel BuildRequires: double-conversion-devel BuildRequires: gcc-c++ @@ -115,6 +118,7 @@ %prep %setup -q -n %{tar_version} +%autopatch -p1 %build # We need to link to some of the programs used as that the source assumes they were just build. ++++++ workaround-qdoc-failure.patch ++++++ From: Michal Srb <[email protected]> Subject: Assertion failure in libclang on i586 (when building qtdoc) References: boo#1092425 I have found that the issue is caused by `qfloat::operator float()` in qtbase/src/corelib/global/qfloat16.h. For some reason the declaration is omitted when building the documentation using `#ifndef Q_QDOC`, but its definition is there unconditionally. Omitting the definition prevents the qdoc failure. See the attached patch. I don't know yet why it behaves differently on x86 and x86_64, perhaps it has something to do with the body of the method, which is different depending on the architecture. Also, even with broken code, it should not crash with assertion failure. So there must be something broken in either libclang or qdoc, but I did not yet find what. Perhaps we could use this patch for the time being. --- qt-everywhere-src-5.11.0-rc.out/qtbase/src/corelib/global/qfloat16.h 2018-05-30 08:12:03.405142221 +0000 +++ qt-everywhere-src-5.11.0-rc/qtbase/src/corelib/global/qfloat16.h 2018-05-30 07:59:19.637190880 +0000 @@ -144,6 +144,7 @@ } QT_WARNING_POP +#ifndef Q_QDOC inline qfloat16::operator float() const Q_DECL_NOTHROW { #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__F16C__) @@ -162,6 +163,7 @@ return f; #endif } +#endif inline qfloat16 operator-(qfloat16 a) Q_DECL_NOTHROW {
