Provide python2- and python3- subpackages (rhbz#1313786).
- Move python examples to -doc subpackage.
This commit is contained in:
parent
e95f726d0b
commit
e5b29be542
9
botan-1.10.13-python-init.patch
Normal file
9
botan-1.10.13-python-init.patch
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
diff -up Botan-1.10.13/src/wrap/python/__init__.py.orig Botan-1.10.13/src/wrap/python/__init__.py
|
||||||
|
--- Botan-1.10.13/src/wrap/python/__init__.py.orig 2016-04-28 15:27:08.000000000 +0200
|
||||||
|
+++ Botan-1.10.13/src/wrap/python/__init__.py 2016-06-30 18:02:11.724997966 +0200
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-from _botan import *
|
||||||
|
+from botan._botan import *
|
||||||
|
|
||||||
|
# Initialize the library when the module is imported
|
||||||
|
init = LibraryInitializer()
|
20
botan-boost_python.patch
Normal file
20
botan-boost_python.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
diff -up Botan-1.10.13/src/build-data/makefile/python.in.orig Botan-1.10.13/src/build-data/makefile/python.in
|
||||||
|
--- Botan-1.10.13/src/build-data/makefile/python.in.orig 2016-04-28 15:27:08.000000000 +0200
|
||||||
|
+++ Botan-1.10.13/src/build-data/makefile/python.in 2016-06-30 16:12:04.001859858 +0200
|
||||||
|
@@ -15,13 +15,15 @@ BOTAN_PYTHON_MODDIR = %{python_obj_dir}
|
||||||
|
|
||||||
|
PYTHON_OBJS = %{python_objs}
|
||||||
|
|
||||||
|
+BOOST_PYTHON = boost_python
|
||||||
|
+
|
||||||
|
all: $(BOTAN_PYTHON_MODDIR)/_botan.so
|
||||||
|
|
||||||
|
%{python_build_cmds}
|
||||||
|
|
||||||
|
$(BOTAN_PYTHON_MODDIR)/_botan.so: $(PYTHON_OBJS)
|
||||||
|
cp %{python_dir}/*.py $(BOTAN_PYTHON_MODDIR)
|
||||||
|
- $(CXX) -shared -Wl,-soname,$@ $(PYTHON_OBJS) -L. -L$(PYTHON_ROOT) $(LDFLAGS) -lbotan-$(SERIES) -lboost_python -o $@
|
||||||
|
+ $(CXX) -shared -Wl,-soname,$@ $(PYTHON_OBJS) -L. -L$(PYTHON_ROOT) $(LDFLAGS) -lbotan-$(SERIES) -l$(BOOST_PYTHON) -o $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf $(BOTAN_PYTHON_MODDIR)/*
|
110
botan.spec
110
botan.spec
@ -1,8 +1,12 @@
|
|||||||
%global major_version 1.10
|
%global major_version 1.10
|
||||||
|
|
||||||
|
%if 0%{?fedora}
|
||||||
|
%global with_python3 1
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: botan
|
Name: botan
|
||||||
Version: %{major_version}.13
|
Version: %{major_version}.13
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Crypto library written in C++
|
Summary: Crypto library written in C++
|
||||||
|
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
@ -16,19 +20,31 @@ Patch0: botan-aarch64.patch
|
|||||||
Patch1: botan-1.10-add-ppc64le.patch
|
Patch1: botan-1.10-add-ppc64le.patch
|
||||||
# Enable only cleared ECC algorithms
|
# Enable only cleared ECC algorithms
|
||||||
Patch2: botan-1.10.5-ecc-fix.patch
|
Patch2: botan-1.10.5-ecc-fix.patch
|
||||||
|
# Make boost_python selectable
|
||||||
|
Patch3: botan-boost_python.patch
|
||||||
|
# Fix wrong path
|
||||||
|
Patch4: botan-1.10.13-python-init.patch
|
||||||
|
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: python
|
BuildRequires: python2
|
||||||
BuildRequires: python-sphinx
|
BuildRequires: python2-devel
|
||||||
BuildRequires: python-devel
|
|
||||||
BuildRequires: boost-python-devel
|
BuildRequires: boost-python-devel
|
||||||
|
%if 0%{?with_python3}
|
||||||
|
BuildRequires: python3
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: boost-python3-devel
|
||||||
|
%endif # with_python3
|
||||||
|
|
||||||
|
BuildRequires: python-sphinx
|
||||||
BuildRequires: bzip2-devel
|
BuildRequires: bzip2-devel
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
|
|
||||||
# do not check .so files in the python_sitelib directory
|
# do not check .so files in the python_sitelib directories
|
||||||
%global __provides_exclude_from ^(%{python_sitearch}/.*\\.so)$
|
%global __provides_exclude_from ^(%{python2_sitearch}/.*\\.so)$
|
||||||
|
%if 0%{?with_python3}
|
||||||
|
%global __provides_exclude_from ^(%{python3_sitearch}/.*\\.so)$
|
||||||
|
%endif # with_python3
|
||||||
|
|
||||||
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
||||||
|
|
||||||
@ -66,24 +82,45 @@ BuildArch: noarch
|
|||||||
This package contains HTML documentation for %{name}.
|
This package contains HTML documentation for %{name}.
|
||||||
|
|
||||||
|
|
||||||
%package python
|
%package -n python2-%{name}
|
||||||
Summary: Python bindings for %{name}
|
Summary: Python2 bindings for %{name}
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
|
%{?python_provide:%python_provide python2-%{name}}
|
||||||
|
# the python2 package was named botan-python up to 1.10.13-1
|
||||||
|
Provides: %{name}-python = %{version}-%{release}
|
||||||
|
Obsoletes: %{name}-python < 1.10.13-2
|
||||||
|
|
||||||
%description python
|
%description -n python2-%{name}
|
||||||
%{summary}
|
%{summary}
|
||||||
|
|
||||||
This package contains the Python binding for %{name}.
|
This package contains the Python2 binding for %{name}.
|
||||||
|
|
||||||
Note: The Python binding should be considered alpha software, and the
|
Note: The Python binding should be considered alpha software, and the
|
||||||
interfaces may change in the future.
|
interfaces may change in the future.
|
||||||
|
|
||||||
|
%if 0%{?with_python3}
|
||||||
|
%package -n python3-%{name}
|
||||||
|
Summary: Python3 bindings for %{name}
|
||||||
|
Group: System Environment/Libraries
|
||||||
|
%{?python_provide:%python_provide python2-%{name}}
|
||||||
|
|
||||||
|
%description -n python3-%{name}
|
||||||
|
%{summary}
|
||||||
|
|
||||||
|
This package contains the Python3 binding for %{name}.
|
||||||
|
|
||||||
|
Note: The Python binding should be considered alpha software, and the
|
||||||
|
interfaces may change in the future.
|
||||||
|
%endif # with_python3
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n Botan-%{version}
|
%setup -q -n Botan-%{version}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1 -b .eccfix
|
%patch2 -p1 -b .eccfix
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
# These tests will fail.
|
# These tests will fail.
|
||||||
rm -rf checks/ec_tests.cpp
|
rm -rf checks/ec_tests.cpp
|
||||||
@ -104,14 +141,30 @@ rm -rf checks/ec_tests.cpp
|
|||||||
--enable-modules=%{enable_modules} \
|
--enable-modules=%{enable_modules} \
|
||||||
--disable-modules=%{disable_modules} \
|
--disable-modules=%{disable_modules} \
|
||||||
--with-boost-python \
|
--with-boost-python \
|
||||||
--with-python-version=%{python_version} \
|
--with-python-version=dummy.dummy \
|
||||||
--with-sphinx
|
--with-sphinx
|
||||||
|
|
||||||
|
%if 0%{?with_python3}
|
||||||
|
cp -a build/python{,3}
|
||||||
|
%endif # with_python3
|
||||||
|
|
||||||
# (ab)using CXX as an easy way to inject our CXXFLAGS
|
# (ab)using CXX as an easy way to inject our CXXFLAGS
|
||||||
make CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags}
|
make CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags}
|
||||||
make -f Makefile.python \
|
|
||||||
CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags}
|
|
||||||
|
|
||||||
|
make -f Makefile.python \
|
||||||
|
CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} \
|
||||||
|
PYTHON_INC="$(python2-config --includes)" \
|
||||||
|
PYTHON_ROOT=.
|
||||||
|
|
||||||
|
%if 0%{?with_python3}
|
||||||
|
mv build/python{,2} ; mv build/python{3,}
|
||||||
|
make -f Makefile.python \
|
||||||
|
CXX="g++ ${CXXFLAGS:-%{optflags}}" %{?_smp_mflags} \
|
||||||
|
PYTHON_INC="$(python3-config --includes)" \
|
||||||
|
PYTHON_ROOT=. \
|
||||||
|
BOOST_PYTHON=boost_python3
|
||||||
|
mv build/python{,3} ; mv build/python{2,}
|
||||||
|
%endif # with_python3
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install \
|
make install \
|
||||||
@ -121,12 +174,19 @@ make install \
|
|||||||
INSTALL_CMD_DATA="install -p -m 644"
|
INSTALL_CMD_DATA="install -p -m 644"
|
||||||
|
|
||||||
make -f Makefile.python install \
|
make -f Makefile.python install \
|
||||||
PYTHON_SITE_PACKAGE_DIR=%{buildroot}%{python_sitearch}
|
PYTHON_SITE_PACKAGE_DIR=%{buildroot}%{python2_sitearch}
|
||||||
|
|
||||||
|
%if 0%{?with_python3}
|
||||||
|
mv build/python{,2} ; mv build/python{3,}
|
||||||
|
make -f Makefile.python install \
|
||||||
|
PYTHON_SITE_PACKAGE_DIR=%{buildroot}%{python3_sitearch}
|
||||||
|
mv build/python{,3} ; mv build/python{2,}
|
||||||
|
%endif # with_python3
|
||||||
|
|
||||||
# fixups
|
# fixups
|
||||||
find doc/examples -type f -exec chmod -x {} \;
|
find doc/examples -type f -exec chmod -x {} \;
|
||||||
mv doc/examples/python doc/python-examples
|
mv doc/examples/python doc/python2-examples
|
||||||
cp -a doc/{examples,python-examples,license.txt} \
|
cp -a doc/{examples,python2-examples,license.txt} \
|
||||||
%{buildroot}%{_pkgdocdir}
|
%{buildroot}%{_pkgdocdir}
|
||||||
cp -a %{SOURCE1} %{buildroot}%{_pkgdocdir}
|
cp -a %{SOURCE1} %{buildroot}%{_pkgdocdir}
|
||||||
rm -r %{buildroot}%{_pkgdocdir}/manual/{.doctrees,.buildinfo}
|
rm -r %{buildroot}%{_pkgdocdir}/manual/{.doctrees,.buildinfo}
|
||||||
@ -173,13 +233,17 @@ rm -r %{buildroot}%{_pkgdocdir}/manual/{.doctrees,.buildinfo}
|
|||||||
%else
|
%else
|
||||||
%{_pkgdocdir}/license.txt
|
%{_pkgdocdir}/license.txt
|
||||||
%endif # licensedir
|
%endif # licensedir
|
||||||
|
%{_pkgdocdir}/python2-examples
|
||||||
|
|
||||||
|
|
||||||
%files python
|
%files -n python2-%{name}
|
||||||
%{_pkgdocdir}/python-examples
|
%{python2_sitearch}/%{name}
|
||||||
%exclude %{_pkgdocdir}/python-examples/*.pyc
|
|
||||||
%exclude %{_pkgdocdir}/python-examples/*.pyo
|
|
||||||
%{python_sitearch}/%{name}
|
%if 0%{?with_python3}
|
||||||
|
%files -n python3-%{name}
|
||||||
|
%{python3_sitearch}/%{name}
|
||||||
|
%endif # with_python3
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
@ -193,6 +257,10 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./check --validate
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Jul 3 2016 Thomas Moschny <thomas.moschny@gmx.de> - 1.10.13-2
|
||||||
|
- Provide python2- and python3- subpackages (rhbz#1313786).
|
||||||
|
- Move python examples to -doc subpackage.
|
||||||
|
|
||||||
* Fri Apr 29 2016 Thomas Moschny <thomas.moschny@gmx.de> - 1.10.13-1
|
* Fri Apr 29 2016 Thomas Moschny <thomas.moschny@gmx.de> - 1.10.13-1
|
||||||
- Update to 1.10.13.
|
- Update to 1.10.13.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user