[arch-commits] Commit in swift/trunk (4 files)

Jelle van der Waa jelle at archlinux.org
Sun Dec 6 22:32:47 UTC 2020


    Date: Sunday, December 6, 2020 @ 22:32:47
  Author: jelle
Revision: 771296

FS#68081 Fix build with Qt 5.15

Fix build with Qt 5.15 and Boost and add FULL RELRO.

Added:
  swift/trunk/swift-4.0.2-boost-1.69-compatibility.patch
  swift/trunk/swift-4.0.2-qt-5.11-compatibility.patch
  swift/trunk/swift-4.0.2-qt-5.15-compatibility.patch
Modified:
  swift/trunk/PKGBUILD

--------------------------------------------+
 PKGBUILD                                   |   20 ++++---
 swift-4.0.2-boost-1.69-compatibility.patch |   77 +++++++++++++++++++++++++++
 swift-4.0.2-qt-5.11-compatibility.patch    |   35 ++++++++++++
 swift-4.0.2-qt-5.15-compatibility.patch    |   10 +++
 4 files changed, 135 insertions(+), 7 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-12-06 22:31:17 UTC (rev 771295)
+++ PKGBUILD	2020-12-06 22:32:47 UTC (rev 771296)
@@ -13,21 +13,27 @@
 makedepends=('python2' 'openssl' 'boost' 'qt5-base' 'qt5-multimedia'
              'qt5-webkit' 'qt5-x11extras' 'qt5-tools' 'qt5-svg')
 source=("http://swift.im/downloads/releases/$pkgbase-$pkgver/$pkgbase-$pkgver.tar.gz"
-	"build-fix.patch")
+        'swift-4.0.2-boost-1.69-compatibility.patch'
+        'swift-4.0.2-qt-5.11-compatibility.patch'
+        'swift-4.0.2-qt-5.15-compatibility.patch')
 sha256sums=('1c7c9fb981ecb9b589890c36523dbbabde2f0a708f71a66eb71e9526bf8e0a70'
-            'f1b710245c5630aea585378875b334aa05dea7cb85a80f156e8494d1d5ad9a47')
+            'd166362c146f859ec89c535f8676ac12c6e51e281e6c88c5e36b25e4ea5655d1'
+            '7970844d39c38ff6d36c2d1e26c145495ff8f5a5a31a399467eca66854dc3e67'
+            '18feef21870b0f441a6fb0faf7b35a826cfec4fe4a1d717bbb1c373a8c1ccb95')
 
 # Those options need to be consistent between each scons invocation.
-_scons_options='max_jobs=1 optimize=1 debug=0 swiften_dll=1'
+_scons_options=(max_jobs=1 optimize=1 debug=0 swiften_dll=1 cflags="${CPPFLAGS} ${CFLAGS}" cxxflags="${CPPFLAGS} ${CFLAGS}" linkflags="${LDFLAGS}")
 
 prepare() {
   cd $pkgbase-$pkgver
-  patch -p1 <"$srcdir"/build-fix.patch
+  patch -p1 -i ../swift-4.0.2-boost-1.69-compatibility.patch
+  patch -p1 -i ../swift-4.0.2-qt-5.11-compatibility.patch
+  patch -p1 -i ../swift-4.0.2-qt-5.15-compatibility.patch
 }
 
 build() {
   cd $pkgbase-$pkgver
-  ./scons $_scons_options Swift Swiften
+  ./scons "${_scons_options[@]}" Swift Swiften
 }
 
 package_swift-im() {
@@ -36,7 +42,7 @@
            'qt5-x11extras' 'qt5-svg' 'libxss' 'hicolor-icon-theme')
 
   cd $pkgbase-$pkgver
-  ./scons $_scons_options SWIFT_INSTALLDIR="$pkgdir"/usr/ "$pkgdir"/usr/
+  ./scons "${_scons_options[@]}" SWIFT_INSTALLDIR="$pkgdir"/usr/ "$pkgdir"/usr/
 }
 
 package_swiften() {
@@ -44,5 +50,5 @@
   depends=('boost-libs' 'libxml2' 'libidn' 'avahi' 'openssl')
 
   cd $pkgbase-$pkgver
-  ./scons $_scons_options SWIFTEN_INSTALLDIR="$pkgdir"/usr/ "$pkgdir"/usr/
+  ./scons "${_scons_options[@]}" SWIFTEN_INSTALLDIR="$pkgdir"/usr/ "$pkgdir"/usr/
 }

