summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/qmf')
-rw-r--r--net-libs/qmf/ChangeLog7
-rw-r--r--net-libs/qmf/files/qmf-4.0.2-include.patch34
-rw-r--r--net-libs/qmf/files/qmf-4.0.2-visibility.patch66
-rw-r--r--net-libs/qmf/qmf-4.0.2.ebuild4
4 files changed, 109 insertions, 2 deletions
diff --git a/net-libs/qmf/ChangeLog b/net-libs/qmf/ChangeLog
index 6cbb94ed6716..398a0d0f92c0 100644
--- a/net-libs/qmf/ChangeLog
+++ b/net-libs/qmf/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for net-libs/qmf
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/qmf/ChangeLog,v 1.7 2013/07/01 10:12:04 pesa Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/qmf/ChangeLog,v 1.8 2013/08/01 08:08:27 pesa Exp $
+
+ 01 Aug 2013; Davide Pesavento <pesa@gentoo.org>
+ +files/qmf-4.0.2-include.patch, +files/qmf-4.0.2-visibility.patch,
+ qmf-4.0.2.ebuild:
+ Fix build with gcc-4.7 (bug 426458).
*qmf-4.0.2 (01 Jul 2013)
diff --git a/net-libs/qmf/files/qmf-4.0.2-include.patch b/net-libs/qmf/files/qmf-4.0.2-include.patch
new file mode 100644
index 000000000000..5d050074edfe
--- /dev/null
+++ b/net-libs/qmf/files/qmf-4.0.2-include.patch
@@ -0,0 +1,34 @@
+From f3ef1f7f6eb9e456465924c63ade2a036079c85f Mon Sep 17 00:00:00 2001
+From: Davide Pesavento <davidepesa@gmail.com>
+Date: Sun, 28 Jul 2013 21:27:16 -0700
+Subject: [PATCH] Add missing include.
+
+Fixes the following compilation errors with gcc 4.7 and later.
+
+messageserver.cpp: In static member function 'static void MessageServer::hupSignalHandler(int)':
+messageserver.cpp:501:5: error: '::write' has not been declared
+messageserver.cpp: In member function 'void MessageServer::handleSigHup()':
+messageserver.cpp:508:5: error: '::read' has not been declared
+
+Change-Id: I6fbcf2cba884f5e285c0259e020c60f4a44173b4
+Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com>
+Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
+---
+ src/tools/messageserver/messageserver.cpp | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/src/tools/messageserver/messageserver.cpp b/src/tools/messageserver/messageserver.cpp
+index b749f03..5fbedf9 100644
+--- a/src/tools/messageserver/messageserver.cpp
++++ b/src/tools/messageserver/messageserver.cpp
+@@ -61,6 +61,7 @@ extern "C" {
+ }
+
+ #if defined(Q_OS_UNIX)
++#include <unistd.h>
+ int MessageServer::sighupFd[2];
+ #endif
+
+--
+1.7.1
+
diff --git a/net-libs/qmf/files/qmf-4.0.2-visibility.patch b/net-libs/qmf/files/qmf-4.0.2-visibility.patch
new file mode 100644
index 000000000000..5d9a26980bbd
--- /dev/null
+++ b/net-libs/qmf/files/qmf-4.0.2-visibility.patch
@@ -0,0 +1,66 @@
+From a84920f307cd4c5661f09dc41e562ff949d6779c Mon Sep 17 00:00:00 2001
+From: Davide Pesavento <davidepesa@gmail.com>
+Date: Sun, 28 Jul 2013 23:40:16 -0700
+Subject: [PATCH] libqmfclient: export a few private classes used by messageserver.
+
+Since version 4.7.0, gcc constraints the ELF visibility of template
+instantiations to the visibility of its template arguments (see
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35688).
+
+Therefore all explicit instantiations of QPrivatelyImplemented<> in
+qmailinstantiations.cpp are now hidden, because the template arguments
+are private classes that have hidden visibility.
+
+This commit restores pre-gcc-4.7 behavior by exporting the symbols
+required to build messageserver successfully.
+
+Change-Id: I7c0ae91a56cac390f1e73418af486578da665a94
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
+---
+ src/libraries/qmfclient/qmailmessage_p.h | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/libraries/qmfclient/qmailmessage_p.h b/src/libraries/qmfclient/qmailmessage_p.h
+index 256c6b4..8a93432 100644
+--- a/src/libraries/qmfclient/qmailmessage_p.h
++++ b/src/libraries/qmfclient/qmailmessage_p.h
+@@ -59,7 +59,7 @@
+
+ // These classes are implemented via qmailmessage.cpp and qmailinstantiations.cpp
+
+-class QMailMessageHeaderFieldPrivate : public QPrivateImplementationBase
++class QMF_EXPORT QMailMessageHeaderFieldPrivate : public QPrivateImplementationBase
+ {
+ public:
+ QMailMessageHeaderFieldPrivate();
+@@ -127,7 +127,7 @@ private:
+ };
+
+
+-class QMailMessageBodyPrivate : public QPrivateImplementationBase
++class QMF_EXPORT QMailMessageBodyPrivate : public QPrivateImplementationBase
+ {
+ public:
+ QMailMessageBodyPrivate();
+@@ -169,7 +169,7 @@ private:
+ };
+
+
+-class QMailMessagePartContainerPrivate : public QPrivateImplementationBase
++class QMF_EXPORT QMailMessagePartContainerPrivate : public QPrivateImplementationBase
+ {
+ public:
+ template<typename Derived>
+@@ -356,7 +356,7 @@ private:
+ };
+
+
+-class QMailMessageMetaDataPrivate : public QPrivateImplementationBase
++class QMF_EXPORT QMailMessageMetaDataPrivate : public QPrivateImplementationBase
+ {
+ public:
+ QMailMessageMetaDataPrivate();
+--
+1.7.1
+
diff --git a/net-libs/qmf/qmf-4.0.2.ebuild b/net-libs/qmf/qmf-4.0.2.ebuild
index 8d9ef291bf3b..cfd1ba2f8771 100644
--- a/net-libs/qmf/qmf-4.0.2.ebuild
+++ b/net-libs/qmf/qmf-4.0.2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/qmf/qmf-4.0.2.ebuild,v 1.1 2013/07/01 10:12:04 pesa Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/qmf/qmf-4.0.2.ebuild,v 1.2 2013/08/01 08:08:27 pesa Exp $
EAPI=5
@@ -40,6 +40,8 @@ DEPEND="${RDEPEND}
DOCS=(CHANGES)
PATCHES=(
"${FILESDIR}/${PN}-4.0.2-tests.patch"
+ "${FILESDIR}/${P}-include.patch"
+ "${FILESDIR}/${P}-visibility.patch"
)
src_prepare() {