2 # - natus-based pacrunner (doesn't build with natus 0.2.1)
3 # - ruby binding (not finished as of 0.4.8 - no buildsystem)
6 %bcond_without kde # KDE 4/5 config plugin
7 %bcond_without mozjs # MozJS pacrunner plugin
8 %bcond_with natus # Natus pacrunner plugin [doesn't build with natus 0.2.1]
9 %bcond_without webkit # WebKit pacrunner plugin
10 %bcond_without mono # Mono C# bindings
15 Summary: Library for automatic proxy configuration management
16 Summary(pl.UTF-8): Biblioteka do automatycznego zarządzania konfiguracją proxy
22 #Source0Download: https://github.com/libproxy/libproxy/releases
23 Source0: https://github.com/libproxy/libproxy/archive/%{version}/%{name}-%{version}.tar.gz
24 # Source0-md5: 21ebe5b4ea2a04f5f468bf5d08c40d2c
25 Patch0: %{name}-pac-modules.patch
26 URL: https://libproxy.github.io/libproxy/
27 BuildRequires: NetworkManager-devel
28 BuildRequires: cmake >= 2.6
29 BuildRequires: glib2-devel >= 1:2.26
30 %{?with_webkit:BuildRequires: gtk-webkit4-devel >= 2.6}
31 %{?with_mozjs:BuildRequires: mozjs38-devel}
32 BuildRequires: libmodman-devel >= 2
33 BuildRequires: libstdc++-devel >= 6:4.7
34 %{?with_mono:BuildRequires: mono-csharp}
35 BuildRequires: perl-devel >= 1:5.8.0
36 BuildRequires: pkgconfig
37 BuildRequires: python-devel >= 1:2.5
38 BuildRequires: python-modules >= 1:2.5
39 BuildRequires: python3-devel >= 1:3.2
40 BuildRequires: python3-modules >= 1:3.2
41 BuildRequires: rpm-perlprov >= 4.1-13
42 BuildRequires: rpm-pythonprov
43 BuildRequires: rpmbuild(macros) >= 1.714
44 BuildRequires: rpmbuild(monoautodeps)
45 BuildRequires: sed >= 4.0
46 BuildRequires: xorg-lib-libX11-devel
47 BuildRequires: xorg-lib-libXmu-devel
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 Library for automatic proxy configuration management.
53 %description -l pl.UTF-8
54 Biblioteka do automatycznego zarządzania konfiguracją proxy.
57 Summary: Header files for libproxy library
58 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libproxy
59 Group: Development/Libraries
60 Requires: %{name} = %{version}-%{release}
61 Requires: libstdc++-devel
62 Obsoletes: libproxy-static
65 Header files for libproxy library.
67 %description devel -l pl.UTF-8
68 Pliki nagłówkowe biblioteki libproxy.
70 %package -n dotnet-libproxy-sharp
71 Summary: Libproxy# - libproxy .NET bindings
72 Summary(pl.UTF-8): Libproxy# - wiązania libproxy dla .NET
74 Requires: %{name} = %{version}-%{release}
76 %description -n dotnet-libproxy-sharp
77 Libproxy# - libproxy .NET bindings.
79 %description -n dotnet-libproxy-sharp -l pl.UTF-8
80 Libproxy# - wiązania libproxy dla .NET.
82 %package -n dotnet-libproxy-sharp-devel
83 Summary: libproxy .NET bindings - development files
84 Summary(pl.UTF-8): Wiązania libproxy dla .NET - pliki programistyczne
85 Group: Development/Libraries
86 Requires: dotnet-libproxy-sharp = %{version}-%{release}
88 %description -n dotnet-libproxy-sharp-devel
89 Development files for libproxy .NET bindings.
91 %description -n dotnet-libproxy-sharp-devel -l pl.UTF-8
92 Pliki programistyczne wiązań libproxy dla .NET.
94 %package -n perl-Net-Libproxy
95 Summary: libproxy Perl bindings
96 Summary(pl.UTF-8): Wiązania libproxy dla Perla
97 Group: Development/Languages/Perl
98 Requires: %{name} = %{version}-%{release}
100 %description -n perl-Net-Libproxy
101 libproxy Perl bindings.
103 %description -n perl-Net-Libproxy -l pl.UTF-8
104 Wiązania libproxy dla Perla.
106 %package -n python-libproxy
107 Summary: libproxy Python bindings
108 Summary(pl.UTF-8): Wiązania libproxy dla Pythona
109 Group: Libraries/Python
110 # uses libproxy shared library
111 Requires: %{name} = %{version}-%{release}
112 Requires: python-libs >= 1:2.5
114 %description -n python-libproxy
115 libproxy Python bindings.
117 %description -n python-libproxy -l pl.UTF-8
118 Wiązania libproxy dla Pythona.
120 %package -n python3-libproxy
121 Summary: libproxy Python 3 bindings
122 Summary(pl.UTF-8): Wiązania libproxy dla Pythona 3
123 Group: Libraries/Python
124 # uses libproxy shared library
125 Requires: %{name} = %{version}-%{release}
126 Requires: python3-libs >= 1:3.2
128 %description -n python3-libproxy
129 libproxy Python 3 bindings.
131 %description -n python3-libproxy -l pl.UTF-8
132 Wiązania libproxy dla Pythona 3.
134 %package -n vala-libproxy
135 Summary: Vala bindings for libproxy API
136 Summary(pl.UTF-8): Wiązania API libproxy dla języka Vala
137 Group: Development/Languages
138 Requires: %{name}-devel = %{version}-%{release}
139 %if "%{_rpmversion}" >= "5"
143 %description -n vala-libproxy
144 Vala bindings for libproxy API.
146 %description -n vala-libproxy -l pl.UTF-8
147 Wiązania API libproxy dla języka Vala.
149 %package networkmanager
150 Summary: NetworkManager plugin for libproxy
151 Summary(pl.UTF-8): Wtyczka NetworkManager dla libproxy
153 Requires: %{name} = %{version}-%{release}
155 %description networkmanager
156 NetworkManager configuration plugin for libproxy.
158 %description networkmanager -l pl.UTF-8
159 Wtyczka konfiguracji NetworkManager dla libproxy.
162 Summary: GNOME plugin for libproxy
163 Summary(pl.UTF-8): Wtyczka GNOME dla libproxy
165 Requires: %{name} = %{version}-%{release}
166 Requires: glib2 >= 1:2.26
169 GNOME (GConf) configuration plugin for libproxy.
171 %description gnome -l pl.UTF-8
172 Wtyczka konfiguracji GNOME (GConf) dla libproxy.
175 Summary: KDE plugin for libproxy
176 Summary(pl.UTF-8): Wtyczka KDE dla libproxy
178 Requires: %{name} = %{version}-%{release}
179 #Requires: kreadconfig (KDE4) or kreadconfig5 (KF5)
182 KDE configuration plugin for libproxy.
184 %description kde -l pl.UTF-8
185 Wtyczka konfiguracji KDE dla libproxy
188 Summary: MozJS plugin for libproxy
189 Summary(pl.UTF-8): Wtyczka MozJS dla libproxy
191 Requires: %{name} = %{version}-%{release}
194 MozJS (XULrunner/JavaScript) configuration plugin for libproxy.
196 %description mozjs -l pl.UTF-8
197 Wtyczka konfiguracji MozJS (XULrunner/JavaScript) dla libproxy.
200 Summary: WebKit plugin for libproxy
201 Summary(pl.UTF-8): Wtyczka WebKit dla libproxy
203 Requires: %{name} = %{version}-%{release}
204 Requires: gtk-webkit4 >= 2.6
207 WebKit (JavaScriptCore) configuration plugin for libproxy.
209 %description webkit -l pl.UTF-8
210 Wtyczka konfigracji WebKit (JavaScriptCore) dla libproxy.
217 echo 'set(NATUS_FOUND 0)' > libproxy/cmake/modules/pacrunner_natus.cmk
223 CXXFLAGS="%{rpmcxxflags} -std=c++11"
225 -DLIB_INSTALL_DIR=%{_libdir} \
226 -DLIBEXEC_INSTALL_DIR=%{_libdir}/libproxy \
227 -DFORCE_SYSTEM_LIBMODMAN=ON \
228 -DPERL_VENDORINSTALL=ON \
229 -DPYTHON2_SITEPKG_DIR=%{py_sitescriptdir} \
230 -DPYTHON3_SITEPKG_DIR=%{py3_sitescriptdir} \
231 %{?with_mono:-DWITH_DOTNET=ON -DGMCS_EXECUTABLE=/usr/bin/mcs} \
232 %{!?with_kde:-DWITH_KDE=OFF} \
233 %{!?with_mozjs:-DWITH_MOZJS=OFF} \
235 %{!?with_webkit:-DWITH_WEBKIT=OFF} \
236 %{?with_webkit:-DWITH_WEBKIT3=ON}
241 rm -rf $RPM_BUILD_ROOT
243 %{__make} -C build install \
244 DESTDIR=$RPM_BUILD_ROOT
246 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
247 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
250 %py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
251 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}
254 rm -rf $RPM_BUILD_ROOT
256 %post -p /sbin/ldconfig
257 %postun -p /sbin/ldconfig
260 %defattr(644,root,root,755)
261 %doc AUTHORS ChangeLog NEWS README
262 %attr(755,root,root) %{_bindir}/proxy
263 %attr(755,root,root) %{_libdir}/libproxy.so.*.*.*
264 %attr(755,root,root) %ghost %{_libdir}/libproxy.so.1
265 %dir %{_libdir}/%{name}
266 %dir %{_libdir}/%{name}/%{version}
267 %dir %{_libdir}/%{name}/%{version}/modules
270 %defattr(644,root,root,755)
271 %attr(755,root,root) %{_libdir}/libproxy.so
272 %{_includedir}/proxy.h
273 %{_pkgconfigdir}/libproxy-1.0.pc
274 %{_datadir}/cmake/Modules/Findlibproxy.cmake
277 %files -n dotnet-libproxy-sharp
278 %defattr(644,root,root,755)
279 %{_prefix}/lib/mono/gac/libproxy-sharp
281 %files -n dotnet-libproxy-sharp-devel
282 %defattr(644,root,root,755)
283 %{_prefix}/lib/mono/libproxy-sharp
284 %{_pkgconfigdir}/libproxy-sharp-1.0.pc
287 %files -n perl-Net-Libproxy
288 %defattr(644,root,root,755)
289 %{perl_vendorarch}/Net/Libproxy.pm
290 %dir %{perl_vendorarch}/auto/Net/Libproxy
291 %attr(755,root,root) %{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so
293 %files -n python-libproxy
294 %defattr(644,root,root,755)
295 %{py_sitescriptdir}/libproxy.py[co]
297 %files -n python3-libproxy
298 %defattr(644,root,root,755)
299 %{py3_sitescriptdir}/libproxy.py
300 %{py3_sitescriptdir}/__pycache__/libproxy.cpython-*.py[co]
302 %files -n vala-libproxy
303 %defattr(644,root,root,755)
304 %{_datadir}/vala/vapi/libproxy-1.0.vapi
306 %files networkmanager
307 %defattr(644,root,root,755)
308 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/network_networkmanager.so
311 %defattr(644,root,root,755)
312 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/config_gnome3.so
313 %attr(755,root,root) %{_libdir}/%{name}/pxgsettings
317 %defattr(644,root,root,755)
318 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/config_kde.so
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/pacrunner_mozjs.so
329 %defattr(644,root,root,755)
330 %attr(755,root,root) %{_libdir}/%{name}/%{version}/modules/pacrunner_webkit.so