blob: f2955173ad374f14537a9ef7bc52b10c387d88db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=mongo-c-driver
pkgver=1.15.1
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="openssl-dev snappy-dev zlib-dev libtool py3-sphinx cmake 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"
build() {
mkdir -p "$srcdir"/build
cd "$srcdir"/build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DENABLE_BSON:STRING=ON \
-DENABLE_MONGOC:BOOL=ON \
-DENABLE_SSL:STRING=OPENSSL \
-DENABLE_AUTOMATIC_INIT_AND_CLEANUP:BOOL=OFF \
-DENABLE_MAN_PAGES:BOOL=ON \
-DENABLE_TESTS:BOOL=ON \
-DENABLE_EXAMPLES:BOOL=OFF \
-DSPHINX_EXECUTABLE:STRING=/usr/bin/sphinx-build-3 \
-DCMAKE_SKIP_RPATH=ON \
"$builddir"
make
}
check() {
cd "$srcdir"/build
export MONGOC_TEST_SKIP_MOCK=on
export MONGOC_TEST_SKIP_SLOW=on
export MONGOC_TEST_SKIP_LIVE=on
make check
}
package() {
cd "$srcdir"/build
make DESTDIR="$pkgdir" install
# removes COPYING, NEWS, README, uninstall script
rm -rf "$pkgdir/usr/share/mongo-c-driver"
}
libbson() {
pkgdesc="Building, parsing, and iterating BSON documents"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libbson-*.so.* "$subpkgdir"/usr/lib/
}
_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"
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"
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/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="7544900809dd008da110b412acc1e5e42ea908d804fdf3bced8100e48f1695844605407c9733b285b8833b636bcaec8687df25a01c9749612c61df2325214fe5 mongo-c-driver-1.15.1.tar.gz"
|