]> git.pld-linux.org Git - packages/libproxy.git/blob - libproxy.spec
- bcond for NetworkManager module
[packages/libproxy.git] / libproxy.spec
1 # TODO:
2 # - natus-based pacrunner (doesn't build with natus 0.2.1)
3 # - ruby binding (not finished as of 0.4.8 - no buildsystem)
4 #
5 # Conditional build:
6 %bcond_without  duktape         # Duktape pacrunner plugin
7 %bcond_without  kde             # KDE 4/5 config plugin
8 %bcond_without  nm              # NetworkManager pacrunner plugin
9 %bcond_without  mono            # Mono C# bindings
10 %bcond_without  mozjs           # MozJS pacrunner plugin
11 %bcond_with     natus           # Natus pacrunner plugin [doesn't build with natus 0.2.1]
12 %bcond_without  python2         # Python 2.x bindings
13 %bcond_without  python3         # Python 3.x bindings
14 %bcond_without  webkit          # WebKit pacrunner plugin
15
16 %ifarch x32
17 %undefine       with_mono
18 %endif
19 Summary:        Library for automatic proxy configuration management
20 Summary(pl.UTF-8):      Biblioteka do automatycznego zarządzania konfiguracją proxy
21 Name:           libproxy
22 Version:        0.4.18
23 Release:        2
24 License:        LGPL v2.1+
25 Group:          Libraries
26 #Source0Download: https://github.com/libproxy/libproxy/releases
27 Source0:        https://github.com/libproxy/libproxy/archive/%{version}/%{name}-%{version}.tar.gz
28 # Source0-md5:  21d13e5d699c3c21ab5eb2260ed9247a
29 Patch0:         %{name}-pac-modules.patch
30 URL:            https://libproxy.github.io/libproxy/
31 %{?with_nm:BuildRequires:       NetworkManager-devel}
32 BuildRequires:  cmake >= 2.6
33 BuildRequires:  dbus-devel
34 %{?with_duktape:BuildRequires:  duktape-devel}
35 BuildRequires:  glib2-devel >= 1:2.26
36 %{?with_webkit:BuildRequires:   gtk-webkit4-devel >= 2.6}
37 BuildRequires:  libstdc++-devel >= 6:7
38 %{?with_mono:BuildRequires:     mono-csharp}
39 %{?with_mozjs:BuildRequires:    mozjs68-devel}
40 %{?with_natus:BuildRequires:    natus-devel}
41 BuildRequires:  perl-devel >= 1:5.8.0
42 BuildRequires:  pkgconfig
43 %{?with_python2:BuildRequires:  python-devel >= 1:2.5}
44 %{?with_python2:BuildRequires:  python-modules >= 1:2.5}
45 %{?with_python3:BuildRequires:  python3-devel >= 1:3.2}
46 %{?with_python3:BuildRequires:  python3-modules >= 1:3.2}
47 BuildRequires:  rpm-perlprov >= 4.1-13
48 BuildRequires:  rpm-pythonprov
49 BuildRequires:  rpmbuild(macros) >= 1.752
50 BuildRequires:  sed >= 4.0
51 BuildRequires:  xorg-lib-libX11-devel
52 BuildRequires:  xorg-lib-libXmu-devel
53 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54
55 %description
56 Library for automatic proxy configuration management.
57
58 %description -l pl.UTF-8
59 Biblioteka do automatycznego zarządzania konfiguracją proxy.
60
61 %package devel
62 Summary:        Header files for libproxy library
63 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki libproxy
64 Group:          Development/Libraries
65 Requires:       %{name} = %{version}-%{release}
66 Requires:       libstdc++-devel
67 Obsoletes:      libproxy-static < 0.4
68
69 %description devel
70 Header files for libproxy library.
71
72 %description devel -l pl.UTF-8
73 Pliki nagłówkowe biblioteki libproxy.
74
75 %package -n dotnet-libproxy-sharp
76 Summary:        Libproxy# - libproxy .NET bindings
77 Summary(pl.UTF-8):      Libproxy# - wiązania libproxy dla .NET
78 Group:          Libraries
79 Requires:       %{name} = %{version}-%{release}
80
81 %description -n dotnet-libproxy-sharp
82 Libproxy# - libproxy .NET bindings.
83
84 %description -n dotnet-libproxy-sharp -l pl.UTF-8
85 Libproxy# - wiązania libproxy dla .NET.
86
87 %package -n dotnet-libproxy-sharp-devel
88 Summary:        libproxy .NET bindings - development files
89 Summary(pl.UTF-8):      Wiązania libproxy dla .NET - pliki programistyczne
90 Group:          Development/Libraries
91 Requires:       dotnet-libproxy-sharp = %{version}-%{release}
92
93 %description -n dotnet-libproxy-sharp-devel
94 Development files for libproxy .NET bindings.
95
96 %description -n dotnet-libproxy-sharp-devel -l pl.UTF-8
97 Pliki programistyczne wiązań libproxy dla .NET.
98
99 %package -n perl-Net-Libproxy
100 Summary:        libproxy Perl bindings
101 Summary(pl.UTF-8):      Wiązania libproxy dla Perla
102 Group:          Development/Languages/Perl
103 Requires:       %{name} = %{version}-%{release}
104
105 %description -n perl-Net-Libproxy
106 libproxy Perl bindings.
107
108 %description -n perl-Net-Libproxy -l pl.UTF-8
109 Wiązania libproxy dla Perla.
110
111 %package -n python-libproxy
112 Summary:        libproxy Python bindings
113 Summary(pl.UTF-8):      Wiązania libproxy dla Pythona
114 Group:          Libraries/Python
115 # uses libproxy shared library
116 Requires:       %{name} = %{version}-%{release}
117 Requires:       python-libs >= 1:2.5
118 BuildArch:      noarch
119
120 %description -n python-libproxy
121 libproxy Python bindings.
122
123 %description -n python-libproxy -l pl.UTF-8
124 Wiązania libproxy dla Pythona.
125
126 %package -n python3-libproxy
127 Summary:        libproxy Python 3 bindings
128 Summary(pl.UTF-8):      Wiązania libproxy dla Pythona 3
129 Group:          Libraries/Python
130 # uses libproxy shared library
131 Requires:       %{name} = %{version}-%{release}
132 Requires:       python3-libs >= 1:3.2
133 BuildArch:      noarch
134
135 %description -n python3-libproxy
136 libproxy Python 3 bindings.
137
138 %description -n python3-libproxy -l pl.UTF-8
139 Wiązania libproxy dla Pythona 3.
140
141 %package -n vala-libproxy
142 Summary:        Vala bindings for libproxy API
143 Summary(pl.UTF-8):      Wiązania API libproxy dla języka Vala
144 Group:          Development/Languages
145 Requires:       %{name}-devel = %{version}-%{release}
146 BuildArch:      noarch
147
148 %description -n vala-libproxy
149 Vala bindings for libproxy API.
150
151 %description -n vala-libproxy -l pl.UTF-8
152 Wiązania API libproxy dla języka Vala.
153
154 %package networkmanager
155 Summary:        NetworkManager network plugin for libproxy
156 Summary(pl.UTF-8):      Wtyczka sieci NetworkManager dla libproxy
157 Group:          Libraries
158 Requires:       %{name} = %{version}-%{release}
159
160 %description networkmanager
161 NetworkManager network plugin for libproxy, to query NetworkManager
162 about network configuration changes.
163
164 %description networkmanager -l pl.UTF-8
165 Wtyczka sieci NetworkManager dla libproxy, do odpytywania
166 NetworkManagera o zmiany konfiguracji sieci.
167
168 %package gnome
169 Summary:        GNOME configuration plugin for libproxy
170 Summary(pl.UTF-8):      Wtyczka konfiguracji GNOME dla libproxy
171 Group:          Libraries
172 Requires:       %{name} = %{version}-%{release}
173 Requires:       glib2 >= 1:2.26
174
175 %description gnome
176 GNOME (gsettings) configuration plugin for libproxy, to query GNOME
177 about proxy settings.
178
179 %description gnome -l pl.UTF-8
180 Wtyczka konfiguracji GNOME (gsettings) dla libproxy, do odczytu
181 ustawień proxy z GNOME.
182
183 %package kde
184 Summary:        KDE configuration plugin for libproxy
185 Summary(pl.UTF-8):      Wtyczka konfiguracji KDE dla libproxy
186 Group:          Libraries
187 Requires:       %{name} = %{version}-%{release}
188 #Requires:      kreadconfig (KDE4) or kreadconfig5 (KF5)
189
190 %description kde
191 KDE configuration plugin for libproxy, to query KDE about proxy
192 settings.
193
194 %description kde -l pl.UTF-8
195 Wtyczka konfiguracji KDE dla libproxy, do odczytu ustawień proxy z
196 KDE.
197
198 %package pacrunner
199 Summary:        Pacrunner configuration plugin for libproxy
200 Summary(pl.UTF-8):      Wtyczka konfiguracji pacrunner dla libproxy
201 Group:          Libraries
202 Requires:       %{name} = %{version}-%{release}
203
204 %description pacrunner
205 Pacrunner configuration plugin for libproxy, to query pacrunner about
206 proxy settings.
207
208 %description pacrunner -l pl.UTF-8
209 Wtyczka konfiguracji pacrunner dla libproxy, do odczytu ustawień proxy
210 z pacrunnera.
211
212 %package duktape
213 Summary:        Duktape pacrunner plugin for libproxy
214 Summary(pl.UTF-8):      Wtyczka pacrunner Duktape dla libproxy
215 Group:          Libraries
216 Requires:       %{name} = %{version}-%{release}
217
218 %description duktape
219 Duktape pacrunner plugin for libproxy, to get proxy from WPAD/PAC
220 script using Duktype engine.
221
222 %description duktape -l pl.UTF-8
223 Wtyczka pacrunner Duktape dla libproxy, do pobierania proxy ze skryptu
224 WPAD/PAC przy użyciu silnika Duktype.
225
226 %package mozjs
227 Summary:        MozJS pacrunner plugin for libproxy
228 Summary(pl.UTF-8):      Wtyczka pacrunner MozJS dla libproxy
229 Group:          Libraries
230 Requires:       %{name} = %{version}-%{release}
231
232 %description mozjs
233 MozJS (XULrunner/JavaScript) pacrunner plugin for libproxy, to get
234 proxy from WPAD/PAC script using MozJS engine.
235
236 %description mozjs -l pl.UTF-8
237 Wtyczka pacrunner MozJS (XULrunner/JavaScript) dla libproxy, do
238 pobierania proxy ze skryptu WPAD/PAC przy użyciu silnika MozJS.
239
240 %package webkit
241 Summary:        WebKit pacrunner plugin for libproxy
242 Summary(pl.UTF-8):      Wtyczka pacrunner WebKit dla libproxy
243 Group:          Libraries
244 Requires:       %{name} = %{version}-%{release}
245 Requires:       gtk-webkit4 >= 2.6
246
247 %description webkit
248 WebKit (JavaScriptCore) pacrunner plugin for libproxy, to get proxy
249 from WPAD/PAC script using WebKit engine.
250
251 %description webkit -l pl.UTF-8
252 Wtyczka pacrunner WebKit (JavaScriptCore) dla libproxy, do pobierania
253 ustawień proxy ze skryptu WPAD/PAC, przy użyciu silnika WebKit.
254
255 %prep
256 %setup -q
257 %patch0 -p1
258
259 %if %{without natus}
260 echo 'set(NATUS_FOUND 0)' > libproxy/cmake/modules/pacrunner_natus.cmk
261 %endif
262
263 %build
264 install -d build
265 cd build
266 %cmake .. \
267         -DLIB_INSTALL_DIR=%{_libdir} \
268         -DLIBEXEC_INSTALL_DIR=%{_libdir}/libproxy \
269         -DPERL_VENDORINSTALL=ON \
270         -DPYTHON2_SITEPKG_DIR=%{py_sitescriptdir} \
271         %{!?with_python2:-DPYTHON2=OFF} \
272         -DPYTHON3_SITEPKG_DIR=%{py3_sitescriptdir} \
273         %{!?with_python3:-DPYTHON3=OFF} \
274         %{?with_mono:-DWITH_DOTNET=ON -DGMCS_EXECUTABLE=/usr/bin/mcs} \
275         %{!?with_duktape:-DWITH_DUKTAPE=OFF} \
276         %{!?with_kde:-DWITH_KDE=OFF} \
277         %{?with_mozjs:-DWITH_MOZJS=ON} \
278         %{!?with_nm:-DWITH_NM=OFF} \
279         -DWITH_VALA=ON \
280         %{!?with_webkit:-DWITH_WEBKIT=OFF} \
281         %{?with_webkit:-DWITH_WEBKIT3=ON}
282
283 %{__make}
284
285 %install
286 rm -rf $RPM_BUILD_ROOT
287
288 %{__make} -C build install \
289         DESTDIR=$RPM_BUILD_ROOT
290
291 %if %{with python2}
292 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
293 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
294 %py_postclean
295 %endif
296
297 %if %{with python3}
298 %py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
299 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}
300 %endif
301
302 %clean
303 rm -rf $RPM_BUILD_ROOT
304
305 %post   -p /sbin/ldconfig
306 %postun -p /sbin/ldconfig
307
308 %files
309 %defattr(644,root,root,755)
310 %doc AUTHORS ChangeLog NEWS README
311 %attr(755,root,root) %{_bindir}/proxy
312 %attr(755,root,root) %{_libdir}/libproxy.so.*.*.*
313 %attr(755,root,root) %ghost %{_libdir}/libproxy.so.1
314 %dir %{_libdir}/%{name}
315 %dir %{_libdir}/%{name}/%{version}
316 %dir %{_libdir}/%{name}/%{version}/modules
317
318 %files devel
319 %defattr(644,root,root,755)
320 %attr(755,root,root) %{_libdir}/libproxy.so
321 %{_includedir}/proxy.h
322 %{_pkgconfigdir}/libproxy-1.0.pc
323 %{_datadir}/cmake/Modules/Findlibproxy.cmake
324
325 %if %{with mono}
326 %files -n dotnet-libproxy-sharp
327 %defattr(644,root,root,755)
328 %{_prefix}/lib/mono/gac/libproxy-sharp
329
330 %files -n dotnet-libproxy-sharp-devel
331 %defattr(644,root,root,755)
332 %{_prefix}/lib/mono/libproxy-sharp
333 %{_pkgconfigdir}/libproxy-sharp-1.0.pc
334 %endif
335
336 %files -n perl-Net-Libproxy
337 %defattr(644,root,root,755)
338 %{perl_vendorarch}/Net/Libproxy.pm
339 %dir %{perl_vendorarch}/auto/Net/Libproxy
340 %attr(755,root,root) %{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so
341
342 %if %{with python2}
343 %files -n python-libproxy
344 %defattr(644,root,root,755)
345 %{py_sitescriptdir}/libproxy.py[co]
346 %endif
347
348 %if %{with python2}
349 %files -n python3-libproxy
350 %defattr(644,root,root,755)
351 %{py3_sitescriptdir}/libproxy.py
352 %{py3_sitescriptdir}/__pycache__/libproxy.cpython-*.py[co]
353 %endif
354
355 %files -n vala-libproxy
356 %defattr(644,root,root,755)
357 %{_datadir}/vala/vapi/libproxy-1.0.vapi
358
359 %if %{with kde}
360 %files networkmanager
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/network_networkmanager.so
363 %endif
364
365 %files gnome
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/config_gnome3.so
368 %attr(755,root,root) %{_libdir}/%{name}/pxgsettings
369
370 %if %{with kde}
371 %files kde
372 %defattr(644,root,root,755)
373 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/config_kde.so
374 %endif
375
376 %files pacrunner
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/config_pacrunner.so
379
380 %if %{with duktape}
381 %files duktape
382 %defattr(644,root,root,755)
383 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/pacrunner_duktape.so
384 %endif
385
386 %if %{with mozjs}
387 %files mozjs
388 %defattr(644,root,root,755)
389 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/pacrunner_mozjs.so
390 %endif
391
392 %if %{with webkit}
393 %files webkit
394 %defattr(644,root,root,755)
395 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/pacrunner_webkit.so
396 %endif
This page took 0.116482 seconds and 4 git commands to generate.