3 %bcond_without apidocs # API documentation
4 %bcond_without static_libs # static library
6 Summary: Instant Messaging Encryption library with Whipsper System Sesame, Double Ratchet and X3DH protocols
7 Summary(pl.UTF-8): Biblioteka szyfrowania komunikacji z protokołami Whipsper System Sesame, Double Ratchet oraz X3DH
13 #Source0Download: https://gitlab.linphone.org/BC/public/lime/-/tags
14 Source0: https://gitlab.linphone.org/BC/public/lime/-/archive/%{version}/%{name}-%{version}.tar.bz2
15 # Source0-md5: 72bc6a4087c02ff5ab5d5c2b540be899
16 URL: http://www.linphone.org/technical-corner/lime
17 # base+tester components
18 BuildRequires: bctoolbox-devel >= 0.5.1
19 BuildRequires: cmake >= 3.1
20 %{?with_apidocs:BuildRequires: doxygen}
21 BuildRequires: libsoci-devel
22 BuildRequires: libsoci-sqlite3-devel
23 BuildRequires: libstdc++-devel >= 6:4.7
24 BuildRequires: rpm-build >= 4.6
25 BuildRequires: rpmbuild(macros) >= 1.605
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 LIME is an end-to-end encryption library for one-to-one and group
30 instant messaging, allowing users to exchange messages privately and
31 asynchronously. It uses modern ciphering curve X448 and double ratchet
32 algorithm for perfect forward secrecy.
34 LIME is composed of a portable client library coupled with a public
35 key server developed by Belledonne Communications to allow end-to-end
36 encryption for messaging, without having to exchange cryptographic
39 %description -l pl.UTF-8
40 LIME to biblioteka szyfrowania transmisji między końcami połączenia
41 (end-to-end) na potrzeby komunikatorów osobistych i grupowych,
42 pozwalająca użytkownikom wymieniać wiadomości prywatnie i
43 asynchronicznie. Wykorzystuje nowoczesną krzywą szyfrującą X448 oraz
44 algorytm double ratchet w celu zapewnienia prywatności.
46 LIME składa się z przenośnej biblioteki klienckiej oraz serwera kluczy
47 publicznych, rozwijanych przez Belledonne Communications w celu
48 zapewnienia szyfrowania komunikacji między końcówkami bez potrzeby
49 jednoczesnej wymiany kluczy kryptograficznych.
52 Summary: Header files for LIME library
53 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki LIME
54 Group: Development/Libraries
55 Requires: %{name} = %{version}-%{release}
56 Requires: bctoolbox-devel >= 0.5.1
57 Requires: libsoci-devel
58 Requires: libstdc++-devel
61 Header files for LIME library.
63 %description devel -l pl.UTF-8
64 Pliki nagłówkowe biblioteki LIME.
67 Summary: Static LIME library
68 Summary(pl.UTF-8): Statyczna biblioteka LIME
69 Group: Development/Libraries
70 Requires: %{name}-devel = %{version}-%{release}
75 %description static -l pl.UTF-8
76 Statyczna biblioteka LIME.
79 Summary: API documentation for LIME library
80 Summary(pl.UTF-8): Dokumentacja API biblioteki LIME
85 API documentation for LIME library.
87 %description apidocs -l pl.UTF-8
88 Dokumentacja API biblioteki LIME.
97 -DENABLE_C_INTERFACE=ON \
98 %{?with_apidocs:-DENABLE_DOC=ON} \
99 %{!?with_static_libs:-DENABLE_STATIC=OFF}
104 rm -rf $RPM_BUILD_ROOT
106 %{__make} -C builddir install \
107 DESTDIR=$RPM_BUILD_ROOT
109 # disable completeness check incompatible with split packaging
110 %{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d; /^unset(_IMPORT_CHECK_TARGETS)/d' $RPM_BUILD_ROOT%{_datadir}/lime/cmake/limeTargets.cmake
112 # omitted by cmake install
113 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
114 %{__sed} -i -e 's,@CMAKE_INSTALL_PREFIX@,%{_prefix},' \
115 -e 's,@PROJECT_NAME@,%{name},' \
116 -e 's,@PROJECT_VERSION@,%{version},' \
117 -e 's,@CMAKE_INSTALL_FULL_INCLUDEDIR@,%{_includedir},' \
118 -e 's,@CMAKE_INSTALL_FULL_LIBDIR@,%{_libdir},' \
119 -e 's,@LIBS_PRIVATE@,-lbctoolbox -lsoci_core,' \
120 lime.pc.in >$RPM_BUILD_ROOT%{_pkgconfigdir}/lime.pc
123 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/lime-4.5.0
126 rm -rf $RPM_BUILD_ROOT
128 %post -p /sbin/ldconfig
129 %postun -p /sbin/ldconfig
132 %defattr(644,root,root,755)
133 %doc AUTHORS.md CHANGELOG.md README.md
134 %attr(755,root,root) %{_bindir}/lime_tester
135 %attr(755,root,root) %{_libdir}/liblime.so.0
136 %{_datadir}/lime_tester
139 %defattr(644,root,root,755)
140 %attr(755,root,root) %{_libdir}/liblime.so
142 %{_pkgconfigdir}/lime.pc
143 %dir %{_datadir}/lime
144 %{_datadir}/lime/cmake
146 %if %{with static_libs}
148 %defattr(644,root,root,755)
154 %defattr(644,root,root,755)
155 %doc builddir/doc/html/*