libproxy/libproxy-plugins.spec

366 lines
11 KiB
RPMSpec

#
# spec file for package libproxy-plugins (Version 0.4.0)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%define build_core_not_modules 0
%if 0%{suse_version} > 1110
%define xulrunner_ver 191
%else
%if 0%{suse_version} >= 1100
%define xulrunner_ver 190
%else
%define xulrunner_ver 181
%endif
%endif
Url: http://code.google.com/p/libproxy/
%define _name libproxy
Name: libproxy-plugins
Group: System/Libraries
Summary: Libproxy provides consistent proxy configuration to applications
Version: 0.4.0
Release: 2
Source: http://libproxy.googlecode.com/files/%{_name}-%{version}.tar.bz2
Source99: baselibs.conf
# PATCH-FIX-UPSTREAM libproxy-pysitelib.patch dimstar@opensuse.org -- The bindings are arch-independent to be installed
Patch0: libproxy-pysitelib.patch
# PATCH-FIX-UPSTREAM libproxy-libexecpatch.patch dimstar@opensuse.org -- Use proper libexecdir
Patch1: libproxy-libexecpath.patch
# PATCH-FIX-UPSTREAM libproxy-pkgconfig.patch dimstar@opensuse.org -- Install pkgconfig files, taken from upstream svn.
Patch2: libproxy-pkgconfig.patch
# PATCH-FIX-UPSTREAM libproxy-gcc45.patch dimstar@opensuse.org -- Fix build with gcc 4.5, taken from upstream svn.
Patch3: libproxy-gcc45.patch
License: LGPLv2.1+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkg-config
BuildRequires: zlib-devel
%if !%build_core_not_modules
BuildRequires: dbus-1-devel
BuildRequires: gconf2-devel
# For directory ownership, but also because we want to rebuild the modules if
# the library changed
BuildRequires: libproxy1
BuildRequires: libwebkit-devel
BuildRequires: mozilla-xulrunner%{xulrunner_ver}-devel
BuildRequires: NetworkManager-devel
BuildRequires: xorg-x11-libXmu-devel
BuildRequires: libkde4-devel
BuildRequires: libqt4-devel
%else
BuildRequires: python-devel
%endif
%if %suse_version <= 1110
%define python_sitelib %{py_sitedir}
%endif
%description
libproxy offers the following features: * extremely small core
footprint (< 35K)
* no external dependencies within libproxy core (libproxy modules
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
%if %build_core_not_modules
%package tools
License: GPLv2+ ; LGPLv2.1+
Summary: A simple application using libproxy
Group: System/Libraries
Requires: libproxy1 = %{version}
Requires: libmodman0 = %{version}
%description tools
A simple application that will use libproxy to give the results you can
expect from other applications. It can be used to debug what would
happen in various cases.
%package devel
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy provides consistent proxy configuration to applications - Development Files
Group: Development/Libraries/C and C++
Requires: libproxy1 = %{version}
%description devel
libproxy offers the following features: * extremely small core
footprint (< 35K)
* no external dependencies within libproxy core (libproxy modules
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
%package -n libproxy1
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy provides consistent proxy configuration to applications
Group: System/Libraries
%description -n libproxy1
libproxy offers the following features: * extremely small core
footprint (< 35K)
* no external dependencies within libproxy core (libproxy modules
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
%package -n libmodman0_0_0
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy's Module Management Library
Group: System/Libraries
%description -n libmodman0_0_0
A module management library taking care of loading / unload modules
including heuristics in detecting which bindings might already
be used by an application and favouring this one.
%package -n python-libproxy
License: GPLv2+ ; LGPLv2.1+
Summary: Python bindings for libproxy
Group: System/Libraries
BuildArch: noarch
Requires: libproxy1 = %{version}
%py_requires
%description -n python-libproxy
libproxy offers the following features: * extremely small core
footprint (< 35K)
* no external dependencies within libproxy core (libproxy modules
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
%package -n libproxy-sharp
License: GPLv2+ ; LGPLv2.1+
Summary: .Net bindings for libproxy
Group: Development/Languages/Mono
Requires: libproxy1 = %{version}
%description -n libproxy-sharp
libproxy offers the following features: * extremely small core
footprint (< 35K)
* no external dependencies within libproxy core (libproxy modules
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
%else
%package -n libproxy1-config-gnome
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module for GNOME configuration
Group: System/Libraries
Requires: libproxy1 = %{version}
Recommends: libproxy1-pacrunner = %{version}
Recommends: libproxy1-wpad-dns = %{version}
Supplements: packageand(libproxy1:gconf2)
Provides: libproxy-gnome = %{version}
Obsoletes: libproxy-gnome < %{version}
%description -n libproxy1-config-gnome
A module to extend libproxy with capabilities to query GNOME about
proxy settings.
%package -n libproxy1-config-kde4
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module for KDE configuration
Group: System/Libraries
Requires: libproxy1 = %{version}
Recommends: libproxy1-pacrunner = %{version}
Recommends: libproxy1-wpad-dns = %{version}
Supplements: packageand(libproxy1:libkde4)
Provides: libproxy-kde = %{version}
Obsoletes: libproxy-kde < %{version}
%description -n libproxy1-config-kde4
A module to extend libproxy with capabilities to query KDE4 about proxy
settings.
%package -n libproxy1-pacrunner-mozjs
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module to support wpad/pac parsing via Mozilla JavaScript Engine
Group: System/Libraries
Requires: libproxy1 = %{version}
Supplements: packageand(libproxy1:mozilla-xulrunner%{xulrunner_ver})
# A virtual symbol to identify that this is a pacrunner.
Provides: libproxy1-pacrunner = %{version}
%description -n libproxy1-pacrunner-mozjs
A module to extend libproxy with capabilities to pass addresses to a
WPAD/PAC script and have it find the correct proxy.
%package -n libproxy1-pacrunner-webkit
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module to support WPAD/PAC parsing via WebKit JavaScript Engine
Group: System/Libraries
Requires: libproxy1 = %{version}
Supplements: packageand(libproxy1:libwebkit-1)
# A virtual symbol to identify that this is a pacrunner.
Provides: libproxy1-pacrunner = %{version}
%description -n libproxy1-pacrunner-webkit
A module to extend libproxy with capabilities to pass addresses to a
WPAD/PAC script and have it find the correct proxy.
%package -n libproxy1-networkmanager
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module for NetworkManager configuration
Group: System/Libraries
Requires: libproxy1 = %{version}
Supplements: packageand(libproxy1:NetworkManager)
%description -n libproxy1-networkmanager
A module to extend libproxy with capabilities to query NetworkManager
about network configuration changes.
%endif
%prep
%setup -q -n %{_name}-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p0
%build
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
%ifarch x86_64
-DLIB_SUFFIX=64 \
%endif
.
# THAT DOT BELONGS TO THE CMAKE CALL
%{__make} %{?jobs:-j%jobs}
%install
%makeinstall
%if %build_core_not_modules
# Build the basic directory structure for the modules so we can
# own the directories in the main library package
install -d %{buildroot}%{_libexecdir}/libproxy
install -d %{buildroot}%{_libdir}/%{name}/%{version}/modules
%else
# remove files that are part of the core
rm %{buildroot}%{_includedir}/*.h
# Delete all files that exist in the base libproxy package
rm %{buildroot}%{_bindir}/proxy
rm %{buildroot}%{_libdir}/libproxy.so*
rm %{buildroot}%{_libdir}/libmodman.so*
rm %{buildroot}%{python_sitelib}/*.py
rm %{buildroot}%{_libdir}/pkgconfig/libproxy-1.0.pc
%endif
%if %build_core_not_modules
%post -n libproxy1 -p /sbin/ldconfig
%post -n libmodman0_0_0 -p /sbin/ldconfig
%postun -n libproxy1 -p /sbin/ldconfig
%postun -n libmodman0_0_0 -p /sbin/ldconfig
%files tools
%defattr(-, root, root)
%{_bindir}/proxy
%files -n libproxy1
%defattr(-, root, root)
%{_libdir}/libproxy.so.*
%dir %{_libexecdir}/libproxy
%dir %{_libdir}/libproxy
%dir %{_libdir}/libproxy/%{version}
%dir %{_libdir}/libproxy/%{version}/modules
#%{_libdir}/libproxy/%{version}/modules/config_envvar.so
#%{_libdir}/libproxy/%{version}/modules/config_file.so
#%{_libdir}/libproxy/%{version}/modules/config_direct.so
#%{_libdir}/libproxy/%{version}/modules/ignore_*.so
%files -n libmodman0_0_0
%defattr(-, root, root)
%{_libdir}/libmodman.so.*
%files devel
%defattr(-, root, root)
%{_includedir}/*.h
%{_libdir}/*.so
%{_libdir}/pkgconfig/libproxy-1.0.pc
%files -n python-libproxy
%defattr(-, root, root)
%{python_sitelib}/*.py
%else
%files -n libproxy1-config-kde4
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/config_kde4.so
%files -n libproxy1-config-gnome
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/config_gnome.so
%{_libexecdir}/libproxy/pxgconf
%files -n libproxy1-networkmanager
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/network_networkmanager.so
%files -n libproxy1-pacrunner-webkit
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/pacrunner_webkit.so
%files -n libproxy1-pacrunner-mozjs
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/pacrunner_mozjs.so
%endif
%changelog