Install bindings for both Python 2 and 3 (#1323251)

Additionally, rename the Python 2 subpackage python2-libproxy. Use the
python_provides macro to ensure that the correct provides is used for
the default Python runtime.
This commit is contained in:
David King 2016-04-04 10:43:52 +02:00
parent 5c210817cf
commit 6b395ee9ae

View File

@ -4,7 +4,7 @@
Name: libproxy Name: libproxy
Version: 0.4.12 Version: 0.4.12
Release: 2%{?dist} Release: 3%{?dist}
Summary: A library handling all the details of proxy configuration Summary: A library handling all the details of proxy configuration
Group: System Environment/Libraries Group: System Environment/Libraries
@ -22,7 +22,6 @@ Patch3: libproxy-0.4.12-fix-kde-slowdown.patch
# Fix a Python bindings crash on 64-bit systems. # Fix a Python bindings crash on 64-bit systems.
Patch4: libproxy-0.4.12-fix-python-crash.patch Patch4: libproxy-0.4.12-fix-python-crash.patch
BuildRequires: python2-devel
BuildRequires: libmodman-devel >= 2.0.1 BuildRequires: libmodman-devel >= 2.0.1
BuildRequires: cmake >= 2.6.0 BuildRequires: cmake >= 2.6.0
@ -39,6 +38,9 @@ BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(javascriptcoregtk-4.0) BuildRequires: pkgconfig(javascriptcoregtk-4.0)
# kde # kde
BuildRequires: /usr/bin/kreadconfig5 BuildRequires: /usr/bin/kreadconfig5
# Python
BuildRequires: python2-devel
BuildRequires: python3-devel
%else %else
# Obsoletes of disabled subpackages. # Obsoletes of disabled subpackages.
Provides: %{name}-mozjs = %{version}-%{release} Provides: %{name}-mozjs = %{version}-%{release}
@ -69,14 +71,28 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
The %{name}-bin package contains the proxy binary for %{name} The %{name}-bin package contains the proxy binary for %{name}
%if ! 0%{?bootstrap} %if ! 0%{?bootstrap}
%package python %package -n python2-%{name}
Summary: Binding for %{name} and python Summary: Binding for %{name} and python2
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
# Remove compatibility in F26.
Provides: %{name}-python = %{version}-%{release}
Obsoletes: %{name}-python < 0.4.12-3
BuildArch: noarch
%{?python_provide:%python_provide python2-%{name}}
%description -n python2-%{name}
The python2 binding for %{name}
%package -n python3-%{name}
Summary: Binding for %{name} and python3
Group: System Environment/Libraries Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
BuildArch: noarch BuildArch: noarch
%{?python_provide:%python_provide python3-%{name}}
%description python %description -n python3-%{name}
The %{name}-python package contains the python binding for %{name} The python3 binding for %{name}
%package gnome %package gnome
Summary: Plugin for %{name} and gnome Summary: Plugin for %{name} and gnome
@ -162,8 +178,11 @@ developing applications that use %{name}.
-DWITH_PERL=OFF \ -DWITH_PERL=OFF \
%if ! 0%{?bootstrap} %if ! 0%{?bootstrap}
-DWITH_GNOME3=ON \ -DWITH_GNOME3=ON \
-DWITH_PYTHON=ON \
-DWITH_WEBKIT3=ON \ -DWITH_WEBKIT3=ON \
-DWITH_MOZJS=ON \ -DWITH_MOZJS=ON \
%else
-DWITH_PYTHON=OFF \
%endif %endif
. .
make VERBOSE=1 %{?_smp_mflags} make VERBOSE=1 %{?_smp_mflags}
@ -178,6 +197,13 @@ mkdir -p %{buildroot}%{_libdir}/%{name}/%{version}/modules
# Man page. # Man page.
install -Dpm 0644 %{SOURCE1} %{buildroot}/%{_mandir}/man1/proxy.1 install -Dpm 0644 %{SOURCE1} %{buildroot}/%{_mandir}/man1/proxy.1
# Install Python module for Python 3.
%if ! 0%{?bootstrap}
install -d %{buildroot}/%{python3_sitelib}
cp -p %{buildroot}/%{python2_sitelib}/%{name}.* \
%{buildroot}/%{python3_sitelib}/
%endif
%check %check
make test make test
@ -199,8 +225,12 @@ make test
%{_mandir}/man1/proxy.1* %{_mandir}/man1/proxy.1*
%if ! 0%{?bootstrap} %if ! 0%{?bootstrap}
%files python %files -n python2-%{name}
%{python_sitelib}/* %{python2_sitelib}/%{name}.*
%files -n python3-%{name}
%{python3_sitelib}/__pycache__/*
%{python3_sitelib}/%{name}.*
%files gnome %files gnome
%{_libdir}/%{name}/%{version}/modules/config_gnome3.so %{_libdir}/%{name}/%{version}/modules/config_gnome3.so
@ -230,6 +260,9 @@ make test
%changelog %changelog
* Mon Apr 04 2016 David King <amigadave@amigadave.com> - 0.4.12-3
- Install bindings for both Python 2 and 3 (#1323251)
* Fri Mar 04 2016 David King <amigadave@amigadave.com> - 0.4.12-2 * Fri Mar 04 2016 David King <amigadave@amigadave.com> - 0.4.12-2
- Fix a Python bindings crash on 64-bit systems (#1296817) - Fix a Python bindings crash on 64-bit systems (#1296817)