# Contributor: Nathan Johnson <nathan@nathanjohnson.info>
# Maintainer: Nathan Johnson <nathan@nathanjohnson.info>
setvar pkgname = 'libcouchbase'
setvar pkgver = '2.8.1'
setvar pkgrel = '0'
setvar pkgdesc = ""C client library for Couchbase""
setvar url = ""https://developer.couchbase.com/community""
setvar arch = ""all""
setvar license = ""ASL 2.0""
setvar depends = ''
setvar depends_dev = ""musl-dev libressl-dev snappy-dev""
setvar makedepends = ""$depends_dev cmake perl libtool libev-dev libevent-dev libuv-dev""
setvar subpackages = ""$pkgname-dev $pkgname-bin $pkgname-doc $pkgname-libevent $pkgname-libev $pkgname-libuv""
setvar source = ""$pkgname-$pkgver.tar.gz::https://github.com/couchbase/libcouchbase/archive/$pkgver.tar.gz
	disable_git_version_check.patch
	fix_snappy.patch
	fix_socktest.patch""
setvar builddir = ""$srcdir/$pkgname-$pkgver""

proc build {
	mkdir "$builddir"/build
	cd "$builddir"/build
	../cmake/configure \
		--prefix=/usr \
		--disable-couchbasemock \
		|| return 1
	make
}

proc check {
	cd "$builddir"/build
	ctest
}

proc package {
	make -C "$builddir"/build install DESTDIR="$pkgdir" || return 1
}

proc dev {
	default_dev || return 1
	mv "$subpkgdir"/usr/bin/cbc-write-config \
		"$pkgdir"/usr/bin || return 1
	rmdir "$subpkgdir"/usr/bin
}

proc libevent {
	setvar pkgdesc = ""$pkgdesc (libevent backend)""
	setvar depends = ""$pkgname libevent""

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libcouchbase_libevent.so "$subpkgdir"/usr/lib
}

proc libev {
	setvar pkgdesc = ""$pkgdesc (libev backend)""
	setvar depends = ""$pkgname libev""

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libcouchbase_libev.so "$subpkgdir"/usr/lib
}

proc libuv {
	setvar pkgdesc = ""$pkgdesc (libuv backend)""
	setvar depends = ""$pkgname libuv""

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libcouchbase_libuv.so "$subpkgdir"/usr/lib
}

proc bin {
	setvar pkgdesc = ""$pkgdesc (command line utilities)""
	setvar depends = "$pkgname"

	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}

setvar sha512sums = ""394c047f79ce7a976f76f07726a072cf16e8514481222d8867ea7eb863fcdfb94fa6301974708bea0390acf7a5234fff376a73da144a9c7a62616c9a3034de26  libcouchbase-2.8.1.tar.gz
987b76b9c8a38a1f144bcada3c24192b30b352c993c433f4a2a1e381b765ae6bb845ebc6393c794da1b4efbb68fd1d34b027104fecf5c9bcc29b0f58c7f6a474  disable_git_version_check.patch
9023fe6c0d88577f40598f201be121012199167e9eef7e99da29664d23fd5e0c488fad2eda88ed3b30ea089b60e760c1b472bb46bb0804b5f7bb7091f0d8a2ed  fix_snappy.patch
72319b86fdd91728723ccb091e72199788a84e2ec9ea12c0fcd1ed686eb155ec11e0addbff96735f83e7f31764a85650f0483b6e76d3a8bee16f71b2751fe4a9  fix_socktest.patch""