summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-openstack/recipes-extended/qpid/qpid/QPID-4579-Fixes-building-Qpid-under-the-latest-GCC-4.patch89
-rw-r--r--meta-openstack/recipes-extended/qpid/qpid_0.20.bb6
2 files changed, 93 insertions, 2 deletions
diff --git a/meta-openstack/recipes-extended/qpid/qpid/QPID-4579-Fixes-building-Qpid-under-the-latest-GCC-4.patch b/meta-openstack/recipes-extended/qpid/qpid/QPID-4579-Fixes-building-Qpid-under-the-latest-GCC-4.patch
new file mode 100644
index 0000000..73bee5c
--- /dev/null
+++ b/meta-openstack/recipes-extended/qpid/qpid/QPID-4579-Fixes-building-Qpid-under-the-latest-GCC-4.patch
@@ -0,0 +1,89 @@
1From 9736799d05368da9641b2220aaa1cab850f562cb Mon Sep 17 00:00:00 2001
2From: "Darryl L. Pierce" <mcpierce@apache.org>
3Date: Tue, 12 Feb 2013 19:26:13 +0000
4Subject: [PATCH] QPID-4579: Fixes building Qpid under the latest GCC (4.8.0).
5
6commit 631f31a401f308e93303d5cc3a60f03f4c5eca34 from upstream
7git://git.apache.org/qpid.git
8
9Moves the definition of Functor and MemFuncRef out of Handler class
10definition. Fixes the build failure in later versions of GCC.
11
12Contributed by: Petr Machata <pmachata@redhat.com>
13[MA: rebased]
14Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
15
16git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1445322 13f79535-47bb-0310-9956-ffa450edef68
17---
18 src/qpid/framing/Handler.h | 43 ++++++++++++++++++++++++-------------------
19 1 file changed, 24 insertions(+), 19 deletions(-)
20
21diff --git a/src/qpid/framing/Handler.h b/src/qpid/framing/Handler.h
22index fa8db36..e0c0e59 100644
23--- a/src/qpid/framing/Handler.h
24+++ b/src/qpid/framing/Handler.h
25@@ -49,29 +49,12 @@ struct Handler {
26 * Functor<F>(f) will copy f.
27 * Functor<F&>(f) will only take a reference to x.
28 */
29- template <class F> class Functor : public Handler<T> {
30- public:
31- Functor(F f, Handler<T>* next=0) : Handler<T>(next), functor(f) {}
32- void handle(T t) { functor(t); }
33- private:
34- F functor;
35- };
36+ template <class F> class Functor;
37
38 /** Adapt a member function of X as a Handler.
39 * Only holds a reference to its target, not a copy.
40 */
41- template <class X, void (X::*F)(T)>
42- class MemFunRef : public Handler<T> {
43- public:
44- MemFunRef(X& x, Handler<T>* next=0) : Handler(next), target(&x) {}
45- void handle(T t) { (target->*F)(t); }
46-
47- /** Allow calling with -> syntax */
48- MemFunRef* operator->() { return this; }
49-
50- private:
51- X* target;
52- };
53+ template <class X, void (X::*F)(T)> class MemFunRef;
54
55 /** Interface for a handler that implements a
56 * pair of in/out handle operations.
57@@ -94,7 +77,29 @@ struct Handler {
58 };
59 };
60
61+template <class T>
62+template <class F>
63+class Handler<T>::Functor : public Handler<T> {
64+ public:
65+ Functor(F f, Handler<T>* next=0) : Handler<T>(next), functor(f) {}
66+ void handle(T t) { functor(t); }
67+ private:
68+ F functor;
69+};
70+
71+template <class T>
72+template <class X, void (X::*F)(T)>
73+class Handler<T>::MemFunRef : public Handler<T> {
74+ public:
75+ MemFunRef(X& x, Handler<T>* next=0) : Handler(next), target(&x) {}
76+ void handle(T t) { (target->*F)(t); }
77+
78+ /** Allow calling with -> syntax */
79+ MemFunRef* operator->() { return this; }
80
81+ private:
82+ X* target;
83+};
84
85 }}
86 #endif /*!QPID_FRAMING_HANDLER_H*/
87--
881.8.3.2
89
diff --git a/meta-openstack/recipes-extended/qpid/qpid_0.20.bb b/meta-openstack/recipes-extended/qpid/qpid_0.20.bb
index d8c467e..a6f1c67 100644
--- a/meta-openstack/recipes-extended/qpid/qpid_0.20.bb
+++ b/meta-openstack/recipes-extended/qpid/qpid_0.20.bb
@@ -3,11 +3,13 @@ HOMEPAGE = "http://qpid.apache.org/"
3LICENSE = "Apache-2.0" 3LICENSE = "Apache-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=7ab4c208aa62d92d7a03cc8e0a89c12b" 4LIC_FILES_CHKSUM = "file://LICENSE;md5=7ab4c208aa62d92d7a03cc8e0a89c12b"
5SECTION = "mq" 5SECTION = "mq"
6DEPENDS = "boost perl-native python " 6DEPENDS = "boost perl-native python util-linux cyrus-sasl"
7RDEPENDS_${PN} = "cyrus-sasl-bin"
7PR = "r0" 8PR = "r0"
8 9
9SRC_URI = "http://archive.apache.org/dist/${PN}/${PV}/qpid-cpp-0.20.tar.gz \ 10SRC_URI = "http://archive.apache.org/dist/${PN}/${PV}/qpid-cpp-0.20.tar.gz \
10 file://quick-fix.patch \ 11 file://quick-fix.patch \
12 file://QPID-4579-Fixes-building-Qpid-under-the-latest-GCC-4.patch \
11 file://qpidd" 13 file://qpidd"
12 14
13SRC_URI[md5sum] = "566132c5939ca31a32a0e80cc4124122" 15SRC_URI[md5sum] = "566132c5939ca31a32a0e80cc4124122"
@@ -24,7 +26,7 @@ export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}
24export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" 26export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
25export PERL="${STAGING_BINDIR}/perl" 27export PERL="${STAGING_BINDIR}/perl"
26 28
27EXTRA_OECONF += " --without-help2man" 29EXTRA_OECONF += " --without-help2man SASL_PASSWD=/usr/sbin/saslpasswd2"
28 30
29do_install_append() { 31do_install_append() {
30 install -d ${D}${sysconfdir}/init.d 32 install -d ${D}${sysconfdir}/init.d