summaryrefslogtreecommitdiff
path: root/package/qpid-proton
diff options
context:
space:
mode:
authorLuca Ceresoli <luca@lucaceresoli.net>2015-07-11 16:15:10 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-07-12 14:11:39 +0200
commit36b2d9ab0c82eaeaa12a9c9dd4edbbb86f593620 (patch)
treec9c172f92b0f9b6bd0ea27215762577abbecfac0 /package/qpid-proton
parent22ed697d11e033914cab7631fba899ba436a5a5b (diff)
qpid-proton: new package
[Thomas: - Do not define QPID_PROTON_VERSION_MAJOR, and use proto-* instead, as suggested by Arnout. - Use QPID_PROTO_VERSION in QPID_PROTON_SITE, as suggested by Arnout - Remove useless comma in the openssl test, as suggested by Arnout - Change the post install target hook to remove the /usr/share/proton-*/ directory entirely, and not just the examples, since it only contains some license and documentation files.] Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/qpid-proton')
-rw-r--r--package/qpid-proton/0001-proton-c-fix-C-compiler-detection-with-_ARG1-_ARG2.patch52
-rw-r--r--package/qpid-proton/Config.in17
-rw-r--r--package/qpid-proton/qpid-proton.hash2
-rw-r--r--package/qpid-proton/qpid-proton.mk27
4 files changed, 98 insertions, 0 deletions
diff --git a/package/qpid-proton/0001-proton-c-fix-C-compiler-detection-with-_ARG1-_ARG2.patch b/package/qpid-proton/0001-proton-c-fix-C-compiler-detection-with-_ARG1-_ARG2.patch
new file mode 100644
index 000000000..16f4aba52
--- /dev/null
+++ b/package/qpid-proton/0001-proton-c-fix-C-compiler-detection-with-_ARG1-_ARG2.patch
@@ -0,0 +1,52 @@
+From f24be9ae9ab01c7507a366e9d5529c444f0b7edd Mon Sep 17 00:00:00 2001
+From: Luca Ceresoli <luca@lucaceresoli.net>
+Date: Fri, 10 Jul 2015 10:13:47 +0200
+Subject: [PATCH] proton-c: fix C compiler detection with _ARG1/_ARG2
+
+The C compiler commandline in CMake is composed by the concatenation of
+CMAKE_C_COMPILER + CMAKE_C_COMPILER_ARG1 + CMAKE_C_COMPILER_ARG2.
+
+In most use cases the two additional argument variables are empty, thus
+CMAKE_C_COMPILER can be used without any noticeable difference.
+
+The Buildroot embedded Linux build system [0], however, optionally exploits the
+CMAKE_C_COMPILER_ARG1 variable to speed up the cross-compilation of CMake-based
+packages using ccache. It does so by setting [1]:
+
+ CMAKE_C_COMPILER = /path/to/ccache
+ CMAKE_C_COMPILER_ARG1 = /path/to/cross-gcc
+
+This works fine with other CMake-based packages, but proton-c's CMakeLists.txt
+calls gcc to extract the compiler version. It does so by calling
+"${CMAKE_C_COMPILER} -dumpversion", without honoring the two extra arguments.
+Within Buildroot with ccache enabled, this means calling
+"/path/to/ccache -dumpversion", which fails with the error:
+
+ ccache: invalid option -- 'd'
+
+Fix the compiler check by adding the two arguments.
+
+[0] http://buildroot.net/
+[1] http://git.buildroot.net/buildroot/tree/support/misc/toolchainfile.cmake.in?id=2015.05
+
+Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
+---
+ proton-c/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/proton-c/CMakeLists.txt b/proton-c/CMakeLists.txt
+index 93449a9..8c31a89 100644
+--- a/proton-c/CMakeLists.txt
++++ b/proton-c/CMakeLists.txt
+@@ -218,7 +218,7 @@ if (CMAKE_COMPILER_IS_GNUCC)
+ set (COMPILE_LANGUAGE_FLAGS "-std=c99")
+ set (COMPILE_PLATFORM_FLAGS "-std=gnu99")
+
+- execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION
++ execute_process(COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1} ${CMAKE_C_COMPILER_ARG2} -dumpversion OUTPUT_VARIABLE GCC_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if (${GCC_VERSION} VERSION_LESS "4.3.0")
+ # Only a concern if contibuting code back.
+--
+1.9.1
+
diff --git a/package/qpid-proton/Config.in b/package/qpid-proton/Config.in
new file mode 100644
index 000000000..b6a1aa982
--- /dev/null
+++ b/package/qpid-proton/Config.in
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_QPID_PROTON
+ bool "qpid-proton"
+ depends on BR2_USE_WCHAR # util-linux
+ select BR2_PACKAGE_UTIL_LINUX
+ select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+ help
+ The AMQP messaging toolkit
+
+ Qpid Proton is a high-performance, lightweight messaging library.
+ It can be used in the widest range of messaging applications,
+ including brokers, client libraries, routers, bridges, proxies, and
+ more.
+
+ https://qpid.apache.org/proton/
+
+comment "qpid-proton needs a toolchain w/ wchar"
+ depends on !BR2_USE_WCHAR
diff --git a/package/qpid-proton/qpid-proton.hash b/package/qpid-proton/qpid-proton.hash
new file mode 100644
index 000000000..8c2cc4f35
--- /dev/null
+++ b/package/qpid-proton/qpid-proton.hash
@@ -0,0 +1,2 @@
+# Hash from: http://www.apache.org/dist/qpid/proton/0.9.1/qpid-proton-0.9.1.tar.gz.sha
+sha1 98008d90acd0d47cbd7ac1572a2bb50b452338ed qpid-proton-0.9.1.tar.gz
diff --git a/package/qpid-proton/qpid-proton.mk b/package/qpid-proton/qpid-proton.mk
new file mode 100644
index 000000000..eae4589bf
--- /dev/null
+++ b/package/qpid-proton/qpid-proton.mk
@@ -0,0 +1,27 @@
+################################################################################
+#
+# qpid-proton
+#
+################################################################################
+
+QPID_PROTON_VERSION = 0.9.1
+QPID_PROTON_SITE = http://apache.panu.it/qpid/proton/$(QPID_PROTON_VERSION)
+QPID_PROTON_STRIP_COMPONENTS = 2
+QPID_PROTON_LICENSE = Apache-2.0
+QPID_PROTON_LICENSE_FILES = LICENSE
+QPID_PROTON_INSTALL_STAGING = YES
+QPID_PROTON_DEPENDENCIES = \
+ util-linux \
+ $(if $(BR2_PACKAGE_OPENSSL),openssl)
+QPID_PROTON_CONF_OPTS = \
+ -DBUILD_JAVA=OFF \
+ -DENABLE_VALGRIND=OFF \
+ -DENABLE_WARNING_ERROR=OFF
+
+define QPID_PROTON_REMOVE_USELESS_FILES
+ rm -fr $(TARGET_DIR)/usr/share/proton-*/
+endef
+
+QPID_PROTON_POST_INSTALL_TARGET_HOOKS += QPID_PROTON_REMOVE_USELESS_FILES
+
+$(eval $(cmake-package))