%bcond_with mozjs %define _unpackaged_files_terminate_build 1 Summary: A library handling all the details of proxy configuration Name: libproxy Version: 0.4.15 Release: 4%{?_dist_release} Group: system Vendor: Project Vine Distribution: Vine Linux License: LGPLv2+ URL: http://libproxy.github.io/libproxy Source0: https://github.com/libproxy/libproxy/releases/download/%{version}/libproxy-%{version}.tar.xz Patch0: libproxy-0.4.15-python38.patch Patch1000: CVE-2020-25219.patch # CVE-2020-26154 Patch1001: libproxy-0.4.15-fix-pac-buffer-overflow.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel BuildRequires: python3-devel #Virtual Provides - We need either mozjs or WebKit %if %{with mozjs} Requires: %{name}-pac >= %{version} %endif # Requires: libproxy-python = %{version}-%{release} Requires: libproxy-bin = %{version}-%{release} Obsoletes: %{name}-mozjs < 1.4.15 Obsoletes: %{name}-webkitgtk3 < 1.4.15 BuildRequires: cmake # gnome BuildRequires: GConf2-devel %if %{with mozjs} # mozjs BuildRequires: mozjs >= 38 %endif # NetworkManager BuildRequires: NetworkManager-libnm-devel BuildRequires: dbus-devel BuildRequires: glib2 # webkit (gtk) BuildRequires: webkitgtk4-devel # kde BuildRequires: libXmu-devel BuildRequires: libX11-devel BuildRequires: python-rpm-macros BuildRequires: python3-rpm-macros Provides: %{name}-webkit = %{version}-%{release} Obsoletes: %{name}-webkit < %{version}-%{release} %description libproxy offers the following features: * extremely small core footprint (< 35K) * no external dependencies within libproxy core (libproxy plugins may have dependencies) * only 3 functions in the stable external API * dynamic adjustment to changing network topology * a standard way of dealing with proxy settings across all scenarios * a sublime sense of joy and accomplishment Non-default rpmbuild options: --with webkit: Enable WebKit-gtk support %package bin Summary: Binary to test %{name} Group: network Requires: %{name} = %{version}-%{release} %description bin The %{name}-bin package contains the proxy binary for %{name} %package python Summary: Binding for %{name} and python Group: programming Requires: %{name} = %{version}-%{release} %description python The %{name}-python package contains the python binding for %{name} %package python3 Summary: Binding for %{name} and python Group: programming Requires: %{name} = %{version}-%{release} %description python3 The %{name}-python package contains the python binding for %{name} %package gnome Summary: Plugin for %{name} and gnome Group: system Requires: %{name} = %{version}-%{release} %description gnome The %{name}-gnome package contains the %{name} plugin for gnome. %package kde Summary: Plugin for %{name} and kde Group: system Requires: %{name} = %{version}-%{release} %description kde The %{name}-kde package contains the %{name} plugin for kde. %if %{with mozjs} %package mozjs Summary: Plugin for %{name} and mozjs Group: system Requires: %{name} = %{version} #Tweak this according to the current gecko-libs version Requires: js Provides: %{name}-pac = %{version}-%{release} %description mozjs The %{name}-mozjs package contains the %{name} plugin for mozjs. %package webkitgtk4 Summary: Plugin for %{name} and webkitgtk4 Group: system Requires: %{name} = %{version} Provides: %{name}-pac = %{version}-%{release} %description webkitgtk4 The %{name}-webkitgtk3 package contains the %{name} plugin for webkitgtk3. %endif %package devel Summary: Development files for %{name} Group: programming Requires: %{name} = %{version}-%{release} Requires: pkgconfig %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %debug_package %prep %autosetup -p1 #sed -i "s|mozjs185>=1.8.5|mozjs185|" libproxy/cmake/modules/pacrunner_mozjs.cmk %build export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" %cmake \ -DLIBEXEC_INSTALL_DIR=%{_libexecdir} \ -DMODULE_INSTALL_DIR=%{_libdir}/%{name}/%{version}/modules \ -DWITH_PERL=OFF \ -DWITH_WEBKIT3=ON \ -DWITH_GNOME3=ON \ -DWITH_KDE=ON \ . make VERBOSE=1 %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %license COPYING %doc AUTHORS README %{_libdir}/*.so.* %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/%{version} %dir %{_libdir}/%{name}/%{version}/modules %{_libdir}/%{name}/%{version}/modules/network_networkmanager.so %files bin %defattr(-,root,root,-) %{_bindir}/proxy %files python %defattr(-,root,root,-) %{python_sitelib}/libproxy.py %files python3 %defattr(-,root,root,-) %{python3_sitelib}/libproxy.py %files gnome %defattr(-,root,root,-) %{_libdir}/%{name}/%{version}/modules/config_gnome3.so %{_libexecdir}/pxgsettings %files kde %defattr(-,root,root,-) %{_libdir}/%{name}/%{version}/modules/config_kde.so # Build the pacrunner into libproxy unless we are building for multiple engines %if %{with mozjs} %files mozjs %defattr(-,root,root,-) %{_libdir}/%{name}/%{version}/modules/pacrunner_mozjs.so %files webkitgtk4 %defattr(-,root,root,-) %{_libdir}/%{name}/%{version}/modules/pacrunner_webkit.so %endif %files devel %defattr(-,root,root,-) %{_includedir}/proxy.h %{_libdir}/*.so %{_libdir}/pkgconfig/libproxy-1.0.pc %{_datadir}/cmake/Modules/Findlibproxy.cmake %changelog * Sat Oct 10 2020 Tomohiro "Tomo-p" KATO 0.4.15-4 - imported Patch1001 to fix CVE-2020-26154 from rawhide. * Tue Sep 15 2020 Tomohiro "Tomo-p" KATO 0.4.15-3 - imported Patch1000 to fix CVE-2020-25219 from debian. - imported Patch0 to support python-3.8 from upstream. * Sun Apr 12 2020 Tomohiro "Tomo-p" KATO 0.4.15-2 - rebuilt with current environment. * Mon Jan 08 2018 Tomohiro "Tomo-p" KATO 0.4.15-1 - updated to 0.4.15. - enabled python3 support. - disabled mozjs as default. - switched to webkitgtk4. * Thu Jul 07 2016 Yoji TOYODA 0.4.11-2 - rebuild with gcc-5.4.0 * Tue Dec 31 2013 Yoji TOYODA 0.4.11-1 - update to 0.4.11 - remove Patch0 (libproxy-0.4.7-cmake-modules.patch) * Thu Feb 16 2012 Yoji TOYODA 0.4.7-2 - rebuild with python-2.7.2 * Sun Aug 14 2011 Yoji TOYODA 0.4.7-1 - new upstream release - change BuildRequires: WebKit3-gtk-devel instead of WebKit-gtk-devel - change BuildRequires: js-devel instead of gecko-devel - replace Patch0 (libproxy-0.4.7-cmake-modules.patch) - detele -webkit sub package - create -webkitgtk3 sub package * Sun Oct 03 2010 Yoji TOYODA 0.4.6-1 - new upstream release - drop Patch0 - add BuildRequires: cmake, kdelibs-devel - fix %files (from %{_libdir}/%{name}/%{version}/plugins to %{_libdir}/%{name}/%{version}/modules) * Sun Sep 26 2010 Yoji TOYODA 0.2.3-5 - rebuild with rpm-4.8.1 for pkg-config file * Tue Feb 02 2010 Shu KONNO 0.2.3-4 - rebuild with python-2.6 * Tue Jun 30 2009 Daisuke SUZUKI 0.2.3-3 - rebuild with gecko-1.9.1 * Thu Mar 26 2009 Daisuke SUZUKI 0.2.3-2 - rebuild with WebKit-gtk-1.0.0-8.svn41944 * Sat Mar 21 2009 Daisuke SUZUKI 0.2.3-1 - initial build for Vine Linux * Mon Mar 9 2009 kwizart < kwizart at gmail.com > - 0.2.3-10 - Rebuild for webkit - Raise requirement for xulrunner to 1.9.1 * Wed Feb 25 2009 Fedora Release Engineering - 0.2.3-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Jan 22 2009 kwizart < kwizart at gmail.com > - 0.2.3-8 - Merge NetworkManager module into the main libproxy package - Main Requires the -python and -bin subpackage (splitted for multilibs compliance). * Fri Oct 24 2008 kwizart < kwizart at gmail.com > - 0.2.3-7 - Disable Gnome/KDE default support via builtin modules. (it needs to be integrated via Gconf2/neon instead). * Tue Oct 21 2008 kwizart < kwizart at gmail.com > - 0.2.3-6 - Disable Obsoletes. - Requires ev instead of evr for optionnals sub-packages. * Tue Oct 21 2008 kwizart < kwizart at gmail.com > - 0.2.3-5 - Use conditionals build. * Mon Sep 15 2008 kwizart < kwizart at gmail.com > - 0.2.3-4 - Remove plugin- in the name of the packages * Mon Aug 4 2008 kwizart < kwizart at gmail.com > - 0.2.3-3 - Move proxy.h to libproxy/proxy.h This will prevent it to be included in the default include path - Split main to libs and util and use libproxy to install all * Mon Aug 4 2008 kwizart < kwizart at gmail.com > - 0.2.3-2 - Rename binding-python to python - Add Requires: gecko-libs >= %%{gecko_version} - Fix some descriptions - Add plugin-webkit package * Fri Jul 11 2008 kwizart < kwizart at gmail.com > - 0.2.3-1 - Convert to Fedora spec * Fri Jun 6 2008 - dominique-rpm@leuenberger.net - Updated to version 0.2.3 * Wed Jun 4 2008 - dominique-rpm@leuenberger.net - Extended spec file to build all available plugins * Tue Jun 3 2008 - dominique-rpm@leuenberger.net - Initial spec file for Version 0.2.2