git » qt5-declarative.git » commit 0b076f5

Fix i686 segfaults with GCC 6 (FS#49723)

author Antonio Rojas
2016-06-20 21:05:14 UTC
committer Antonio Rojas
2016-06-20 21:05:14 UTC
parent db847f3e2f7bdb35cadba50aced1e5c52b78d9f2

Fix i686 segfaults with GCC 6 (FS#49723)

PKGBUILD +8 -3
qt5-declarative-gcc6.patch +12 -0

diff --git a/PKGBUILD b/PKGBUILD
index c16d9e7..f117392 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@
 pkgname=qt5-declarative
 _qtver=5.7.0
 pkgver=${_qtver/-/}
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 url='http://qt-project.org/'
 license=('GPL3' 'LGPL' 'FDL' 'custom')
@@ -14,14 +14,19 @@ depends=('qt5-xmlpatterns')
 makedepends=('python2' 'cmake')
 groups=('qt' 'qt5')
 _pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
-source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
-md5sums=('0d9e461aa54dba4793253fa2eb501f9b')
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qt5-declarative-gcc6.patch)
+md5sums=('0d9e461aa54dba4793253fa2eb501f9b'
+         'fb2a2a118b356a0a4635111f2e0b0ee6')
 
 prepare() {
   mkdir -p build
 
   # Use python2 for Python 2.x
   find -name '*.pro' -o -name '*.pri' | xargs sed -i -e 's|python -c|python2 -c|g' -e 's|python \$|python2 \$|g'
+
+  # Fix i686 segfaults with GCC 6 https://bugreports.qt.io/browse/QTBUG-52057 (Fedora patch)
+  cd ${_pkgfqn}
+  patch -p1 -i ../qt5-declarative-gcc6.patch
 }
 
 build() {
diff --git a/qt5-declarative-gcc6.patch b/qt5-declarative-gcc6.patch
new file mode 100644
index 0000000..eaf677e
--- /dev/null
+++ b/qt5-declarative-gcc6.patch
@@ -0,0 +1,12 @@
+diff -up qtdeclarative-opensource-src-5.6.0/src/qml/qml.pro.1135 qtdeclarative-opensource-src-5.6.0/src/qml/qml.pro
+--- qtdeclarative-opensource-src-5.6.0/src/qml/qml.pro.1135	2016-06-02 08:43:24.509068141 -0500
++++ qtdeclarative-opensource-src-5.6.0/src/qml/qml.pro	2016-06-02 10:25:28.813766581 -0500
+@@ -21,7 +21,7 @@ exists("qqml_enable_gcov") {
+ 
+ greaterThan(QT_GCC_MAJOR_VERSION, 5) {
+     # Our code is bad. Temporary workaround.
+-    QMAKE_CXXFLAGS += -fno-delete-null-pointer-checks
++    QMAKE_CXXFLAGS += -fno-delete-null-pointer-checks -fno-lifetime-dse
+ }
+ 
+ QMAKE_DOCS = $$PWD/doc/qtqml.qdocconf