Added: swift-4.0.2-boost-1.69-compatibility.patch
===================================================================
--- swift-4.0.2-boost-1.69-compatibility.patch	                        (rev 0)
+++ swift-4.0.2-boost-1.69-compatibility.patch	2020-12-06 22:32:47 UTC (rev 771296)
@@ -0,0 +1,77 @@
+From a21993d750396d755717df21e331df87af8a0c6a Mon Sep 17 00:00:00 2001
+From: Bruce Stephens <bruce.stephens at isode.com>
+Date: Wed, 9 Jan 2019 16:21:20 +0000
+Subject: [PATCH] Don't assume that tribool has an implicit bool conversion
+
+In boost 1.68.0 the conversion is implicit, but in 1.69.0 it's
+explicit and we must explicitly call it.
+
+Change-Id: I24eb78be7510c89b88342d28c539cad4977f99fd
+---
+ Swiften/Network/PlatformNATTraversalWorker.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Swiften/Network/PlatformNATTraversalWorker.cpp b/Swiften/Network/PlatformNATTraversalWorker.cpp
+index f56de0b78b..eaa13b30d3 100644
+--- a/Swiften/Network/PlatformNATTraversalWorker.cpp
++++ b/Swiften/Network/PlatformNATTraversalWorker.cpp
+@@ -157,7 +157,7 @@ NATTraversalInterface* PlatformNATTraversalWorker::getNATTraversalInterface() co
+         miniUPnPInterface = new MiniUPnPInterface();
+         miniUPnPSupported = miniUPnPInterface->isAvailable();
+     }
+-    SWIFT_LOG(debug) << "UPnP NAT traversal supported: " << miniUPnPSupported << std::endl;
++    SWIFT_LOG(debug) << "UPnP NAT traversal supported: " << static_cast<bool>(miniUPnPSupported) << std::endl;
+     if (miniUPnPSupported) {
+         return miniUPnPInterface;
+     }
+@@ -168,7 +168,7 @@ NATTraversalInterface* PlatformNATTraversalWorker::getNATTraversalInterface() co
+         natPMPInterface = new NATPMPInterface();
+         natPMPSupported = natPMPInterface->isAvailable();
+     }
+-    SWIFT_LOG(debug) << "NAT-PMP NAT traversal supported: " << natPMPSupported << std::endl;
++    SWIFT_LOG(debug) << "NAT-PMP NAT traversal supported: " << static_cast<bool>(natPMPSupported) << std::endl;
+     if (natPMPSupported) {
+         return natPMPInterface;
+     }
+From bb3bd8a32b220b9c1ffd566da00bcd0ba546156c Mon Sep 17 00:00:00 2001
+From: Miroslaw Stein <miroslaw.stein at isode.com>
+Date: Fri, 18 Jan 2019 14:30:24 +0000
+Subject: [PATCH] Avoid deprecated boost endianess include
+
+As of Boost 1.69.0, boost/detail/endian.h is deprecated in favour of
+boost/predef/other/endian.h, and BOOST_(LITTLE|BIG)_ENDIAN by
+BOOST_ENDIAN_(LITTLE|BIG)_BYTE.
+
+Test-Information:
+
+Unit tests pass on Debian 9
+
+Change-Id: If7076c559a4e35219ff97603f50b80cfbe05b29b
+---
+ Swiften/Base/Platform.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Swiften/Base/Platform.h b/Swiften/Base/Platform.h
+index 4deba2bdda..22dff30b14 100644
+--- a/Swiften/Base/Platform.h
++++ b/Swiften/Base/Platform.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2010 Isode Limited.
++ * Copyright (c) 2010-2019 Isode Limited.
+  * All rights reserved.
+  * See the COPYING file for more information.
+  */
+@@ -43,9 +43,9 @@
+ #endif
+ 
+ // Endianness
+-#include <boost/detail/endian.hpp>
+-#if defined(BOOST_LITTLE_ENDIAN)
++#include <boost/predef/other/endian.h>
++#if defined(BOOST_ENDIAN_LITTLE_BYTE)
+ #define SWIFTEN_LITTLE_ENDIAN
+-#elif defined(BOOST_BIG_ENDIAN)
++#elif defined(BOOST_ENDIAN_BIG_BYTE)
+ #define SWIFTEN_BIG_ENDIAN
+ #endif

Added: swift-4.0.2-qt-5.11-compatibility.patch
===================================================================
--- swift-4.0.2-qt-5.11-compatibility.patch	                        (rev 0)
+++ swift-4.0.2-qt-5.11-compatibility.patch	2020-12-06 22:32:47 UTC (rev 771296)
@@ -0,0 +1,35 @@
+From 1d18148c86377787a8c77042b12ea66f20cb2ca9 Mon Sep 17 00:00:00 2001
+From: Tobias Markmann <tm at ayena.de>
+Date: Thu, 21 Jun 2018 13:04:56 +0200
+Subject: Add missing include for QAbstractItemModel
+
+This fixes building Swift with Qt 5.11.
+
+Test-Information:
+
+Builds and tests pass on macOS 10.13.5 with Qt 5.11.0.
+
+Change-Id: I1be2cd081d8a520ec38ab7cca5ada0d7fc39b777
+
+diff --git a/Swift/QtUI/UserSearch/QtUserSearchWindow.h b/Swift/QtUI/UserSearch/QtUserSearchWindow.h
+index 0714ac1..fe536ab 100644
+--- a/Swift/QtUI/UserSearch/QtUserSearchWindow.h
++++ b/Swift/QtUI/UserSearch/QtUserSearchWindow.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2010-2016 Isode Limited.
++ * Copyright (c) 2010-2018 Isode Limited.
+  * All rights reserved.
+  * See the COPYING file for more information.
+  */
+@@ -8,6 +8,7 @@
+ 
+ #include <set>
+ 
++#include <QAbstractItemModel>
+ #include <QWizard>
+ 
+ #include <Swiften/Base/Override.h>
+-- 
+cgit v0.10.2-6-g49f6
+

Added: swift-4.0.2-qt-5.15-compatibility.patch
===================================================================
--- swift-4.0.2-qt-5.15-compatibility.patch	                        (rev 0)
+++ swift-4.0.2-qt-5.15-compatibility.patch	2020-12-06 22:32:47 UTC (rev 771296)
@@ -0,0 +1,10 @@
+--- a/Swift/QtUI/Roster/GroupItemDelegate.cpp
++++ b/Swift/QtUI/Roster/GroupItemDelegate.cpp
+@@ -7,6 +7,7 @@
+ #include <Swift/QtUI/Roster/GroupItemDelegate.h>
+ 
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QPen>
+ #include <QtDebug>
+ 



More information about the arch-commits mailing list