%global module Bonmin %if 0%{?fedora} > 21 %global with_asl 1 %else %global with_asl 0 %endif %global with_mpi 0 Name: coin-or-%{module} Group: Applications/Engineering Summary: Basic Open-source Nonlinear Mixed INteger programming Version: 1.8.1 Release: 6%{?dist} License: CPL URL: http://projects.coin-or.org/%{module} Source0: http://www.coin-or.org/download/pkgsource/%{module}/%{module}-%{version}.tgz BuildRequires: atlas-devel BuildRequires: blas-devel BuildRequires: bzip2-devel BuildRequires: coin-or-Cbc-devel BuildRequires: coin-or-Cgl-devel BuildRequires: coin-or-Clp-devel BuildRequires: coin-or-CoinUtils-devel %if %{with_mpi} BuildRequires: coin-or-Ipopt-openmpi-devel %else BuildRequires: coin-or-Ipopt-devel %endif BuildRequires: coin-or-Osi-devel BuildRequires: doxygen BuildRequires: glpk-devel BuildRequires: graphviz BuildRequires: lapack-devel %if %{with_asl} BuildRequires: mp-devel %endif %if %{with_mpi} BuildRequires: openmpi-devel BuildRequires: scalapack-openmpi-devel BuildRequires: openssh-clients %endif BuildRequires: pkgconfig BuildRequires: readline-devel BuildRequires: texlive BuildRequires: zlib-devel # Install documentation in standard rpm directory Patch0: %{name}-docdir.patch # Header not installed but required by other projects (Couenne at least) Patch1: %{name}-include.patch %description Bonmin (Basic Open-source Nonlinear Mixed INteger programming) is an experimental open-source C++ code for solving general MINLP (Mixed Integer NonLinear Programming) problems of the form: min f(x) s.t. g_L <= g(x) <= g_U x_L <= x <= x_U x_i in Z for all i in I and, x_i in R for all i not in I. where f(x): R^n --> R, g(x): R^n --> R^m are twice continuously differentiable functions and I is a subset of {1,..,n}. Bonmin features several algorithms * B-BB is a NLP-based branch-and-bound algorithm, * B-OA is an outer-approximation decomposition algorithm, * B-QG is an implementation of Quesada and Grossmann's branch-and-cut algorithm, * B-Hyb is a hybrid outer-approximation based branch-and-cut algorithm. The algorithms in Bonmin are exact when the functions f and g are convex; in the case where f or g or both are non-convex they are heuristics. %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: coin-or-CoinUtils-devel Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package doc Summary: Documentation files for %{name} Group: Documentation Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc This package contains the documentation for %{name}. %prep %setup -q -n %{module}-%{version} %patch0 -p1 %patch1 -p1 %build %if %{with_mpi} %_openmpi_load %endif %configure \ %if %{with_asl} --with-asl-lib="-lasl -lmp -lipoptamplinterface" \ --with-asl-incdir="%{_includedir}/asl" %endif # Kill rpaths sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool make %{?_smp_mflags} all make -C doc all %install make install DESTDIR=%{buildroot} mkdir -p %{buildroot}%{_docdir}/%{name} cp -pa doc/html %{buildroot}%{_docdir}/%{name} rm -f %{buildroot}%{_libdir}/*.la %check %if %{with_mpi} %_openmpi_load %endif LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH make test %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %doc %{_docdir}/%{name} %if 0%{?fedora} > 21 %{_bindir}/bonmin %endif %{_libdir}/*.so.* %files devel %{_includedir}/coin/* %{_libdir}/*.so %{_libdir}/pkgconfig/* %files doc %doc %{_docdir}/%{name}/html %changelog * Sat Jun 20 2015 pcpa - 1.8.1-6 - Full rebuild of coin-or stack. * Wed Jun 17 2015 Fedora Release Engineering - 1.8.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 1.8.1-4 - Rebuilt for GCC 5 C++11 ABI change * Sun Feb 22 2015 pcpa - 1.8.1-1 - Update to latest upstream release. - Add asl solver and openmpi build conditionals. * Sat Aug 16 2014 Fedora Release Engineering - 1.7.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Mon Jul 14 2014 pcpa - 1.7.4-2 - Add texlive as explicit build requires. * Sat Apr 19 2014 pcpa - 1.7.4-1 - Update to latest upstream release. * Mon Jan 14 2013 pcpa - 1.6.0-4 - Update to run make check (#894610#c4). * Sat Jan 12 2013 pcpa - 1.6.0-3 - Rename repackaged tarball. * Sun Nov 18 2012 pcpa - 1.6.0-2 - Rename package to coin-or-Bonmin. - Do not package Thirdy party data or data without clean license. * Sat Sep 29 2012 pcpa - 1.6.0-1 - Initial coinor-Bonmin spec.