summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authoracxz2019-11-28 22:58:11 -0500
committeracxz2019-11-28 22:58:11 -0500
commit9128844856ba0085c00206cf6249d79550180444 (patch)
tree02baa529f2072256dd8e6afc7d3326b88c8c2d0b
downloadaur-9128844856ba0085c00206cf6249d79550180444.tar.gz
initial commit
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD76
-rw-r--r--io-service.patch24
3 files changed, 126 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..dab579a83c49
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,26 @@
+pkgbase = ros-melodic-rosserial-server
+ pkgdesc = ROS - A more performance- and stability-oriented server alternative implemented in C++ to rosserial_python.
+ pkgver = 0.8.0
+ pkgrel = 1
+ url = https://wiki.ros.org/rosserial_server
+ arch = any
+ license = BSD
+ makedepends = cmake
+ makedepends = ros-build-tools
+ makedepends = ros-melodic-catkin
+ makedepends = ros-melodic-rosserial-msgs
+ makedepends = ros-melodic-std-msgs
+ makedepends = ros-melodic-roscpp
+ makedepends = ros-melodic-topic-tools
+ depends = ros-melodic-rosserial-msgs
+ depends = ros-melodic-rosserial-python
+ depends = ros-melodic-std-msgs
+ depends = ros-melodic-roscpp
+ depends = ros-melodic-topic-tools
+ source = ros-melodic-rosserial-server-0.8.0.tar.gz::https://github.com/ros-drivers/rosserial/archive/0.8.0.tar.gz
+ source = io-service.patch
+ sha256sums = e96cdeb81e1c03fb1c5ad85a740cb0a1a0836c52a24c6a5d97c975084b49d576
+ sha256sums = 3020b8961dd3cbe295fdac0b86a43d4da6b8d76b07337d46ba54d12cee4e1cb0
+
+pkgname = ros-melodic-rosserial-server
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..16ea59910218
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,76 @@
+pkgdesc="ROS - A more performance- and stability-oriented server alternative
+implemented in C++ to rosserial_python."
+url='https://wiki.ros.org/rosserial_server'
+
+pkgname='ros-melodic-rosserial-server'
+pkgver='0.8.0'
+arch=('any')
+pkgrel=1
+license=('BSD')
+
+ros_makedepends=(
+ ros-melodic-catkin
+ ros-melodic-rosserial-msgs
+ ros-melodic-std-msgs
+ ros-melodic-roscpp
+ ros-melodic-topic-tools
+)
+
+makedepends=(
+ 'cmake'
+ 'ros-build-tools'
+ ${ros_makedepends[@]}
+)
+
+ros_depends=(
+ ros-melodic-rosserial-msgs
+ ros-melodic-rosserial-python
+ ros-melodic-std-msgs
+ ros-melodic-roscpp
+ ros-melodic-topic-tools
+)
+
+depends=(
+ ${ros_depends[@]}
+)
+
+_dir="rosserial-${pkgver}/rosserial_server"
+source=("${pkgname}-${pkgver}.tar.gz"::"https://github.com/ros-drivers/rosserial/archive/${pkgver}.tar.gz"
+ "io-service.patch")
+sha256sums=('e96cdeb81e1c03fb1c5ad85a740cb0a1a0836c52a24c6a5d97c975084b49d576'
+ '3020b8961dd3cbe295fdac0b86a43d4da6b8d76b07337d46ba54d12cee4e1cb0')
+
+prepare() {
+ cd "${srcdir}/${_dir}/include/rosserial_server"
+ patch -uN async_read_buffer.h ../../../../../io-service.patch || return 1
+}
+
+build() {
+ # Use ROS environment variables.
+ source /usr/share/ros-build-tools/clear-ros-env.sh
+ [ -f /opt/ros/melodic/setup.bash ] && source /opt/ros/melodic/setup.bash
+
+ # Create the build directory.
+ [ -d ${srcdir}/build ] || mkdir ${srcdir}/build
+ cd ${srcdir}/build
+
+ # Fix Python2/Python3 conflicts.
+ /usr/share/ros-build-tools/fix-python-scripts.sh -v 3 ${srcdir}/${_dir}
+
+ # Build the project.
+ cmake ${srcdir}/${_dir} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCATKIN_BUILD_BINARY_PACKAGE=ON \
+ -DCMAKE_INSTALL_PREFIX=/opt/ros/melodic \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DPYTHON_INCLUDE_DIR=/usr/include/python3.7m \
+ -DPYTHON_LIBRARY=/usr/lib/libpython3.7m.so \
+ -DPYTHON_BASENAME=.cpython-37m \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF
+ make
+}
+
+package() {
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}/" install
+}
diff --git a/io-service.patch b/io-service.patch
new file mode 100644
index 000000000000..2ba97de129e8
--- /dev/null
+++ b/io-service.patch
@@ -0,0 +1,24 @@
+--- async_read_buffer.h.orig 2019-11-28 22:48:02.933056047 -0500
++++ async_read_buffer.h 2019-11-28 22:52:40.829715275 -0500
+@@ -38,6 +38,12 @@
+ #include <boost/asio.hpp>
+ #include <boost/function.hpp>
+
++#if BOOST_VERSION >= 107000
++#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
++#else
++#define GET_IO_SERVICE(s) ((s).get_io_service())
++#endif
++
+ #include <ros/ros.h>
+
+ namespace rosserial_server
+@@ -166,7 +172,7 @@
+
+ // Post the callback rather than executing it here so, so that we have a chance to do the cleanup
+ // below prior to it actually getting run, in the event that the callback queues up another read.
+- stream_.get_io_service().post(boost::bind(read_success_callback_, stream));
++ GET_IO_SERVICE(stream_).post(boost::bind(read_success_callback_, stream));
+
+ // Resetting these values clears our state so that we know there isn't a callback pending.
+ read_requested_bytes_ = 0;