ola: Bump to 0.9.4
authorSimon Marchi <simon.marchi@polymtl.ca>
Fri, 30 Jan 2015 03:35:08 +0000 (22:35 -0500)
committerPeter Korsgaard <peter@korsgaard.com>
Sat, 31 Jan 2015 14:06:58 +0000 (15:06 +0100)
The protoc stuff changed a bit since 0.9.3. When 0.9.4 was released,
support for cross-compiling was broken because of it. A patch was merged
upstream shortly after that fixes the problem, so I included it here.
When the next version is released, the patch should not be necessary
anymore.

[Peter: actually change _VERSION]
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/ola/0001-Fix-finding-ola_protoc_plugin-when-cross-compiling.patch [new file with mode: 0644]
package/ola/ola.mk

diff --git a/package/ola/0001-Fix-finding-ola_protoc_plugin-when-cross-compiling.patch b/package/ola/0001-Fix-finding-ola_protoc_plugin-when-cross-compiling.patch
new file mode 100644 (file)
index 0000000..79c02bd
--- /dev/null
@@ -0,0 +1,94 @@
+From 0b0797af43c78f199e3f2782873dad3c37d323dd Mon Sep 17 00:00:00 2001
+From: Simon Marchi <simon.marchi@polymtl.ca>
+Date: Wed, 28 Jan 2015 22:23:32 -0500
+Subject: [PATCH] Fix finding ola_protoc_plugin when cross-compiling
+
+It seems like the recent changes concerning ola_protoc did not take into
+account cross-compiling.
+---
+ common/rpc/RpcService.h |  2 +-
+ config/ola.m4           | 18 +++++++++---------
+ protoc/Makefile.mk      | 10 +++++-----
+ 3 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/common/rpc/RpcService.h b/common/rpc/RpcService.h
+index f5d428b..3e20dbc 100644
+--- a/common/rpc/RpcService.h
++++ b/common/rpc/RpcService.h
+@@ -17,7 +17,7 @@
+  * Interface for the RpcService.
+  * Copyright (C) 2013 Simon Newton
+  *
+- * All Services generated by ola_protoc inherit from this one.
++ * All Services generated by the ola protoc plugin inherit from this one.
+  */
+ #ifndef COMMON_RPC_RPCSERVICE_H_
+diff --git a/config/ola.m4 b/config/ola.m4
+index 845c4af..ec77585 100644
+--- a/config/ola.m4
++++ b/config/ola.m4
+@@ -71,17 +71,17 @@ elif test -n "$1" ; then
+   fi
+ fi
+-AC_ARG_WITH([ola-protoc],
+-  [AS_HELP_STRING([--with-ola-protoc=COMMAND],
+-    [use the given ola_protoc command instead of building one (useful for cross-compiling)])],
+-  [],[with_ola_protoc=no])
++AC_ARG_WITH([ola-protoc-plugin],
++  [AS_HELP_STRING([--with-ola-protoc-plugin=COMMAND],
++    [use the given ola_protoc_plugin instead of building one (useful for cross-compiling)])],
++  [],[with_ola_protoc_plugin=no])
+-OLA_PROTOC="\$(PROTOC) --plugin=protoc-gen-cppservice=\$(top_builddir)/protoc/ola_protoc_plugin${EXEEXT}";
+-if test "$with_ola_protoc" != "no"; then
+-  OLA_PROTOC=$with_ola_protoc;
+-  echo "set ola_protoc to $with_ola_protoc"
++if test "$with_ola_protoc_plugin" != "no"; then
++  OLA_PROTOC="\$(PROTOC) --plugin=protoc-gen-cppservice=${with_ola_protoc_plugin}${EXEEXT}";
++  echo "set ola_protoc to $with_ola_protoc_plugin"
+ else
++  OLA_PROTOC="\$(PROTOC) --plugin=protoc-gen-cppservice=\$(top_builddir)/protoc/ola_protoc_plugin${EXEEXT}";
+   AC_CHECK_HEADER(
+       [google/protobuf/compiler/command_line_interface.h],
+       [],
+@@ -96,7 +96,7 @@ else
+   LIBS=$SAVED_LIBS
+ fi
+ AC_SUBST([OLA_PROTOC])
+-AM_CONDITIONAL(BUILD_OLA_PROTOC, test "${with_ola_protoc}" == "no")
++AM_CONDITIONAL(BUILD_OLA_PROTOC_PLUGIN, test "${with_ola_protoc_plugin}" == "no")
+ ])
+diff --git a/protoc/Makefile.mk b/protoc/Makefile.mk
+index e5d0167..47adc47 100644
+--- a/protoc/Makefile.mk
++++ b/protoc/Makefile.mk
+@@ -1,6 +1,6 @@
+ # Programs
+ #########################
+-if BUILD_OLA_PROTOC
++if BUILD_OLA_PROTOC_PLUGIN
+ noinst_PROGRAMS += protoc/ola_protoc_plugin
+ protoc_ola_protoc_plugin_SOURCES = \
+@@ -19,9 +19,9 @@ protoc_ola_protoc_plugin_LDADD = $(libprotobuf_LIBS) -lprotoc
+ else
+-# If we're using a different ola_protoc, we need to provide a rule to create
+-# this file since the generated service configs depend on it.
+-protoc/ola_protoc$(EXEEXT):
+-      touch protoc/ola_protoc$(EXEEXT)
++# If we're using a different ola_protoc_plugin, we need to provide a rule to
++# create this file since the generated service configs depend on it.
++protoc/ola_protoc_plugin$(EXEEXT):
++      touch protoc/ola_protoc_plugin$(EXEEXT)
+ endif
+-- 
+2.2.2
+
index 2eee54c403d72abb4df8f9fd733a85001d5fe59a..b349d00b7c1a81380b93c6ad9721cea838d460be 100644 (file)
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-OLA_VERSION = 0.9.3
+OLA_VERSION = 0.9.4
 OLA_SITE = $(call github,OpenLightingProject,ola,$(OLA_VERSION))
 
 OLA_LICENSE = LGPLv2.1+ (libola, libolacommon, Python bindings), GPLv2+ (libolaserver, olad, Python examples and tests)
@@ -23,7 +23,7 @@ OLA_CONF_OPTS = \
        --disable-root-check \
        --disable-java-libs \
        --disable-fatal-warnings \
-       --with-ola-protoc=$(HOST_DIR)/usr/bin/ola_protoc
+       --with-ola-protoc-plugin=$(HOST_DIR)/usr/bin/ola_protoc_plugin
 
 HOST_OLA_DEPENDENCIES = host-util-linux host-protobuf
 
@@ -42,10 +42,11 @@ HOST_OLA_CONF_OPTS = \
        --disable-doxygen-html \
        --disable-doxygen-doc
 
-# On the host side, we only need ola_protoc, so build and install this only.
-HOST_OLA_MAKE_OPTS = protoc/ola_protoc
+# On the host side, we only need ola_protoc_plugin, so build and install this
+# only.
+HOST_OLA_MAKE_OPTS = protoc/ola_protoc_plugin
 define HOST_OLA_INSTALL_CMDS
-       $(INSTALL) -D -m 0755 $(@D)/protoc/ola_protoc $(HOST_DIR)/usr/bin/ola_protoc
+       $(INSTALL) -D -m 0755 $(@D)/protoc/ola_protoc_plugin $(HOST_DIR)/usr/bin/ola_protoc_plugin
 endef
 
 # sets where to find python libs built for target and required by ola