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
 {

Reply via email to