SHA256
1
0
forked from pool/libproxy
libproxy/libproxy.spec
Dominique Leuenberger 4dcf2609ae Accepting request 1166114 from GNOME:Next
- Update to version 0.5.5:
  + Windows: Try all configured proxy resolution types.
  + Cleanup curl.
  + Add release option.
  + Expose missing functions in symbol map.
  + Fix crash during unload by.
  + Log debug instead of warning on wpad pac failure.
  + Fix refcounting in px_proxy_factory_copy.
  + symver: Fix symbol map to be a valid tree.
  + Fix free function for pxProxyFactory type.
  + CodeQL badge and updated repology.
  + meson: Don't build OSX plugin on iOS.

OBS-URL: https://build.opensuse.org/request/show/1166114
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/libproxy?expand=0&rev=174
2024-04-08 15:56:29 +00:00

218 lines
6.5 KiB
RPMSpec

#
# spec file for package libproxy
#
# Copyright (c) 2024 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%define flavor @BUILD_FLAVOR@%nil
%if "%{flavor}" == ""
ExclusiveArch: do-not-build
%else
%if "%{flavor}" == "client"
%define name_suffix %{flavor}
%define dash -
%define mini -mini
%else
%define name_suffix %{flavor}
%define dash -
%endif
%endif
%define _name libproxy
Name: libproxy%{?dash}%{?name_suffix}
Version: 0.5.5
Release: 0
Summary: Automatic proxy configuration management for applications
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Development/Libraries/C and C++
URL: http://libproxy.github.io/libproxy/
Source: %{_name}-%{version}.tar.zst
Source99: baselibs.conf
BuildRequires: meson
BuildRequires: sysuser-tools
BuildRequires: vala
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
%if "%{flavor}" == "backend"
BuildRequires: pkgconfig(duktape)
BuildRequires: pkgconfig(gi-docgen)
BuildRequires: pkgconfig(gsettings-desktop-schemas)
BuildRequires: pkgconfig(libcurl)
#!BuildIgnore: libproxy1
# We require a config module, at worst the env reader
Requires: PxPlugin(config)
# the env reader is part of this package
Provides: PxPlugin(config)
# If pac/wpad is used, we need to interpret it
Recommends: PxPlugin(pacrunner)
# config plugins envvar and sysconfig are shipped with the daemon
Provides: PxPlugin(config)
%endif
%description
libproxy is a library that provides automatic proxy configuration
management.
%package -n libproxy-tools
Summary: An example application using libproxy
Group: System/Libraries
Requires: libproxy1 = %{version}
%description -n libproxy-tools
An example application that will use libproxy to give the results that can
be expected from other applications. It can be used to debug what would
happen in various cases.
%package -n libproxy-devel
Summary: Development files for libproxy, a library to do PAC/WPAD
Group: Development/Libraries/C and C++
Requires: libproxy1 = %{version}
%description -n libproxy-devel
libproxy is a library that provides automatic proxy configuration
management.
This subpackage contains header files for developing applications
that want to make use of libproxy.
%package -n libproxy-devel-doc
Summary: Libproxy developers documentation
BuildArch: noarch
%description -n libproxy-devel-doc
The developers documentation to libproxy (consumer library)
%package -n libproxy1
Summary: Automatic proxy configuration management for applications
Group: System/Libraries
# Starting with version 0.5.0, libproxy, the client library, has no plugins
# all plugins are moved to the backend
Obsoletes: libproxy1-config-gnome3 < 0.5
Obsoletes: libproxy1-config-kde < 0.5
Obsoletes: libproxy1-networkmanager < 0.5
Obsoletes: libproxy1-pacrunner-duktape < 0.5
Obsoletes: libproxy1-pacrunner-webkit < 0.5
%description -n libproxy1
libproxy is a library that provides automatic proxy configuration
management.
Proxy autoconfiguration (PAC) requires JavaScript (which most
applications do not have), and determing the PAC script location
requires a WPAD protocol implementation, which complicates proxy
support. libproxy exists to abstract this issue and provides
an answer how to reach a certain network resource.
%package -n libpxbackend-1_0%{?mini}
Summary: Backend library for libproxy, handles plugin loading
Group: System/Libraries
%if "%{flavor}" == "client"
Conflicts: libpxbackend-1_0
Requires: this-is-only-for-build-envs
%endif
%description -n libpxbackend-1_0%{?mini}
libproxy is a library that provides automatic proxy configuration
management.
Proxy autoconfiguration (PAC) requires JavaScript (which most
applications do not have), and determing the PAC script location
requires a WPAD protocol implementation, which complicates proxy
support. libproxy exists to abstract this issue and provides
an answer how to reach a certain network resource.
%package -n typelib-1_0-Libproxy-1_0
Summary: Gobject introspected access to libproxy
%description -n typelib-1_0-Libproxy-1_0
Libproxy is using gobject-introspection and is thus usable
from a wide range of programming languages.
%prep
%autosetup -p1 -n %{_name}-%{version}
%build
%meson \
%if "%{flavor}" == "client"
-Dcurl=false \
-Dconfig-gnome=false \
-Dpacrunner-duktape=false \
-Ddocs=false \
-Dtests=false \
%endif
%nil
%meson_build
%install
%meson_install
%if "%{flavor}" == "backend"
# this stuff is already shipped as part of the client library (built without cURL to break cycles)
rm %{buildroot}%{_bindir}/proxy
rm %{buildroot}%{_mandir}/man8/proxy*
rm %{buildroot}%{_libdir}/libproxy.so*
rm %{buildroot}%{_libdir}/girepository-1.0/Libproxy*.typelib
rm -rf %{buildroot}%{_includedir}/libproxy
rm -rf %{buildroot}%{_datadir}/gir-1.0
rm -rf %{buildroot}%{_datadir}/vala
rm %{buildroot}%{_libdir}/pkgconfig/libproxy-1.0.pc
%endif
%if "%{flavor}" == "backend"
%check
%meson_test ||:
%endif
%ldconfig_scriptlets -n libpxbackend-1_0%{?mini}
%if "%{flavor}" == "client"
%ldconfig_scriptlets -n libproxy1
%endif
%if "%{flavor}" == "client"
%files -n libproxy1
%{_libdir}/libproxy.so.*
%files -n libpxbackend-1_0%{?mini}
%dir %{_libdir}/libproxy
%{_libdir}/libproxy/libpxbackend-1.0.so
%files -n libproxy-tools
%{_bindir}/proxy
%{_mandir}/man8/proxy.8%{?ext_man}
%files -n typelib-1_0-Libproxy-1_0
%{_libdir}/girepository-1.0/Libproxy-1.0.typelib
%files -n libproxy-devel
%{_datadir}/gir-1.0/Libproxy-1.0.gir
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/libproxy-1.0.*
%{_includedir}/libproxy/
%{_libdir}/libproxy.so
%{_libdir}/pkgconfig/libproxy-1.0.pc
%endif
%if "%{flavor}" == "backend"
%files -n libpxbackend-1_0
%dir %{_libdir}/libproxy
%{_libdir}/libproxy/libpxbackend-1.0.so
%files -n libproxy-devel-doc
%{_datadir}/doc/libproxy-1.0
%endif
%changelog