aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libraries/rabbitmq-c/README48
-rw-r--r--libraries/rabbitmq-c/rabbitmq-c.SlackBuild58
-rw-r--r--libraries/rabbitmq-c/rabbitmq-c.info8
3 files changed, 101 insertions, 13 deletions
diff --git a/libraries/rabbitmq-c/README b/libraries/rabbitmq-c/README
index c9c03a2d15726..5eda5e78fe2ac 100644
--- a/libraries/rabbitmq-c/README
+++ b/libraries/rabbitmq-c/README
@@ -1,11 +1,55 @@
This is a C-language AMQP client library for use with v2.0+ of the
RabbitMQ broker.
-Under the /usr/doc/rabbitmq-c-$VERSION/ directory are examples/ and
-tests/ subdirectories.
+* `BUILD_EXAMPLES=ON/OFF` toggles building the examples.
+ OFF by default.
+
+* `BUILD_SHARED_LIBS=ON/OFF` toggles building rabbitmq-c as a shared
+ library.
+ ON by default.
+
+* `BUILD_STATIC_LIBS=ON/OFF` toggles building rabbitmq-c as a static
+ library.
+ OFF by default.
+
+* `BUILD_TESTS=ON/OFF` toggles building test code.
+ OFF by default.
+
+* `BUILD_TOOLS=ON/OFF` toggles building the command line tools.
+ ON by default.
+
+* `BUILD_TOOLS_DOCS=ON/OFF` toggles building the man pages for the
+ command line tools.
+ ON by default if BUILD_TOOLS is ON and xmlto is installed.
+
+* `ENABLE_SSL_SUPPORT=ON/OFF` toggles building rabbitmq-c with SSL
+ support.
+ ON by default if the OpenSSL headers and library can be found.
+
+* `BUILD_API_DOCS=ON/OFF` toggles building the Doxygen API documentation
+ OFF by default.
+
+* `RUN_SYSTEM_TESTS=ON/OFF` toggles building the system tests. Tests
+ require an accessible RabbitMQ server instance on localhost.
+ OFF by default.
+
+If BUILD_EXAMPLES=ON or BUILD_TESTS=ON then executable programs will
+be compiled from sources in /usr/doc/rabbitmq-c-$VERSION/examples/src/
+-and-or- /usr/doc/rabbitmq-c-$VERSION/examples/src/ The Extra Programs
+will be installed in /usr/doc/rabbitmq-c-$VERSION/{examples,tests}/bin/
+
+For Example, to build examples and tests:
+
+BUILD_EXAMPLES=ON BUILD_TESTS=ON ./rabbitmq-c.SlackBuild
To build a nice html Doxygen API documentation tree in the directory
/usr/doc/rabbitmq-c-$VERSION/html/ you need to pass BUILD_API_DOCS=ON
to the script, for example
BUILD_API_DOCS=ON ./rabbitmq-c.SlackBuild
+
+To build examples, tests and the html documentation:
+
+BUILD_EXAMPLES=ON \
+BUILD_TESTS=ON \
+BUILD_API_DOCS=ON ./rabbitmq-c.SlackBuild
diff --git a/libraries/rabbitmq-c/rabbitmq-c.SlackBuild b/libraries/rabbitmq-c/rabbitmq-c.SlackBuild
index a5df7a8885c30..4b1c17b5d3e7f 100644
--- a/libraries/rabbitmq-c/rabbitmq-c.SlackBuild
+++ b/libraries/rabbitmq-c/rabbitmq-c.SlackBuild
@@ -21,15 +21,26 @@
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
+#
cd $(dirname $0) ; CWD=$(pwd)
-
+
PRGNAM=rabbitmq-c
-VERSION=${VERSION:-0.8.0}
+VERSION=${VERSION:-0.11.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
+# these are rabbitmq-c CMake default options that are incompatible
+# with a SlackBuild. When turned on executables will be in the
+# /usr/doc/$PRGNAM-$VERSION/{examples,tests}/bin/ directories
+BUILD_EXAMPLES=${BUILD_EXAMPLES:-OFF}
+BUILD_TESTS=${BUILD_TESTS:-OFF}
+BUILD_TOOLS_DOCS=${BUILD_TOOLS_DOCS:-ON}
+
+# from CMakeLists.txt: tests and examples require the static library
+[ "$BUILD_TESTS" = "ON"
+-o "$BUILD_EXAMPLES" = "ON" ] && BUILD_STATIC_LIBS=ON
+
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
@@ -70,7 +81,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+tar -xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -108,11 +119,44 @@ fi
for d in examples tests; do
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/$d/src
- cp -a $d/* $PKG/usr/doc/$PRGNAM-$VERSION/$d/src/
- mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/$d/bin
- cp -a build/$d/* $PKG/usr/doc/$PRGNAM-$VERSION/$d/bin/
+ cp -a $d/* $PKG/usr/doc/$PRGNAM-$VERSION/$d/src/ || true
done
+if [ "$BUILD_EXAMPLES" = "ON" ] ; then
+ mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/examples/bin
+ cp -a build/examples/* $PKG/usr/doc/$PRGNAM-$VERSION/examples/bin/ || true
+fi
+if [ "$BUILD_TESTS" = "ON" ] ; then
+ mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/tests/bin
+ cp -a build/tests/* $PKG/usr/doc/$PRGNAM-$VERSION/tests/bin/ || true
+fi
+
+# maybe make man entries in /usr/man/man1 and /usr/man/man7
+if [ -x `which xmlto` ] ; then
+ if [ "$BUILD_TOOLS" != "OFF" -a "$BUILD_TOOLS_DOCS" != "OFF" ] ;
+ then
+ mkdir -p $PKG/usr/man || true
+ cd $TMP/$PRGNAM-$VERSION/tools/doc
+ touch man-date.ent
+
+ for x in *.xml ; do
+ xmlto man $x
+ done
+
+ for m in *.[1-9] ; do
+ s="$(echo $m |awk -F'.' '{ print $NF }')"
+
+ [ "$s" = "" ] && continue
+
+ d="$PKG/usr/man/man${s}"
+
+ [ ! -d "$d" ] && mkdir -p "$d"
+
+ gzip < $m > $d/$m.gz
+ done
+ fi
+fi
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/libraries/rabbitmq-c/rabbitmq-c.info b/libraries/rabbitmq-c/rabbitmq-c.info
index 5117db9d2edc3..609bef612fd6b 100644
--- a/libraries/rabbitmq-c/rabbitmq-c.info
+++ b/libraries/rabbitmq-c/rabbitmq-c.info
@@ -1,8 +1,8 @@
PRGNAM="rabbitmq-c"
-VERSION="0.8.0"
-HOMEPAGE="https://github.com/alanxz/rabbitmq-c/releases"
-DOWNLOAD="https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz"
-MD5SUM="c15dbcd2dbb8e254c1de0494c1bb8c91"
+VERSION="0.11.0"
+HOMEPAGE="https://github.com/alanxz/rabbitmq-c"
+DOWNLOAD="https://github.com/alanxz/rabbitmq-c/archive/refs/tags/v0.11.0/rabbitmq-c-0.11.0.tar.gz"
+MD5SUM="e7d9896577aea6351811d7c1d7f0a68a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="rabbitmq-server"