]> git.pld-linux.org Git - SPECS.git/blob - lime.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / lime.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs         # API documentation
4 %bcond_without  static_libs     # static library
5 #
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
8 Name:           lime
9 Version:        4.5.22
10 Release:        1
11 License:        GPL v3+
12 Group:          Libraries
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)
27
28 %description
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.
33
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
37 keys simultaneously.
38
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.
45
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.
50
51 %package devel
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
59
60 %description devel
61 Header files for LIME library.
62
63 %description devel -l pl.UTF-8
64 Pliki nagłówkowe biblioteki LIME.
65
66 %package static
67 Summary:        Static LIME library
68 Summary(pl.UTF-8):      Statyczna biblioteka LIME
69 Group:          Development/Libraries
70 Requires:       %{name}-devel = %{version}-%{release}
71
72 %description static
73 Static LIME library.
74
75 %description static -l pl.UTF-8
76 Statyczna biblioteka LIME.
77
78 %package apidocs
79 Summary:        API documentation for LIME library
80 Summary(pl.UTF-8):      Dokumentacja API biblioteki LIME
81 Group:          Documentation
82 BuildArch:      noarch
83
84 %description apidocs
85 API documentation for LIME library.
86
87 %description apidocs -l pl.UTF-8
88 Dokumentacja API biblioteki LIME.
89
90 %prep
91 %setup -q
92
93 %build
94 install -d builddir
95 cd builddir
96 %cmake .. \
97         -DENABLE_C_INTERFACE=ON \
98         %{?with_apidocs:-DENABLE_DOC=ON} \
99         %{!?with_static_libs:-DENABLE_STATIC=OFF}
100
101 %{__make}
102
103 %install
104 rm -rf $RPM_BUILD_ROOT
105
106 %{__make} -C builddir install \
107         DESTDIR=$RPM_BUILD_ROOT
108
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
111
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
121
122 # packaged as %doc
123 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/lime-4.5.0
124
125 %clean
126 rm -rf $RPM_BUILD_ROOT
127
128 %post   -p /sbin/ldconfig
129 %postun -p /sbin/ldconfig
130
131 %files
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
137
138 %files devel
139 %defattr(644,root,root,755)
140 %attr(755,root,root) %{_libdir}/liblime.so
141 %{_includedir}/lime
142 %{_pkgconfigdir}/lime.pc
143 %dir %{_datadir}/lime
144 %{_datadir}/lime/cmake
145
146 %if %{with static_libs}
147 %files static
148 %defattr(644,root,root,755)
149 %{_libdir}/liblime.a
150 %endif
151
152 %if %{with apidocs}
153 %files apidocs
154 %defattr(644,root,root,755)
155 %doc builddir/doc/html/*
156 %endif
This page took 1.557805 seconds and 3 git commands to generate.