aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Johnson <nathan@nathanjohnson.info>2016-02-28 07:31:20 -0600
committerTimo Teräs <timo.teras@iki.fi>2016-03-01 06:29:54 +0000
commita13969a54486811b87fd9723aed61a8da578aacd (patch)
tree3d2a23e2c54f2eff316dcddaf02ca2c9e0b60a1b
parentaabc2e9dcd5a60a938455800c79d3f50c4a01a68 (diff)
downloadaports-a13969a54486811b87fd9723aed61a8da578aacd.tar.bz2
aports-a13969a54486811b87fd9723aed61a8da578aacd.tar.xz
testing/libcouchbase: new aport
http://developer.couchbase.com/community C client library for Couchbase NoSQL database
-rw-r--r--testing/libcouchbase/APKBUILD89
-rw-r--r--testing/libcouchbase/disable_git_version_check.patch37
-rw-r--r--testing/libcouchbase/fix_ioserver_tests.patch54
-rw-r--r--testing/libcouchbase/fix_snappy.patch12
4 files changed, 192 insertions, 0 deletions
diff --git a/testing/libcouchbase/APKBUILD b/testing/libcouchbase/APKBUILD
new file mode 100644
index 0000000000..7beb485ca5
--- /dev/null
+++ b/testing/libcouchbase/APKBUILD
@@ -0,0 +1,89 @@
+# Contributor: Nathan Johnson <nathan@nathanjohnson.info>
+# Maintainer: Nathan Johnson <nathan@nathanjohnson.info>
+pkgname=libcouchbase
+pkgver=2.5.6
+pkgrel=0
+pkgdesc="C client library for Couchbase"
+url="http://developer.couchbase.com/community"
+arch="all"
+license="ASL 2.0"
+depends=""
+depends_dev="musl-dev openssl-dev snappy-dev"
+makedepends="$depends_dev cmake perl openjdk8-jre-base libtool libev-dev libevent-dev libuv-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-bin $pkgname-doc $pkgname-libevent $pkgname-libev $pkgname-libuv"
+source="$pkgname-$pkgver.tar.gz::https://github.com/couchbase/libcouchbase/archive/${pkgver}.tar.gz
+ disable_git_version_check.patch
+ fix_ioserver_tests.patch
+ fix_snappy.patch"
+
+_builddir="$srcdir/libcouchbase-${pkgver}"
+
+build() {
+ cd "$_builddir"
+ rm -rf build && mkdir build && cd build
+ ../cmake/configure --prefix=/usr || return 1
+ make || return 1
+ ctest || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ cd build
+ make install DESTDIR="$pkgdir" || return 1
+}
+
+dev() {
+ pkgdesc="$pkgdesc (development files)"
+ depends="$pkgname"
+
+ # can't use default_dev because it grabs /usr/bin/cbc-write-config
+ mkdir -p "$subpkgdir"/usr
+ mv "$pkgdir"/usr/include "$subpkgdir"/usr/
+}
+
+libevent() {
+ pkgdesc="libevent backend for libcouchbase"
+ depends="$pkgname libevent"
+
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libcouchbase_libevent.so "$subpkgdir"/usr/lib
+}
+
+libev() {
+ pkgdesc="libev backend for libcouchbase"
+ depends="$pkgname libev"
+
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libcouchbase_libev.so "$subpkgdir"/usr/lib
+}
+
+libuv() {
+ pkgdesc="libuv backend for libcouchbase"
+ depends="$pkgname libuv"
+
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libcouchbase_libuv.so "$subpkgdir"/usr/lib
+
+}
+
+bin() {
+ pkgdesc="command line utilities for couchbase"
+ depends="$pkgname"
+
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
+}
+
+md5sums="309944c436b1eb4d90e8c90581d7504b libcouchbase-2.5.6.tar.gz
+99f6fd7df5b3ccf4be9bc3363a96efea disable_git_version_check.patch
+2b1192fba9fc460db50963caddef608a fix_ioserver_tests.patch
+e207d547e3de14e22eecef04edf97a6b fix_snappy.patch"
+sha256sums="35690d39c51c00b2656911389068e9bc099a791872fadd6bb8d75684984cf10f libcouchbase-2.5.6.tar.gz
+c323477ab7d2dddad9decf85b00e64a9b13e4e0c9eb78890e8c2ff99cee9ed3b disable_git_version_check.patch
+cae791e2ed78cf570118cf9c50686aac62fd5a48b4050e9862cf0893af017a05 fix_ioserver_tests.patch
+30066934200e21c1b912600bc5dd72ec033aa9c580f1d2456a167ba91b4e624f fix_snappy.patch"
+sha512sums="32c87c323d3336a7aec612f56751c8788494860c6223449ddeca1577ac586d11d3c267b554aece1916c866b5a9d957a80a4b9d62f790b2501ed65a9ee8724246 libcouchbase-2.5.6.tar.gz
+987b76b9c8a38a1f144bcada3c24192b30b352c993c433f4a2a1e381b765ae6bb845ebc6393c794da1b4efbb68fd1d34b027104fecf5c9bcc29b0f58c7f6a474 disable_git_version_check.patch
+40992e442a2e9376ae6d4313fde801769ad4b43d8697e47f6183c8fbb05f30b160cd099c4ca7e893cfa2e665026cb0802abc22ade6d2da2bcf1b56e199b2528a fix_ioserver_tests.patch
+36b483883f8cc2785a1b323cb67ebb9fb7e6e3af767fdcaca88205b3bbc32c02a375a88ce3749df750770ebd62d99c4bf5a19ef496e5f7f160e4b74fbd928e45 fix_snappy.patch"
diff --git a/testing/libcouchbase/disable_git_version_check.patch b/testing/libcouchbase/disable_git_version_check.patch
new file mode 100644
index 0000000000..438e37b8c4
--- /dev/null
+++ b/testing/libcouchbase/disable_git_version_check.patch
@@ -0,0 +1,37 @@
+--- a/cmake/Modules/GetVersionInfo.cmake
++++ b/cmake/Modules/GetVersionInfo.cmake
+@@ -7,34 +7,6 @@
+ # LCB_VERSION_MINOR
+ # LCB_VERSION_PATCH
+
+-## Try git first ##
+-FIND_PROGRAM(GIT_EXECUTABLE NAMES git git.exe)
+-MACRO(RUNGIT outvar)
+- EXECUTE_PROCESS(COMMAND git ${ARGN}
+- OUTPUT_VARIABLE ${outvar}
+- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+- OUTPUT_STRIP_TRAILING_WHITESPACE)
+-ENDMACRO()
+-
+-if (GIT_EXECUTABLE)
+- RUNGIT(LCB_REVDESCRIBE describe --long)
+- RUNGIT(LCB_VERSION describe)
+- STRING(REPLACE "-" "_" LCB_VERSION "${LCB_VERSION}")
+- MESSAGE(STATUS "Sanitized VERSION=${LCB_VERSION}")
+- RUNGIT(LCB_VERSION_CHANGESET rev-parse HEAD)
+-
+- EXECUTE_PROCESS(
+- COMMAND echo ${LCB_VERSION}
+- COMMAND awk -F. "{printf \"0x%0.2d%0.2d%0.2d\", $1, $2, $3}"
+- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+- OUTPUT_VARIABLE LCB_VERSION_HEX)
+-ENDIF()
+-
+-IF(LCB_VERSION)
+- # Have the version information
+- CONFIGURE_FILE(${LCB_GENINFODIR}/distinfo.cmake.in ${LCB_GENINFODIR}/distinfo.cmake)
+-ENDIF()
+-
+ # library version
+ IF(NOT LCB_VERSION AND EXISTS ${LCB_GENINFODIR}/distinfo.cmake)
+ INCLUDE(${LCB_GENINFODIR}/distinfo.cmake)
diff --git a/testing/libcouchbase/fix_ioserver_tests.patch b/testing/libcouchbase/fix_ioserver_tests.patch
new file mode 100644
index 0000000000..5e35567fc0
--- /dev/null
+++ b/testing/libcouchbase/fix_ioserver_tests.patch
@@ -0,0 +1,54 @@
+From c941e4f79748937b117aebc0ee961325b666053d Mon Sep 17 00:00:00 2001
+From: Nathan Johnson <nathan@nathanjohnson.org>
+Date: Sun, 28 Feb 2016 12:04:45 -0600
+Subject: [PATCH] CCBC-683 Remove double calls to pthread_join in ioserver tests.
+
+Call join() from threads-win32 close() to be consistent with pthreads.
+
+Change-Id: I62566a588eb7036205e75945305cf2277db0e00a
+---
+
+diff --git a/tests/ioserver/connection.cc b/tests/ioserver/connection.cc
+index 23712d8..7e423eb 100644
+--- a/tests/ioserver/connection.cc
++++ b/tests/ioserver/connection.cc
+@@ -152,7 +152,10 @@
+ ctlfd_user->close();
+ ctlfd_lsn->close();
+ datasock->close();
+- thr->join();
++ // We don't want to explicitly call join() here since that
++ // gets called in the destructor. This is unncessary
++ // and broken on musl.
++ // thr->join();
+ delete thr;
+ mutex.close();
+ initcond.close();
+diff --git a/tests/ioserver/ioserver.cc b/tests/ioserver/ioserver.cc
+index a9bce67..c5f5b14 100644
+--- a/tests/ioserver/ioserver.cc
++++ b/tests/ioserver/ioserver.cc
+@@ -63,7 +63,10 @@
+ delete *iter;
+ }
+ mutex.unlock();
+- thr->join();
++ // We don't want to explicitly call join() here since that
++ // gets called in the destructor. This is unncessary
++ // and broken on musl.
++ // thr->join();
+ delete thr;
+ mutex.close();
+ delete lsn;
+diff --git a/tests/ioserver/threads-win32.cc b/tests/ioserver/threads-win32.cc
+index 9ed9614..1e5710a 100644
+--- a/tests/ioserver/threads-win32.cc
++++ b/tests/ioserver/threads-win32.cc
+@@ -36,6 +36,7 @@
+ Thread::close()
+ {
+ if (initialized) {
++ join();
+ CloseHandle(hThread);
+ initialized = false;
+ }
diff --git a/testing/libcouchbase/fix_snappy.patch b/testing/libcouchbase/fix_snappy.patch
new file mode 100644
index 0000000000..7756296a25
--- /dev/null
+++ b/testing/libcouchbase/fix_snappy.patch
@@ -0,0 +1,12 @@
+--- a/cmake/configure
++++ b/cmake/configure
+@@ -285,6 +285,9 @@
+ }
+ if ($NO_SNAPPY) {
+ push @CM_OPTIONS, "-DLCB_NO_SNAPPY=1";
++} else {
++ # the cmake options default NO_SNAPPY to ON, so this is necessary
++ push @CM_OPTIONS, "-DLCB_NO_SNAPPY=0";
+ }
+ if ($STATIC_SNAPPY) {
+ push @CM_OPTIONS, "-DLCB_STATIC_SNAPPY";