From 395e15fe3959b58b41d46fcb4be61824d08e98cc Mon Sep 17 00:00:00 2001 From: Anthony Mallet <anthony.mallet@laas.fr> Date: Fri, 13 Dec 2013 15:14:31 +0100 Subject: [PATCH] [wip/genom3] Update to 2.99.22 Changes since 2.99.21: . Support an "extern" parameter in tcl procedure [$component types], returning the list of public types of the components interface. . Fix version in the genom3.pc file (use @PACKAGE_VERSION@ in instead of @VERSION@). . Install C client libraries and headers in a middleware-dependent location, so that multiple builds can be installed inside the same prefix. .pc files are "middlewarized" too, so PKG_CONFIG_PATH must be tuned. . Fix skeleton codels Makefile for -l c++ option. --- genom3/Makefile | 5 ++-- genom3/PLIST.templates | 18 ++++++------- genom3/depend.mk | 2 +- genom3/distinfo | 7 +++-- genom3/module.mk | 27 +++++++++---------- genom3/patches/patch-aa | 58 ----------------------------------------- 6 files changed, 27 insertions(+), 90 deletions(-) delete mode 100644 genom3/patches/patch-aa diff --git a/genom3/Makefile b/genom3/Makefile index 435035e8..ed9bee02 100644 --- a/genom3/Makefile +++ b/genom3/Makefile @@ -2,8 +2,7 @@ # Created: Anthony Mallet on Fri, 19 Oct 2012 # -PKGREVISION= 1 -VERSION= 2.99.21 +VERSION= 2.99.22 DISTNAME= genom-${VERSION} PKGNAME= genom3-${VERSION} CATEGORIES= architecture @@ -11,7 +10,7 @@ MASTER_SITES= ${MASTER_SITE_OPENROBOTS:=genom/} MASTER_REPOSITORY= git ssh://trac.laas.fr/git/robots/genom3 MAINTAINER= mallet@laas.fr -HOMEPAGE= https://homepages.laas.fr/mallet/soft/architecture/genom3 +HOMEPAGE= http://www.openrobots.org/wiki/genom3 COMMENT= Software components generator for robotics architecture. LICENSE= 2-clause-bsd diff --git a/genom3/PLIST.templates b/genom3/PLIST.templates index 2b7a8db3..cffd0faa 100644 --- a/genom3/PLIST.templates +++ b/genom3/PLIST.templates @@ -4,21 +4,21 @@ ${PLIST.pocolibs-server}bin/${GENOM_MODULE}-pocolibs @comment pocolibs/client/c -${PLIST.pocolibs-client-c}include/${GENOM_MODULE}/c/client.h -${PLIST.pocolibs-client-c}lib/genom/client/c/${GENOM_MODULE}.la -${PLIST.pocolibs-client-c}lib/lib${GENOM_MODULE}-c-client.la -${PLIST.pocolibs-client-c}lib/pkgconfig/${GENOM_MODULE}-c-client.pc +${PLIST.pocolibs-client-c}include/genom/pocolibs/${GENOM_MODULE}/c/client.h +${PLIST.pocolibs-client-c}lib/genom/pocolibs/plugins/${GENOM_MODULE}.la +${PLIST.pocolibs-client-c}lib/genom/pocolibs/lib${GENOM_MODULE}-c-client.la +${PLIST.pocolibs-client-c}lib/pkgconfig/genom/pocolibs/${GENOM_MODULE}-c-client.pc @comment ros/server ${PLIST.ros-server}bin/${GENOM_MODULE}-ros @comment ros/client/c -${PLIST.ros-client-c}include/${GENOM_MODULE}/c/client.h -${PLIST.ros-client-c}lib/genom/client/c/${GENOM_MODULE}.la -${PLIST.ros-client-c}lib/lib${GENOM_MODULE}-c-client.la -${PLIST.ros-client-c}lib/pkgconfig/${GENOM_MODULE}-c-client.pc +${PLIST.ros-client-c}include/genom/ros/${GENOM_MODULE}/c/client.h +${PLIST.ros-client-c}lib/genom/ros/plugins/${GENOM_MODULE}.la +${PLIST.ros-client-c}lib/genom/ros/lib${GENOM_MODULE}-c-client.la +${PLIST.ros-client-c}lib/pkgconfig/genom/ros/${GENOM_MODULE}-c-client.pc -@comment ros/client/ros is a dynamic PLIST generated by the template +@comment ros/client/ros is a dynamic PLIST generated by module.mk @comment openprs/client ${PLIST.openprs}lib/genom/client/openprs/${GENOM_MODULE}-openprs-client.la diff --git a/genom3/depend.mk b/genom3/depend.mk index 62f85977..422eeef1 100644 --- a/genom3/depend.mk +++ b/genom3/depend.mk @@ -19,7 +19,7 @@ SYSTEM_SEARCH.genom3=\ include/genom3/c/client.h \ 'lib/pkgconfig/genom3.pc:/Version/s/[^0-9.]//gp' -DEPEND_ABI.genom3?= genom3>=2.99.21r1 +DEPEND_ABI.genom3?= genom3>=2.99.22 DEPEND_DIR.genom3?= ../../wip/genom3 export GENOM3= ${PREFIX.genom3}/bin/genom3 diff --git a/genom3/distinfo b/genom3/distinfo index a9b86e05..2acecd8c 100644 --- a/genom3/distinfo +++ b/genom3/distinfo @@ -1,4 +1,3 @@ -SHA1 (genom-2.99.21.tar.gz) = bf98692dc90598c8e242ac0e25041970eaa8cd26 -RMD160 (genom-2.99.21.tar.gz) = df4fe3bd13884b98fa7d6b6f995b95ff74befc30 -Size (genom-2.99.21.tar.gz) = 1346170 bytes -SHA1 (patch-aa) = 851080eaba72169eb0df4806822c38acd09bc04e +SHA1 (genom-2.99.22.tar.gz) = 6cdae22a3f7b4fd84d21e6a5c44654cd7c6ba34d +RMD160 (genom-2.99.22.tar.gz) = 2a439662c5c5d5fa4e9c15842de58e5958fbeb81 +Size (genom-2.99.22.tar.gz) = 1346320 bytes diff --git a/genom3/module.mk b/genom3/module.mk index e0b8fbd3..c4aa4d57 100644 --- a/genom3/module.mk +++ b/genom3/module.mk @@ -40,8 +40,6 @@ genom3-autoreconf(%): genom3-generate(%) # --- options -------------------------------------------------------------- -PKG_OPTIONS_OPTIONAL_GROUPS+= client-c - # codels PKG_SUPPORTED_OPTIONS+= codels PKG_SUGGESTED_OPTIONS+= codels @@ -65,14 +63,11 @@ define PKG_OPTION_SET.pocolibs-server include ../../wip/genom3-pocolibs/depend.mk endef -PKG_OPTIONS_GROUP.client-c+= pocolibs-client-c +PKG_SUPPORTED_OPTIONS+= pocolibs-client-c PKG_OPTION_DESCR.pocolibs-client-c= Build a pocolibs C client define PKG_OPTION_SET.pocolibs-client-c TMPL1_WRKSRC+= ${TEMPLATES_WRKDIR}/pocolibs/client/c - # XXX temporary - MAKE_JOBS_SAFE=no - pre-configure: genom3-autoreconf(pocolibs/client/c) include ../../middleware/pocolibs/depend.mk @@ -105,7 +100,7 @@ define PKG_OPTION_SET.ros-server include ../../mk/language/c++.mk endef -PKG_OPTIONS_GROUP.client-c+= ros-client-c +PKG_SUPPORTED_OPTIONS+= ros-client-c PKG_OPTION_DESCR.ros-client-c= Build a ROS C client define PKG_OPTION_SET.ros-client-c TMPL1_WRKSRC+= ${TEMPLATES_WRKDIR}/ros/client/c @@ -137,11 +132,11 @@ define PKG_OPTION_SET.ros-client-ros # hackish ... but this is for a PLIST.guess anyway, so nothing critical PRINT_PLIST_AWK_FILTERS+=\ - /include\/[$$]{GENOM_MODULE}\// {next} \ - /[$$]{PYTHON_SITELIB}\/[$$]{GENOM_MODULE}\// {next} \ - /share\/[$$]{GENOM_MODULE}\/manifest.xml$$/ {next} \ - /share\/[$$]{GENOM_MODULE}\/msg/ {next} \ - /share\/[$$]{GENOM_MODULE}\/srv/ {next} + /include\/${GENOM_MODULE}\// {next} \ + /$(subst /,\/,${PYTHON_SITELIB})\/${GENOM_MODULE}\// {next} \ + /share\/${GENOM_MODULE}\/manifest.xml$$/ {next} \ + /share\/${GENOM_MODULE}\/msg/ {next} \ + /share\/${GENOM_MODULE}\/srv/ {next} pre-configure: genom3-autoreconf(ros/client/ros) @@ -188,14 +183,16 @@ GENERATE_PLIST+= ${CAT} ${ROBOTPKG_DIR}/${PLIST_TEMPLATES}; PRINT_PLIST_AWK_SUBST+= gsub("${GENOM_MODULE}", "$${GENOM_MODULE}"); PRINT_PLIST_AWK_FILTERS= PRINT_PLIST_FILTER+=\ - ${AWK} ' \ + | ${AWK} ' \ BEGIN { print "@comment includes ${PLIST_TEMPLATES}" } \ ${PRINT_PLIST_AWK_FILTERS} \ NR > FNR { \ if (!($$0 in filter)) print "$${PLIST.codels}" $$0; next; \ } \ - { gsub("[$$]{PLIST[^}]*}", ""); filter[$$0] } \ - ' ${ROBOTPKG_DIR}/${PLIST_TEMPLATES} -; + { gsub("[$$]{GENOM_MODULE}", "${GENOM_MODULE}") } \ + { gsub("[$$]{PLIST[^}]*}", "") } \ + { filter[$$0] } \ + ' ${ROBOTPKG_DIR}/${PLIST_TEMPLATES} - # --- common dependencies -------------------------------------------------- diff --git a/genom3/patches/patch-aa b/genom3/patches/patch-aa deleted file mode 100644 index 70c170d4..00000000 --- a/genom3/patches/patch-aa +++ /dev/null @@ -1,58 +0,0 @@ -Support an "extern" parameter in tcl procedure [$component types] - -diff --git engine/tcl/object.tcl engine/tcl/object.tcl -index 61a82f8..8b76321 100644 ---- engine/tcl/object.tcl -+++ engine/tcl/object.tcl -@@ -32,8 +32,10 @@ namespace eval object { - if {[catch {$object class} class]} { error "not a genom object" } - - switch $visibility { -- public - private {} -- default { error "bad parameter $visibility: must be public or private" } -+ public - extern - private {} -+ default { -+ error "bad parameter $visibility: must be public, extern or private" -+ } - } - - switch $class { -@@ -86,7 +88,7 @@ namespace eval object { - } - } - -- if {$visibility == "private"} { -+ if {$visibility == "private" || $visibility == "extern"} { - foreach r [$component remotes] { - foreach p [$r parameters] { - set r [type-types [$p type] $visibility $filter] -@@ -96,7 +98,9 @@ namespace eval object { - set types [dict merge $types [type-types $t $visibility $filter]] - } - } -+ } - -+ if {$visibility == "private"} { - if {![catch {$component ids} ids]} { - set types [dict merge $types [type-types $ids $visibility $filter]] - } ---- configure~ 2013-07-22 17:09:40.000000000 +0200 -+++ configure 2013-08-05 16:40:16.583601810 +0200 -@@ -570,7 +570,7 @@ - # Identity of this package. - PACKAGE_NAME='genom' - PACKAGE_TARNAME='genom' --PACKAGE_VERSION='2.99.21' -+PACKAGE_VERSION='2.99.22' - PACKAGE_STRING='genom 2.99.21' - PACKAGE_BUGREPORT='openrobots@laas.fr' - PACKAGE_URL='' -@@ -2762,7 +2762,7 @@ - - # Define the identity of the package. - PACKAGE='genom' -- VERSION='2.99.21' -+ VERSION='2.99.22' - - - # Some tools Automake needs. -- GitLab