]>
Commit | Line | Data |
---|---|---|
9847b4be JB |
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) | |
705e407b JB |
4 | # |
5 | # Conditional build: | |
fa4ff520 | 6 | %bcond_without duktape # Duktape pacrunner plugin |
5355ff44 | 7 | %bcond_without kde # KDE 4/5 config plugin |
b3eb14b2 | 8 | %bcond_without nm # NetworkManager pacrunner plugin |
5355ff44 | 9 | %bcond_without mono # Mono C# bindings |
9847b4be JB |
10 | %bcond_without mozjs # MozJS pacrunner plugin |
11 | %bcond_with natus # Natus pacrunner plugin [doesn't build with natus 0.2.1] | |
5355ff44 MK |
12 | %bcond_without python2 # Python 2.x bindings |
13 | %bcond_without python3 # Python 3.x bindings | |
9847b4be | 14 | %bcond_without webkit # WebKit pacrunner plugin |
aead9310 | 15 | |
4de305e6 JR |
16 | %ifarch x32 |
17 | %undefine with_mono | |
18 | %endif | |
86d2d1bd MB |
19 | Summary: Library for automatic proxy configuration management |
20 | Summary(pl.UTF-8): Biblioteka do automatycznego zarządzania konfiguracją proxy | |
21 | Name: libproxy | |
fa4ff520 | 22 | Version: 0.4.18 |
7cbef0d3 | 23 | Release: 2 |
128597ac | 24 | License: LGPL v2.1+ |
86d2d1bd | 25 | Group: Libraries |
8b18a49d JB |
26 | #Source0Download: https://github.com/libproxy/libproxy/releases |
27 | Source0: https://github.com/libproxy/libproxy/archive/%{version}/%{name}-%{version}.tar.gz | |
fa4ff520 | 28 | # Source0-md5: 21d13e5d699c3c21ab5eb2260ed9247a |
128597ac | 29 | Patch0: %{name}-pac-modules.patch |
8b18a49d | 30 | URL: https://libproxy.github.io/libproxy/ |
b3eb14b2 | 31 | %{?with_nm:BuildRequires: NetworkManager-devel} |
128597ac | 32 | BuildRequires: cmake >= 2.6 |
6b7485e6 | 33 | BuildRequires: dbus-devel |
fa4ff520 | 34 | %{?with_duktape:BuildRequires: duktape-devel} |
f39b9aec | 35 | BuildRequires: glib2-devel >= 1:2.26 |
7ec29927 | 36 | %{?with_webkit:BuildRequires: gtk-webkit4-devel >= 2.6} |
6b7485e6 | 37 | BuildRequires: libstdc++-devel >= 6:7 |
a05585b3 | 38 | %{?with_mono:BuildRequires: mono-csharp} |
6b7485e6 JB |
39 | %{?with_mozjs:BuildRequires: mozjs68-devel} |
40 | %{?with_natus:BuildRequires: natus-devel} | |
128597ac | 41 | BuildRequires: perl-devel >= 1:5.8.0 |
86d2d1bd | 42 | BuildRequires: pkgconfig |
5355ff44 MK |
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} | |
128597ac | 47 | BuildRequires: rpm-perlprov >= 4.1-13 |
24445d20 | 48 | BuildRequires: rpm-pythonprov |
6b7485e6 | 49 | BuildRequires: rpmbuild(macros) >= 1.752 |
9847b4be | 50 | BuildRequires: sed >= 4.0 |
7333df52 | 51 | BuildRequires: xorg-lib-libX11-devel |
86d2d1bd | 52 | BuildRequires: xorg-lib-libXmu-devel |
86d2d1bd MB |
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} | |
128597ac | 66 | Requires: libstdc++-devel |
fa4ff520 | 67 | Obsoletes: libproxy-static < 0.4 |
86d2d1bd MB |
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 | ||
128597ac JB |
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 | |
86d2d1bd | 90 | Group: Development/Libraries |
128597ac | 91 | Requires: dotnet-libproxy-sharp = %{version}-%{release} |
86d2d1bd | 92 | |
128597ac JB |
93 | %description -n dotnet-libproxy-sharp-devel |
94 | Development files for libproxy .NET bindings. | |
86d2d1bd | 95 | |
128597ac JB |
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. | |
86d2d1bd MB |
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} | |
d36a3d09 | 117 | Requires: python-libs >= 1:2.5 |
72b60862 | 118 | BuildArch: noarch |
86d2d1bd MB |
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 | ||
f6f0c62c JR |
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} | |
d36a3d09 | 132 | Requires: python3-libs >= 1:3.2 |
72b60862 | 133 | BuildArch: noarch |
f6f0c62c JR |
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 | ||
128597ac JB |
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} | |
d2534811 | 146 | BuildArch: noarch |
128597ac JB |
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 | ||
705e407b | 154 | %package networkmanager |
6b7485e6 JB |
155 | Summary: NetworkManager network plugin for libproxy |
156 | Summary(pl.UTF-8): Wtyczka sieci NetworkManager dla libproxy | |
705e407b JB |
157 | Group: Libraries |
158 | Requires: %{name} = %{version}-%{release} | |
159 | ||
160 | %description networkmanager | |
6b7485e6 JB |
161 | NetworkManager network plugin for libproxy, to query NetworkManager |
162 | about network configuration changes. | |
705e407b JB |
163 | |
164 | %description networkmanager -l pl.UTF-8 | |
6b7485e6 JB |
165 | Wtyczka sieci NetworkManager dla libproxy, do odpytywania |
166 | NetworkManagera o zmiany konfiguracji sieci. | |
705e407b | 167 | |
d264af18 | 168 | %package gnome |
6b7485e6 JB |
169 | Summary: GNOME configuration plugin for libproxy |
170 | Summary(pl.UTF-8): Wtyczka konfiguracji GNOME dla libproxy | |
d264af18 KK |
171 | Group: Libraries |
172 | Requires: %{name} = %{version}-%{release} | |
f39b9aec | 173 | Requires: glib2 >= 1:2.26 |
d264af18 KK |
174 | |
175 | %description gnome | |
6b7485e6 JB |
176 | GNOME (gsettings) configuration plugin for libproxy, to query GNOME |
177 | about proxy settings. | |
d264af18 | 178 | |
7333df52 | 179 | %description gnome -l pl.UTF-8 |
6b7485e6 JB |
180 | Wtyczka konfiguracji GNOME (gsettings) dla libproxy, do odczytu |
181 | ustawień proxy z GNOME. | |
d264af18 KK |
182 | |
183 | %package kde | |
6b7485e6 JB |
184 | Summary: KDE configuration plugin for libproxy |
185 | Summary(pl.UTF-8): Wtyczka konfiguracji KDE dla libproxy | |
d264af18 KK |
186 | Group: Libraries |
187 | Requires: %{name} = %{version}-%{release} | |
7ec29927 | 188 | #Requires: kreadconfig (KDE4) or kreadconfig5 (KF5) |
d264af18 KK |
189 | |
190 | %description kde | |
6b7485e6 JB |
191 | KDE configuration plugin for libproxy, to query KDE about proxy |
192 | settings. | |
d264af18 | 193 | |
7333df52 | 194 | %description kde -l pl.UTF-8 |
6b7485e6 JB |
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. | |
d264af18 | 211 | |
fa4ff520 JB |
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 | ||
d264af18 | 226 | %package mozjs |
6b7485e6 JB |
227 | Summary: MozJS pacrunner plugin for libproxy |
228 | Summary(pl.UTF-8): Wtyczka pacrunner MozJS dla libproxy | |
d264af18 | 229 | Group: Libraries |
7333df52 | 230 | Requires: %{name} = %{version}-%{release} |
d264af18 KK |
231 | |
232 | %description mozjs | |
6b7485e6 JB |
233 | MozJS (XULrunner/JavaScript) pacrunner plugin for libproxy, to get |
234 | proxy from WPAD/PAC script using MozJS engine. | |
d264af18 | 235 | |
7333df52 | 236 | %description mozjs -l pl.UTF-8 |
6b7485e6 JB |
237 | Wtyczka pacrunner MozJS (XULrunner/JavaScript) dla libproxy, do |
238 | pobierania proxy ze skryptu WPAD/PAC przy użyciu silnika MozJS. | |
d264af18 KK |
239 | |
240 | %package webkit | |
6b7485e6 JB |
241 | Summary: WebKit pacrunner plugin for libproxy |
242 | Summary(pl.UTF-8): Wtyczka pacrunner WebKit dla libproxy | |
d264af18 | 243 | Group: Libraries |
7333df52 | 244 | Requires: %{name} = %{version}-%{release} |
7ec29927 | 245 | Requires: gtk-webkit4 >= 2.6 |
d264af18 KK |
246 | |
247 | %description webkit | |
6b7485e6 JB |
248 | WebKit (JavaScriptCore) pacrunner plugin for libproxy, to get proxy |
249 | from WPAD/PAC script using WebKit engine. | |
d264af18 | 250 | |
7333df52 | 251 | %description webkit -l pl.UTF-8 |
6b7485e6 JB |
252 | Wtyczka pacrunner WebKit (JavaScriptCore) dla libproxy, do pobierania |
253 | ustawień proxy ze skryptu WPAD/PAC, przy użyciu silnika WebKit. | |
d264af18 | 254 | |
86d2d1bd MB |
255 | %prep |
256 | %setup -q | |
257 | %patch0 -p1 | |
9847b4be JB |
258 | |
259 | %if %{without natus} | |
260 | echo 'set(NATUS_FOUND 0)' > libproxy/cmake/modules/pacrunner_natus.cmk | |
261 | %endif | |
86d2d1bd MB |
262 | |
263 | %build | |
128597ac JB |
264 | install -d build |
265 | cd build | |
266 | %cmake .. \ | |
128597ac JB |
267 | -DLIB_INSTALL_DIR=%{_libdir} \ |
268 | -DLIBEXEC_INSTALL_DIR=%{_libdir}/libproxy \ | |
128597ac | 269 | -DPERL_VENDORINSTALL=ON \ |
f6f0c62c | 270 | -DPYTHON2_SITEPKG_DIR=%{py_sitescriptdir} \ |
5355ff44 | 271 | %{!?with_python2:-DPYTHON2=OFF} \ |
f6f0c62c | 272 | -DPYTHON3_SITEPKG_DIR=%{py3_sitescriptdir} \ |
5355ff44 | 273 | %{!?with_python3:-DPYTHON3=OFF} \ |
8b18a49d | 274 | %{?with_mono:-DWITH_DOTNET=ON -DGMCS_EXECUTABLE=/usr/bin/mcs} \ |
fa4ff520 | 275 | %{!?with_duktape:-DWITH_DUKTAPE=OFF} \ |
7ec29927 | 276 | %{!?with_kde:-DWITH_KDE=OFF} \ |
fa4ff520 | 277 | %{?with_mozjs:-DWITH_MOZJS=ON} \ |
b3eb14b2 | 278 | %{!?with_nm:-DWITH_NM=OFF} \ |
128597ac | 279 | -DWITH_VALA=ON \ |
f39b9aec JB |
280 | %{!?with_webkit:-DWITH_WEBKIT=OFF} \ |
281 | %{?with_webkit:-DWITH_WEBKIT3=ON} | |
128597ac | 282 | |
86d2d1bd MB |
283 | %{__make} |
284 | ||
285 | %install | |
286 | rm -rf $RPM_BUILD_ROOT | |
287 | ||
128597ac | 288 | %{__make} -C build install \ |
86d2d1bd MB |
289 | DESTDIR=$RPM_BUILD_ROOT |
290 | ||
5355ff44 | 291 | %if %{with python2} |
86d2d1bd MB |
292 | %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir} |
293 | %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir} | |
294 | %py_postclean | |
5355ff44 | 295 | %endif |
86d2d1bd | 296 | |
5355ff44 | 297 | %if %{with python3} |
d36a3d09 JB |
298 | %py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir} |
299 | %py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir} | |
5355ff44 | 300 | %endif |
d36a3d09 | 301 | |
86d2d1bd MB |
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) | |
128597ac | 310 | %doc AUTHORS ChangeLog NEWS README |
86d2d1bd MB |
311 | %attr(755,root,root) %{_bindir}/proxy |
312 | %attr(755,root,root) %{_libdir}/libproxy.so.*.*.* | |
128597ac | 313 | %attr(755,root,root) %ghost %{_libdir}/libproxy.so.1 |
86d2d1bd MB |
314 | %dir %{_libdir}/%{name} |
315 | %dir %{_libdir}/%{name}/%{version} | |
128597ac | 316 | %dir %{_libdir}/%{name}/%{version}/modules |
86d2d1bd MB |
317 | |
318 | %files devel | |
319 | %defattr(644,root,root,755) | |
320 | %attr(755,root,root) %{_libdir}/libproxy.so | |
705e407b | 321 | %{_includedir}/proxy.h |
86d2d1bd | 322 | %{_pkgconfigdir}/libproxy-1.0.pc |
128597ac JB |
323 | %{_datadir}/cmake/Modules/Findlibproxy.cmake |
324 | ||
a05585b3 | 325 | %if %{with mono} |
128597ac JB |
326 | %files -n dotnet-libproxy-sharp |
327 | %defattr(644,root,root,755) | |
328 | %{_prefix}/lib/mono/gac/libproxy-sharp | |
86d2d1bd | 329 | |
128597ac | 330 | %files -n dotnet-libproxy-sharp-devel |
86d2d1bd | 331 | %defattr(644,root,root,755) |
128597ac JB |
332 | %{_prefix}/lib/mono/libproxy-sharp |
333 | %{_pkgconfigdir}/libproxy-sharp-1.0.pc | |
a05585b3 | 334 | %endif |
128597ac JB |
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 | |
86d2d1bd | 341 | |
5355ff44 | 342 | %if %{with python2} |
86d2d1bd MB |
343 | %files -n python-libproxy |
344 | %defattr(644,root,root,755) | |
705e407b | 345 | %{py_sitescriptdir}/libproxy.py[co] |
5355ff44 | 346 | %endif |
705e407b | 347 | |
5355ff44 | 348 | %if %{with python2} |
f6f0c62c JR |
349 | %files -n python3-libproxy |
350 | %defattr(644,root,root,755) | |
351 | %{py3_sitescriptdir}/libproxy.py | |
d36a3d09 | 352 | %{py3_sitescriptdir}/__pycache__/libproxy.cpython-*.py[co] |
5355ff44 | 353 | %endif |
f6f0c62c | 354 | |
128597ac JB |
355 | %files -n vala-libproxy |
356 | %defattr(644,root,root,755) | |
357 | %{_datadir}/vala/vapi/libproxy-1.0.vapi | |
358 | ||
b3eb14b2 | 359 | %if %{with kde} |
705e407b JB |
360 | %files networkmanager |
361 | %defattr(644,root,root,755) | |
128597ac | 362 | %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/network_networkmanager.so |
b3eb14b2 | 363 | %endif |
d264af18 KK |
364 | |
365 | %files gnome | |
24445d20 | 366 | %defattr(644,root,root,755) |
f39b9aec | 367 | %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/config_gnome3.so |
f7a0d1cc | 368 | %attr(755,root,root) %{_libdir}/%{name}/pxgsettings |
d264af18 | 369 | |
128597ac | 370 | %if %{with kde} |
d264af18 | 371 | %files kde |
24445d20 | 372 | %defattr(644,root,root,755) |
8b18a49d | 373 | %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/config_kde.so |
128597ac | 374 | %endif |
d264af18 | 375 | |
6b7485e6 JB |
376 | %files pacrunner |
377 | %defattr(644,root,root,755) | |
378 | %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/config_pacrunner.so | |
379 | ||
fa4ff520 JB |
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 | ||
9847b4be | 386 | %if %{with mozjs} |
d264af18 | 387 | %files mozjs |
24445d20 | 388 | %defattr(644,root,root,755) |
128597ac | 389 | %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/pacrunner_mozjs.so |
aa7b5c69 | 390 | %endif |
d264af18 | 391 | |
705e407b | 392 | %if %{with webkit} |
d264af18 | 393 | %files webkit |
24445d20 | 394 | %defattr(644,root,root,755) |
128597ac | 395 | %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/pacrunner_webkit.so |
705e407b | 396 | %endif |