%global module OS %global with_asl 1 %global with_mpi 0 # openblas available on these architectures. %if 0%{?fedora} && 0%{?fedora} > 26 %{!?openblas_arches:%global openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64 s390x} %else %{!?openblas_arches:%global openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64} %endif %if 0%{?rhel} %{!?openblas_arches:%global openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64} %endif Name: coin-or-%{module} Group: Applications/Engineering Summary: Optimization Services Version: 2.10.1 Release: 17%{?dist} License: EPL URL: http://projects.coin-or.org/%{module} Source0: http://www.coin-or.org/download/pkgsource/%{module}/%{module}-%{version}.tgz BuildRequires: atlas-devel BuildRequires: bison %ifarch %{openblas_arches} BuildRequires: openblas-devel BuildRequires: openblas-srpm-macros %else BuildRequires: blas-devel BuildRequires: lapack-devel %endif BuildRequires: bzip2-devel BuildRequires: gcc, gcc-c++ BuildRequires: coin-or-Bcp-devel BuildRequires: coin-or-Bonmin-devel BuildRequires: coin-or-Cbc-devel BuildRequires: coin-or-Clp-devel BuildRequires: coin-or-CoinUtils-devel BuildRequires: coin-or-Couenne-devel # Until cppadd* provides coin-or-cppadd* # https://bugzilla.redhat.com/show_bug.cgi?id=1197488 %if 1 BuildRequires: cppad-devel %else BuildRequires: coin-or-cppad-devel %endif BuildRequires: coin-or-DyLP-devel %if %{with_mpi} BuildRequires: coin-or-Ipopt-openmpi-devel %else BuildRequires: coin-or-Ipopt-devel %endif BuildRequires: coin-or-Osi-devel BuildRequires: coin-or-SYMPHONY-devel BuildRequires: coin-or-Vol-devel BuildRequires: doxygen BuildRequires: flex BuildRequires: glpk-devel BuildRequires: graphviz %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: zlib-devel # Install documentation in standard rpm directory Patch0: %{name}-docdir.patch # Bad #define generated if svnversion is available Patch1: %{name}-svnversion.patch # Correct build when regenerating parsers Patch2: %{name}-flex-bison.patch # Return NULL not false from function returing a pointer Patch3: %{name}-bool-null.patch %description The objective of Optimization Services (OS) is to provide a set of standards for representing optimization instances, results, solver options, and communication between clients and solvers in a distributed environment using Web Services. This COIN-OR project provides source code for libraries and executable programs that implement OS standards. See the Home Site http://www.optimizationservices.org/ for more information. %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 %patch2 -p1 %patch3 -p1 %build # --with-flex-bison is to force parses regeneration; and ensure the # package is fully rebuildable from sources. %configure --enable-openmp --with-flex-bison \ %if %{with_asl} --with-asl-lib="-lasl -lmp -lipoptamplinterface -lbonminampl" \ --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 -j1 all doxydoc %install %make_install rm -f %{buildroot}%{_libdir}/*.la rm %{buildroot}%{_docdir}/%{name}/LICENSE cp -a doxydoc/html %{buildroot}%{_docdir}/%{name} # Test 12: Bonmin solver on bonminEx1.osil # fails on fedora > 25 arch armv7hl %if %{?fedora} > 25 %check %if %{with_mpi} %_openmpi_load %endif %ifnarch armv7hl LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test %endif %else %check %if %{with_mpi} %_openmpi_load %endif LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test %endif %ldconfig_scriptlets %files %license LICENSE %dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/AUTHORS %doc %{_docdir}/%{name}/README %doc %{_docdir}/%{name}/os_addlibs.txt %{_bindir}/OSAmplClient %{_bindir}/OSSolverService %{_libdir}/*.so.* %files devel %{_includedir}/coin/* %{_libdir}/*.so %{_libdir}/pkgconfig/* %files doc %doc %{_docdir}/%{name}/html %changelog * Thu Jul 12 2018 Fedora Release Engineering - 2.10.1-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Sun Jun 03 2018 Antonio Trande - 2.10.1-16 - Rebuild for Ipopt-3.12.10 * Fri Feb 23 2018 Antonio Trande - 2.10.1-15 - Rebuild for Ipopt-3.12.9 - Rebuild against openblas * Thu Feb 22 2018 Antonio Trande - 2.10.1-14 - Add gcc gcc-c++ BR * Fri Feb 16 2018 Antonio Trande - 2.10.1-13 - Use %%ldconfig_scriptlets * Wed Feb 07 2018 Fedora Release Engineering - 2.10.1-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Nov 02 2017 Antonio Trande - 2.10.1-11 - Rebuild for MUMPS-5.1.2 * Wed Aug 02 2017 Fedora Release Engineering - 2.10.1-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 2.10.1-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Thu Jun 29 2017 Antonio Trande - 2.10.1-8 - Define %%check on fedora < 26 - Downgrade make job to 1 * Thu Jun 29 2017 Antonio Trande - 2.10.1-7 - Rebuild for MUMPS-5.1.1 (after a bug-fix) - Exclude test on armv7hl * Mon May 15 2017 Fedora Release Engineering - 2.10.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Wed Apr 5 2017 pcpa - 2.10.1-5 - Rebuild for newer mumps * Fri Feb 10 2017 Fedora Release Engineering - 2.10.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sun Nov 13 2016 Peter Robinson 2.10.1-3 - Rebuild (Power64) * Tue Aug 02 2016 pcpa - 2.10.1-2 - Rebuild for newer mumps * Thu Mar 17 2016 pcpa - 2.10.1-1 - Update to latest upstream release - Correct FTBFS in rawhide (#1307390) * Wed Feb 03 2016 Fedora Release Engineering - 2.9.3-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Fri Jul 03 2015 pcpa - 2.9.3-5 - Correct docs listed in main package (#1239155). * Sun Jun 21 2015 pcpa - 2.9.3-4 - Full rebuild of coin-or stack. - Correct file listing when asl is disabled. * Fri Jun 19 2015 pcpa - 2.9.3-3 - Remove non functional attempt to prevent overlink. * Mon Jun 15 2015 pcpa - 2.9.3-2 - Build documentation (#894609#c11) - Do not overlink generated library (#894609#c11) - Update file list when asl is disabled * Sun Jun 14 2015 pcpa - 2.9.3-1 - Update to latest upstream release - Regenerate parsers (#894609#c7) * Mon Apr 13 2015 pcpa - 2.9.2-2 - Add missing bzip2, mp and zlib devel build requires - Remove non needed doxygen build requires * Sat Apr 11 2015 pcpa - 2.9.2-1 - Update to latest upstream release * Mon Jan 14 2013 pcpa - 2.6.0-4 - Update to run make check (#894610#c4). * Sat Jan 12 2013 pcpa - 2.6.0-3 - Rename repackaged tarball. * Sun Nov 18 2012 pcpa - 2.6.0-2 - Rename package to coin-or-OS. - Do not package Thirdy party data or data without clean license. * Sat Sep 29 2012 pcpa - 2.6.0-1 - Initial coinor-OS spec.