diff options
author | Mark Asselstine <mark.asselstine@windriver.com> | 2014-03-05 15:58:34 -0500 |
---|---|---|
committer | Bruce Ashfield <bruce.ashfield@windriver.com> | 2014-03-12 23:47:41 -0400 |
commit | 25a9a5adcfc41c4c9045799d62d582d8fe5cb329 (patch) | |
tree | 95ef5221323f3498974421be05e0e972f5ff11ef | |
parent | 72e0a91ee589e27bd28852f75b7d85d04eb9ba12 (diff) | |
download | meta-cloud-services-25a9a5adcfc41c4c9045799d62d582d8fe5cb329.tar.gz |
qpid: Fix some issues with do_configure and do_compile
There were some fundamental issues preventing this package from
compiling. Make some necessary updates to the recipe and pull in an
upstream patch to allow the package to properly configure and compile.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r-- | meta-openstack/recipes-extended/qpid/qpid/QPID-4579-Fixes-building-Qpid-under-the-latest-GCC-4.patch | 89 | ||||
-rw-r--r-- | meta-openstack/recipes-extended/qpid/qpid_0.20.bb | 6 |
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 @@ | |||
1 | From 9736799d05368da9641b2220aaa1cab850f562cb Mon Sep 17 00:00:00 2001 | ||
2 | From: "Darryl L. Pierce" <mcpierce@apache.org> | ||
3 | Date: Tue, 12 Feb 2013 19:26:13 +0000 | ||
4 | Subject: [PATCH] QPID-4579: Fixes building Qpid under the latest GCC (4.8.0). | ||
5 | |||
6 | commit 631f31a401f308e93303d5cc3a60f03f4c5eca34 from upstream | ||
7 | git://git.apache.org/qpid.git | ||
8 | |||
9 | Moves the definition of Functor and MemFuncRef out of Handler class | ||
10 | definition. Fixes the build failure in later versions of GCC. | ||
11 | |||
12 | Contributed by: Petr Machata <pmachata@redhat.com> | ||
13 | [MA: rebased] | ||
14 | Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> | ||
15 | |||
16 | git-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 | |||
21 | diff --git a/src/qpid/framing/Handler.h b/src/qpid/framing/Handler.h | ||
22 | index 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 | -- | ||
88 | 1.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/" | |||
3 | LICENSE = "Apache-2.0" | 3 | LICENSE = "Apache-2.0" |
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7ab4c208aa62d92d7a03cc8e0a89c12b" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7ab4c208aa62d92d7a03cc8e0a89c12b" |
5 | SECTION = "mq" | 5 | SECTION = "mq" |
6 | DEPENDS = "boost perl-native python " | 6 | DEPENDS = "boost perl-native python util-linux cyrus-sasl" |
7 | RDEPENDS_${PN} = "cyrus-sasl-bin" | ||
7 | PR = "r0" | 8 | PR = "r0" |
8 | 9 | ||
9 | SRC_URI = "http://archive.apache.org/dist/${PN}/${PV}/qpid-cpp-0.20.tar.gz \ | 10 | SRC_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 | ||
13 | SRC_URI[md5sum] = "566132c5939ca31a32a0e80cc4124122" | 15 | SRC_URI[md5sum] = "566132c5939ca31a32a0e80cc4124122" |
@@ -24,7 +26,7 @@ export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)} | |||
24 | export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" | 26 | export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" |
25 | export PERL="${STAGING_BINDIR}/perl" | 27 | export PERL="${STAGING_BINDIR}/perl" |
26 | 28 | ||
27 | EXTRA_OECONF += " --without-help2man" | 29 | EXTRA_OECONF += " --without-help2man SASL_PASSWD=/usr/sbin/saslpasswd2" |
28 | 30 | ||
29 | do_install_append() { | 31 | do_install_append() { |
30 | install -d ${D}${sysconfdir}/init.d | 32 | install -d ${D}${sysconfdir}/init.d |