1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-23 11:15:13 +03:00
aports/community/mongo-c-driver/APKBUILD
2023-02-03 07:29:01 +01:00

130 lines
3.6 KiB
Text

# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=mongo-c-driver
pkgver=1.23.2
pkgrel=0
pkgdesc="Client library written in C for MongoDB"
url="https://github.com/mongodb/mongo-c-driver"
arch="all"
license="Apache-2.0"
makedepends="
cmake
libtool
openssl-dev>3
py3-sphinx
samurai
snappy-dev
zlib-dev
zstd-dev
"
subpackages="
$pkgname-static:_static
libbson-static:_libbson_static
$pkgname-dev:_dev
$pkgname-doc
libbson
libbson-dev
"
source="https://github.com/mongodb/mongo-c-driver/releases/download/$pkgver/mongo-c-driver-$pkgver.tar.gz"
options="!check" # missing cmake file on running test (fixme)
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DENABLE_BSON:STRING=ON \
-DENABLE_MONGOC=ON \
-DENABLE_SSL=OPENSSL \
-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF \
-DENABLE_MAN_PAGES=ON \
-DENABLE_TESTS=ON \
-DENABLE_EXAMPLES=OFF \
-DCMAKE_SKIP_RPATH=ON
cmake --build build
}
check() {
export MONGOC_TEST_SKIP_MOCK=on
export MONGOC_TEST_SKIP_SLOW=on
export MONGOC_TEST_SKIP_LIVE=on
ninja -C build test
}
package() {
DESTDIR="$pkgdir" cmake --install build
# removes COPYING, NEWS, README, uninstall script
rm -rf "$pkgdir/usr/share/mongo-c-driver"
}
libbson() {
pkgdesc="Building, parsing, and iterating BSON documents"
amove usr/lib/libbson-*.so.*
}
_static() {
# Depend on the dev package that has the headers required
# for compiling against, whether it is static or shared
depends_static="mongo-c-driver-dev=$pkgver-r$pkgrel"
default_static
# Move the libbson static archive from the mongo-c-driver-static
# back to $pkgdir it will be then moved to libbson-static
mkdir -p "$pkgdir"/usr/lib
mv "$subpkgdir"/usr/lib/libbson-static-1.0.a "$pkgdir"/usr/lib
# Move development dependencies that only make sense in the context
# of static libraries like libmongoc-static-1.0.pc
mkdir -p "$subpkgdir"/usr/lib/pkgconfig
mkdir -p "$subpkgdir"/usr/lib/cmake
mv "$pkgdir"/usr/lib/pkgconfig/libmongoc-static-1.0.pc "$subpkgdir"/usr/lib/pkgconfig
mv "$pkgdir"/usr/lib/cmake/libmongoc-static-1.0 "$subpkgdir"/usr/lib/cmake
}
_libbson_static() {
# Depend on the dev package that has the headers required
# for compiling against, whether it is static or shared
depends_static="libbson-dev=$pkgver-r$pkgrel"
default_static
# Move development dependencies that only make sense in the context
# of static libraries like libbson-static-1.0.pc
mkdir -p "$subpkgdir"/usr/lib/pkgconfig
mkdir -p "$subpkgdir"/usr/lib/cmake
mv "$pkgdir"/usr/lib/pkgconfig/libbson-static-1.0.pc "$subpkgdir"/usr/lib/pkgconfig
mv "$pkgdir"/usr/lib/cmake/libbson-static-1.0 "$subpkgdir"/usr/lib/cmake
}
_dev() {
# This should be removed once abuild knows how to search for pkg-config
# files that are in another subpackage that is also being created alongside
# this one.
depends_dev="libbson-dev"
default_dev
# libbson pkg-config files
mkdir -p "$pkgdir"/usr/lib/pkgconfig
mv "$subpkgdir"/usr/lib/pkgconfig/libbson-1.0.pc "$pkgdir"/usr/lib/pkgconfig
# libbson solink
mkdir -p "$pkgdir"/usr/lib
mv "$subpkgdir"/usr/lib/libbson-1.0.so "$pkgdir"/usr/lib
# libbson cmake file
mkdir -p "$pkgdir"/usr/lib/cmake
mv "$subpkgdir"/usr/lib/cmake/bson-1.0 "$pkgdir"/usr/lib/cmake
mv "$subpkgdir"/usr/lib/cmake/libbson-1.0 "$pkgdir"/usr/lib/cmake
# libbson include files
mkdir -p "$pkgdir"/usr/include
mv "$subpkgdir"/usr/include/libbson-1.0 "$pkgdir"/usr/include
}
sha512sums="
7adbdc11fabf7fdd77879caaf591f948b52bba94bf5e2b1feba001a2bf6217130b60777e3a5afb0481b49e7865d33645c43531d40a4d5a2969c1626c8dc26cb5 mongo-c-driver-1.23.2.tar.gz
"