Blob Blame History Raw
Name:           python-cvxopt
Version:        1.1.5
Release:        5%{?dist}
Summary:        A Python Package for Convex Optimization
Group:          Development/Languages
License:        GPLv3+
URL:            http://abel.ee.ucla.edu/cvxopt/
Source0:        http://abel.ee.ucla.edu/src/cvxopt-%{version}.tar.gz
# Will submit patch0 to upstream ASAP
Patch0:         python-cvxopt-fixglpkinclude.patch
# Use the system suitesparse instead of building one, and ensure the ATLAS BLAS
# library is used instead of the system BLAS.
Patch1:         python-cvxopt-setup.patch

BuildRequires:  atlas-devel
BuildRequires:  DSDP-devel
BuildRequires:  fftw-devel
BuildRequires:  glpk-devel
BuildRequires:  gsl-devel
BuildRequires:  python2-devel python3-devel
BuildRequires:  python-setuptools python3-setuptools
BuildRequires:  python-sphinx
BuildRequires:  suitesparse-devel
BuildRequires:  tex4ht

%global __provides_exclude \\.so


%description
CVXOPT is a free software package for convex optimization based on
the Python programming language. Its main purpose is to make the
development of software for convex optimization applications
straightforward by building on Python's extensive standard library and
on the strengths of Python as a high-level programming language.


%package        examples
Summary:        Examples of using %{name}
Group:          Development/Languages
Requires:       %{name} = %{version}-%{release}
Requires:       python-matplotlib, pygobject2
BuildArch:      noarch


%description    examples
Example use of %{name}.


%package -n     python3-cvxopt
Summary:        A Python3 Package for Convex Optimization
Group:          Development/Languages


%description -n python3-cvxopt
CVXOPT is a free software package for convex optimization based on
the Python programming language. Its main purpose is to make the
development of software for convex optimization applications
straightforward by building on Python's extensive standard library and
on the strengths of Python as a high-level programming language.


%prep
%setup -q -n cvxopt-%{version}
%patch0
%patch1

# Fix library path
if [ %{__isa_bits} = "64" ]; then
  sed -i "s|/usr/lib|%{_libdir}|" src/setup.py
fi

# Remove internal copy of system library
rm -rf src/C/SuiteSparse*/

# Remove useless executable bits
find examples -name \*.py -perm /0111 | xargs chmod a-x

# Make a copy so we can build for python3 as well
cp -a src src3

%build
# Build for python 2
pushd src
  CC="gcc" LDSHARED="gcc -shared -Wl,--as-needed" %{__python} setup.py build
popd

# Build for python 3
pushd src3
  CC="gcc" LDSHARED="gcc -shared -Wl,--as-needed" %{__python3} setup.py build
popd

# Rebuild the documentation
make -C doc clean
make -C doc -B html
rm -f doc/build/html/.buildinfo


%install
# Install for python 2
pushd src
  %{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT
popd

# Install for python 3
pushd src3
  %{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT
popd

# Install the examples
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
cp -a examples $RPM_BUILD_ROOT%{_datadir}/%{name}/


%files
%doc LICENSE doc/build/html/
%{python_sitearch}/*egg-info
%{python_sitearch}/cvxopt

%files examples
%{_datadir}/%{name}

%files -n python3-cvxopt
%doc LICENSE doc/build/html/
%{python3_sitearch}/*egg-info
%{python3_sitearch}/cvxopt


%changelog
* Wed Oct 10 2012 Jerry James <loganjerry@gmail.com> - 1.1.5-5
- Add linkage to fix undefined symbols (bz 832475)

* Sat Aug 04 2012 David Malcolm <dmalcolm@redhat.com> - 1.1.5-4
- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue Apr  3 2012 Jerry James <loganjerry@gmail.com> - 1.1.5-2
- Fix filtering of provides

* Mon Apr  2 2012 Jerry James <loganjerry@gmail.com> - 1.1.5-1
- New upstream release
- Build python3 subpackage

* Tue Jan 10 2012 Jerry James <loganjerry@gmail.com> - 1.1.4-2
- Mass rebuild for Fedora 17
- Fix insufficiently escaped filter expression

* Mon Jan  2 2012 Jerry James <loganjerry@gmail.com> - 1.1.4-1
- New upstream release
- Use the RPM 4.9 way of filtering provides

* Wed Jun 22 2011 Jerry James <loganjerry@gmail.com> - 1.1.3-2
- Rebuild due to bz 712251
- Enable the DSDP extension

* Thu May 19 2011 Jerry James <loganjerry@gmail.com> - 1.1.3-1
- New upstream release (bz 700288)
- Ensure linking against ATLAS BLAS instead of system BLAS
- Eliminate unnecessary linkage
- BR python-sphinx and tex4ht for the documentation
- Filter provides from python .so files
- Examples also need pygobject2
- Build documentation in %%build instead of %%prep
- Remove unnecessary elements of the spec file (%%clean, BuildRoot, etc.)

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Jul 30 2010 Orcan Ogetbil <oget[dot]fedora[at[gmail[dot]com> - 1.1-10
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Fri Jul 23 2010 Conrad Meyer <konrad@tylerc.org> - 1.1-9
- Fix glpk include.

* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 1.1-8
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Thu Feb 26 2009 Conrad Meyer <konrad@tylerc.org> - 1.1-6
- Make examples subpackage noarch.

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Dec 8 2008 Conrad Meyer <konrad@tylerc.org> - 1.1-4
- Add BR on suitesparse-devel.
- Migrate examples to subpackage.

* Mon Dec 8 2008 Conrad Meyer <konrad@tylerc.org> - 1.1-3
- Remove SuiteSparse (copy of system library).

* Mon Dec 8 2008 Conrad Meyer <konrad@tylerc.org> - 1.1-2
- Move examples to datadir/name.
- Include html documentation.
- Package as a proper python egg.

* Mon Dec 8 2008 Conrad Meyer <konrad@tylerc.org> - 1.1-1
- Bump to 1.1.

* Mon Oct 13 2008 Conrad Meyer <konrad@tylerc.org> - 1.0-1
- Initial package.