]>
Commit | Line | Data |
---|---|---|
215dd3ea ER |
1 | # |
2 | # Conditional build: | |
228c1fc7 JB |
3 | %bcond_with tests # build with tests |
4 | %bcond_without doc # HTML and man documentation | |
5 | %bcond_with sasl # SASL authentication (for Kerberos) | |
6 | %bcond_without ssl # TLS connections and SCRAM-SHA-1 authentication | |
215dd3ea ER |
7 | |
8 | # NOTE about arch: | |
9 | # See https://jira.mongodb.org/browse/CDRIVER-1186 | |
10 | # 32-bit MongoDB support was officially deprecated | |
11 | # in MongoDB 3.2, and support is being removed in 3.4. | |
12 | ||
13 | Summary: Client library written in C for MongoDB | |
228c1fc7 | 14 | Summary(pl.UTF-8): Biblioteka kliencka do MongoDB napisana w C |
215dd3ea | 15 | Name: mongo-c-driver |
228c1fc7 | 16 | Version: 1.14.0 |
10e2f500 | 17 | Release: 1 |
215dd3ea ER |
18 | License: Apache v2.0 |
19 | Group: Libraries | |
228c1fc7 | 20 | #Source0Download: https://github.com/mongodb/mongo-c-driver/releases/ |
215dd3ea | 21 | Source0: https://github.com/mongodb/mongo-c-driver/releases/download/%{version}/%{name}-%{version}.tar.gz |
228c1fc7 | 22 | # Source0-md5: 374652f8bd68b89616e35885f7077b97 |
215dd3ea | 23 | URL: https://github.com/mongodb/mongo-c-driver |
228c1fc7 | 24 | BuildRequires: cmake >= 3.1 |
6ce258cc | 25 | %{?with_sasl:BuildRequires: cyrus-sasl-devel} |
228c1fc7 | 26 | BuildRequires: libicu-devel |
a9b4913f | 27 | %{?with_ssl:BuildRequires: openssl-devel} |
215dd3ea | 28 | BuildRequires: perl-base |
624ce5af | 29 | BuildRequires: pkgconfig |
215dd3ea | 30 | BuildRequires: snappy-devel |
228c1fc7 | 31 | %{?with_doc:BuildRequires: sphinx-pdg} |
215dd3ea ER |
32 | BuildRequires: zlib-devel |
33 | %if %{with tests} | |
34 | BuildRequires: mongodb-server | |
35 | BuildRequires: openssl | |
36 | %endif | |
215dd3ea ER |
37 | Requires: %{name}-libs = %{version}-%{release} |
38 | Obsoletes: mongo-c-driver-tools < 1.3.0 | |
39 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
40 | ||
41 | %define libver 1.0 | |
42 | ||
43 | %description | |
a9b4913f | 44 | mongo-c-driver is a client library written in C for MongoDB. |
215dd3ea | 45 | |
228c1fc7 JB |
46 | %description -l pl.UTF-8 |
47 | mongo-c-driver to biblioteka kliencka do MongoDB napisana w C. | |
48 | ||
215dd3ea | 49 | %package libs |
228c1fc7 JB |
50 | Summary: Shared library for mongo-c-driver |
51 | Summary(pl.UTF-8): Biblioteka współdzielona mongo-c-driver | |
52 | Group: Libraries | |
10e2f500 | 53 | Requires: libbson = %{version}-%{release} |
215dd3ea ER |
54 | |
55 | %description libs | |
228c1fc7 JB |
56 | This package contains the shared library for mongo-c-driver. |
57 | ||
58 | %description libs -l pl.UTF-8 | |
59 | Ten pakiet zawiera bibliotekę współdzieloną mongo-c-driver. | |
215dd3ea ER |
60 | |
61 | %package devel | |
228c1fc7 JB |
62 | Summary: Header files for mongo-c-driver library |
63 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki mongo-c-driver | |
215dd3ea ER |
64 | Group: Development/Libraries |
65 | Requires: %{name}-libs = %{version}-%{release} | |
66 | ||
67 | %description devel | |
228c1fc7 JB |
68 | This package contains the header files for mongo-c-driver library. |
69 | ||
70 | Documentation: http://mongoc.org/libmongoc/%{version}/ | |
71 | ||
72 | %description devel -l pl.UTF-8 | |
73 | Ten pakiet zawiera pliki nagłówkowe biblioteki mongo-c-driver. | |
215dd3ea | 74 | |
228c1fc7 JB |
75 | Dokumentacja: http://mongoc.org/libmongoc/%{version}/ |
76 | ||
77 | %package apidocs | |
78 | Summary: API documentation for mongo-c-driver library | |
79 | Summary(pl.UTF-8): Dokumentacja API biblioteki mongo-c-driver | |
80 | Group: Documentation | |
81 | ||
82 | %description apidocs | |
83 | API documentation for mongo-c-driver library. | |
84 | ||
85 | %description apidocs -l pl.UTF-8 | |
86 | Dokumentacja API biblioteki mongo-c-driver. | |
215dd3ea | 87 | |
10e2f500 ER |
88 | %package -n libbson |
89 | Summary: Building, parsing, and iterating BSON documents | |
228c1fc7 JB |
90 | Summary(pl.UTF-8): Tworzenie, analiza i przechodzenie dokumentów BSON |
91 | License: Apache v2.0 and ISC and MIT and zlib | |
10e2f500 | 92 | Group: Libraries |
215dd3ea | 93 | |
10e2f500 ER |
94 | %description -n libbson |
95 | This is a library providing useful routines related to building, | |
96 | parsing, and iterating BSON documents <http://bsonspec.org/>. | |
97 | ||
228c1fc7 JB |
98 | %description -n libbson -l pl.UTF-8 |
99 | Ta biblioteka udostępnia przydatne funkcje związane z budowaniem, | |
100 | analizą i przechodzeniem dokumentów BSON (<http://bsonspec.org/>). | |
101 | ||
10e2f500 ER |
102 | %package -n libbson-devel |
103 | Summary: Development files for libbson | |
228c1fc7 | 104 | Summary(pl.UTF-8): Pliki programistyczne biblioteki libbson |
10e2f500 ER |
105 | License: Apache v2.0 |
106 | Group: Development/Libraries | |
107 | Requires: libbson = %{version}-%{release} | |
215dd3ea | 108 | |
10e2f500 ER |
109 | %description -n libbson-devel |
110 | This package contains libraries and header files needed for developing | |
111 | applications that use libbson. | |
215dd3ea | 112 | |
228c1fc7 JB |
113 | %description -n libbson-devel -l pl.UTF-8 |
114 | Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji | |
115 | wykorzystujących bibliotekę libbson. | |
116 | ||
117 | %package -n libbson-apidocs | |
118 | Summary: API documentation for libbson library | |
119 | Summary(pl.UTF-8): Dokumentacja API biblioteki libbson | |
120 | Group: Documentation | |
121 | ||
122 | %description -n libbson-apidocs | |
123 | API documentation for libbson library. | |
124 | ||
125 | %description -n libbson-apidocs -l pl.UTF-8 | |
126 | Dokumentacja API biblioteki libbson. | |
127 | ||
10e2f500 ER |
128 | %prep |
129 | %setup -q | |
130 | ||
131 | %build | |
132 | install -d cmake-build | |
133 | cd cmake-build | |
228c1fc7 | 134 | %cmake .. \ |
10e2f500 | 135 | -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF \ |
228c1fc7 | 136 | -DENABLE_BSON=ON \ |
10e2f500 | 137 | -DENABLE_EXAMPLES=ON \ |
228c1fc7 | 138 | -DENABLE_HTML_DOCS=%{!?with_doc:OFF}%{?with_doc:ON} \ |
10e2f500 | 139 | -DENABLE_MAN_PAGES=%{!?with_doc:OFF}%{?with_doc:ON} \ |
228c1fc7 | 140 | -DENABLE_SASL=%{!?with_sasl:OFF}%{?with_sasl:CYRUS} \ |
10e2f500 ER |
141 | -DENABLE_SHM_COUNTERS=ON \ |
142 | -DENABLE_SSL=%{!?with_ssl:OFF}%{?with_ssl:OPENSSL -DENABLE_CRYPTO_SYSTEM_PROFILE=ON} \ | |
143 | -DENABLE_STATIC=OFF \ | |
144 | -DENABLE_TESTS=%{!?with_tests:OFF}%{?with_tests:ON} \ | |
228c1fc7 | 145 | -DENABLE_ZLIB=SYSTEM |
10e2f500 ER |
146 | |
147 | %{__make} | |
215dd3ea ER |
148 | |
149 | %if %{with tests} | |
150 | : Run a server | |
151 | install -d dbtest | |
152 | mongod \ | |
153 | --journal \ | |
154 | --ipv6 \ | |
155 | --unixSocketPrefix /tmp \ | |
228c1fc7 | 156 | --logpath $PWD/server.log \ |
215dd3ea | 157 | --pidfilepath $PWD/server.pid \ |
228c1fc7 | 158 | --dbpath $PWD/dbtest \ |
215dd3ea ER |
159 | --fork |
160 | ||
161 | : Run the test suite | |
162 | ret=0 | |
163 | export MONGOC_TEST_OFFLINE=on | |
164 | #export MONGOC_TEST_SKIP_SLOW=on | |
165 | ||
166 | %{__make} check || ret=1 | |
167 | ||
168 | : Cleanup | |
169 | [ -s server.pid ] && kill $(cat server.pid) | |
170 | ||
171 | exit $ret | |
172 | %endif | |
173 | ||
174 | %install | |
175 | rm -rf $RPM_BUILD_ROOT | |
228c1fc7 | 176 | |
10e2f500 | 177 | %{__make} -C cmake-build install \ |
215dd3ea ER |
178 | DESTDIR=$RPM_BUILD_ROOT |
179 | ||
228c1fc7 JB |
180 | # packaged as %doc / unneeded in rpm |
181 | %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/{COPYING,NEWS,README.rst,THIRD_PARTY_NOTICES,uninstall.sh} | |
182 | %if %{with doc} | |
183 | %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/{mongo-c-driver,libbson}/html | |
184 | %endif | |
185 | ||
79d243fb ER |
186 | install -d $RPM_BUILD_ROOT%{_examplesdir}/libmongoc-%{version} |
187 | cp -a src/libmongoc/examples/* $RPM_BUILD_ROOT%{_examplesdir}/libmongoc-%{version} | |
188 | ||
189 | install -d $RPM_BUILD_ROOT%{_examplesdir}/libbson-%{version} | |
190 | cp -a src/libbson/examples/* $RPM_BUILD_ROOT%{_examplesdir}/libbson-%{version} | |
191 | ||
215dd3ea ER |
192 | %clean |
193 | rm -rf $RPM_BUILD_ROOT | |
194 | ||
195 | %post libs -p /sbin/ldconfig | |
196 | %postun libs -p /sbin/ldconfig | |
197 | ||
10e2f500 ER |
198 | %post -n libbson -p /sbin/ldconfig |
199 | %postun -n libbson -p /sbin/ldconfig | |
200 | ||
215dd3ea ER |
201 | %files |
202 | %defattr(644,root,root,755) | |
203 | %attr(755,root,root) %{_bindir}/mongoc-stat | |
204 | ||
205 | %files libs | |
206 | %defattr(644,root,root,755) | |
228c1fc7 | 207 | %doc NEWS README.rst THIRD_PARTY_NOTICES |
215dd3ea | 208 | %attr(755,root,root) %{_libdir}/libmongoc-%{libver}.so.*.*.* |
228c1fc7 | 209 | %attr(755,root,root) %ghost %{_libdir}/libmongoc-%{libver}.so.0 |
215dd3ea ER |
210 | |
211 | %files devel | |
212 | %defattr(644,root,root,755) | |
228c1fc7 | 213 | %attr(755,root,root) %{_libdir}/libmongoc-%{libver}.so |
215dd3ea | 214 | %{_includedir}/libmongoc-%{libver} |
228c1fc7 JB |
215 | %{_pkgconfigdir}/libmongoc-%{libver}.pc |
216 | %{_pkgconfigdir}/libmongoc-ssl-%{libver}.pc | |
215dd3ea ER |
217 | %{_libdir}/cmake/libmongoc-%{libver} |
218 | %if %{with doc} | |
228c1fc7 | 219 | %{_mandir}/man3/mongoc_*.3* |
215dd3ea | 220 | %endif |
79d243fb | 221 | %{_examplesdir}/libmongoc-%{version} |
10e2f500 | 222 | |
228c1fc7 JB |
223 | %if %{with doc} |
224 | %files apidocs | |
225 | %defattr(644,root,root,755) | |
226 | %doc cmake-build/src/libmongoc/doc/html/{_images,_static,*.html,*.js} | |
227 | %endif | |
228 | ||
10e2f500 ER |
229 | %files -n libbson |
230 | %defattr(644,root,root,755) | |
228c1fc7 | 231 | %doc src/libbson/{NEWS,THIRD_PARTY_NOTICES} |
10e2f500 | 232 | %attr(755,root,root) %{_libdir}/libbson-%{libver}.so.*.*.* |
228c1fc7 | 233 | %attr(755,root,root) %ghost %{_libdir}/libbson-%{libver}.so.0 |
10e2f500 ER |
234 | |
235 | %files -n libbson-devel | |
236 | %defattr(644,root,root,755) | |
228c1fc7 | 237 | %attr(755,root,root) %{_libdir}/libbson-%{libver}.so |
10e2f500 | 238 | %{_includedir}/libbson-%{libver} |
10e2f500 | 239 | %{_pkgconfigdir}/libbson-%{libver}.pc |
228c1fc7 JB |
240 | %{_libdir}/cmake/libbson-%{libver} |
241 | %if %{with doc} | |
242 | %{_mandir}/man3/bson_*.3* | |
243 | %endif | |
79d243fb | 244 | %{_examplesdir}/libbson-%{version} |
228c1fc7 JB |
245 | |
246 | %if %{with doc} | |
247 | %files -n libbson-apidocs | |
248 | %defattr(644,root,root,755) | |
249 | %doc cmake-build/src/libbson/doc/html/{_static,*.html,*.js} | |
250 | %endif |