189f740
%global		module		SYMPHONY
189f740
189f740
Name:		coin-or-%{module}
189f740
Summary:	Solver for mixed-integer linear programs
3fedfdf
Version:	5.6.17
0d7076c
Release:	6%{?dist}
3fedfdf
License:	EPL-1.0
3fedfdf
URL:		https://github.com/coin-or/%{module}/wiki
189f740
Source0:	http://www.coin-or.org/download/pkgsource/%{module}/%{module}-%{version}.tgz
3fedfdf
# The PDF manual cannot be built from source, missing BibTeX file (as of 5.6.17)
3fedfdf
Source1:	https://coin-or.github.io/%{module}/doc/%{module}-%{version}-Manual.pdf
189f740
BuildRequires:	coin-or-Cgl-devel
3fedfdf
BuildRequires:	coin-or-Data-miplib3
3fedfdf
BuildRequires:	coin-or-Data-Netlib
3fedfdf
BuildRequires:	coin-or-DyLP-devel
3fedfdf
BuildRequires:	coin-or-Vol-devel
3fedfdf
BuildRequires:	gcc-c++
189f740
BuildRequires:	glpk-devel
ce50673
BuildRequires:	make
189f740
BuildRequires:	readline-devel
189f740
189f740
# Install documentation in standard rpm directory
6a3f22d
Patch0:		%{name}-docdir.patch
189f740
3fedfdf
# Fix GCC warnings about aliased arguments to restrict-qualified parameters
3fedfdf
Patch1:		%{name}-restrict.patch
3fedfdf
189f740
%description
189f740
SYMPHONY is an open-source solver for mixed-integer linear programs (MILPs)
189f740
written in C. It can be used in three different main modes:
189f740
189f740
  * As a callable library through either the native C interface or through
189f740
    the Osi.
189f740
  * As an interactive solver using a command-line interface.
189f740
  * As a framework to build customized solvers for specific problem classes. 
189f740
189f740
SYMPHONY can be executed in either parallel (distributed or shared memory)
189f740
or sequential modes and has a number of advanced features that make it unique,
189f740
including the ability to
189f740
189f740
  * solve biobjective MILPs,
189f740
  * warm start the solution procedure, and
189f740
  * perform basic sensitivity analyses. 
189f740
189f740
SYMPHONY links to a number of other COIN projects for additional
189f740
functionality, including:
189f740
189f740
   * Clp (the default solver for LP relaxations)
189f740
   * Osi (an interface to alternative solvers for solving LP relaxations)
189f740
   * Cgl (for cut generation)
189f740
   * CoinUtils (for reading in MPS files and various utilities)
189f740
189f740
%package	devel
189f740
Summary:	Development files for %{name}
3fedfdf
Requires:	coin-or-Osi-devel%{?_isa}
189f740
Requires:	%{name}%{?_isa} = %{version}-%{release}
189f740
189f740
%description    devel
189f740
The %{name}-devel package contains libraries and header files for
189f740
developing applications that use %{name}.
189f740
189f740
%prep
3fedfdf
%autosetup -p1 -n %{module}-%{version}
189f740
189f740
%build
3fedfdf
%configure \
3fedfdf
  --enable-draw-graph \
3fedfdf
  --enable-sensitivity-analysis \
3fedfdf
  --with-glpk_incdir=%{_includedir} \
3fedfdf
  --with-glpk-lib=-lglpk \
3fedfdf
  --with-gmpl
3fedfdf
3fedfdf
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
3fedfdf
# -Wl,--as-needed after all the libraries.
3fedfdf
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
3fedfdf
    -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
3fedfdf
    -e 's|CC="\(g..\)"|CC="\1 -Wl,--as-needed"|' \
3fedfdf
    -i libtool
3fedfdf
3fedfdf
%make_build all
189f740
189f740
%install
3fedfdf
%make_install
189f740
rm -f %{buildroot}%{_libdir}/*.la
3fedfdf
rm -f %{buildroot}%{_docdir}/%{name}/{LICENSE,sym_addlibs.txt}
3fedfdf
cp -p %{SOURCE1} %{buildroot}%{_docdir}/%{name}
3fedfdf
3fedfdf
# We do not build the application library, so do not ship its pkgconfig file
3fedfdf
rm -f %{buildroot}%{_libdir}/pkgconfig/symphony-app.pc
3fedfdf
3fedfdf
# The pkgconfig file lists transitive dependencies.  Those are necessary when
3fedfdf
# using static libraries, but not with shared libraries.
3fedfdf
sed -i 's/ -lglpk//' %{buildroot}%{_libdir}/pkgconfig/symphony.pc
189f740
189f740
%check
189f740
LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test
189f740
723c9ef
%ldconfig_scriptlets
189f740
189f740
%files
3fedfdf
%license LICENSE
3fedfdf
%{_docdir}/%{name}
189f740
%{_bindir}/symphony
3fedfdf
%{_libdir}/libOsiSym.so.3
3fedfdf
%{_libdir}/libOsiSym.so.3.*
3fedfdf
%{_libdir}/libSym.so.3
3fedfdf
%{_libdir}/libSym.so.3.*
189f740
189f740
%files		devel
189f740
%{_includedir}/coin/*
3fedfdf
%{_libdir}/libOsiSym.so
3fedfdf
%{_libdir}/libSym.so
3fedfdf
%{_libdir}/pkgconfig/osi-sym.pc
3fedfdf
%{_libdir}/pkgconfig/symphony.pc
189f740
189f740
%changelog
0d7076c
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.17-6
0d7076c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
0d7076c
2eb1a25
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.17-5
2eb1a25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
2eb1a25
50f60d8
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.17-4
50f60d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
50f60d8
2cead3e
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.17-3
2cead3e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
2cead3e
de72366
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.17-2
de72366
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
de72366
3fedfdf
* Thu Jun 27 2019 Jerry James <loganjerry@gmail.com> - 5.6.17-1
3fedfdf
- Update to latest upstream release
3fedfdf
- Update project URL
3fedfdf
- Change License from EPL to EPL-1.0
3fedfdf
- Eliminate unnecessary BRs and Rs
3fedfdf
- Package the manual
3fedfdf
- Eliminate rpath from the library
3fedfdf
- Force libtool to not defeat -Wl,--as-needed
3fedfdf
- Be explicit about library versions as required by latest guidelines
3fedfdf
- Filter out unnecessary Libs values from pkgconfig files
3fedfdf
85e1027
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.14-9
85e1027
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
85e1027
bf21afe
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 5.6.14-8
bf21afe
- Rebuild with fixed binutils
bf21afe
219a905
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.14-7
219a905
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
219a905
2ff0de8
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.14-6
2ff0de8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
2ff0de8
1267087
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.14-5
1267087
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
1267087
0a451ce
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.14-4
0a451ce
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
0a451ce
3f21967
* Wed Apr  5 2017 Jerry James <loganjerry@gmail.com> - 5.6.14-3
3f21967
- Rebuild for glpk 4.61
3f21967
611e08a
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.14-2
611e08a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
611e08a
8afd2f7
* Thu Mar 17 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.6.14-1
8afd2f7
- Update to latest upstream release
8afd2f7
9fd017c
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.8-5
9fd017c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
9fd017c
d37512a
* Sun Jun 21 2015 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.6.8-4
d37512a
- Full rebuild of coin-or stack.
d37512a
3647e34
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.6.8-3
3647e34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
3647e34
7a0c594
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 5.6.8-2
7a0c594
- Rebuilt for GCC 5 C++11 ABI change
7a0c594
6a3f22d
* Sun Feb 22 2015 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.6.8-1
6a3f22d
- Update to latest upstream release.
6a3f22d
8deedf4
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.5.7-3
8deedf4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
8deedf4
073167d
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.5.7-2
073167d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
073167d
189f740
* Sat Apr 19 2014 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.5.7-1
189f740
- Update to latest upstream release.
189f740
189f740
* Mon Jan 14 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.4.6-1
189f740
- Update to latest upstream release.
189f740
189f740
* Sat Jan 12 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.4.5-3
189f740
- Rename repackaged tarball.
189f740
189f740
* Sun Nov 18 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.4.5-2
189f740
- Rename package to coin-or-SYMPHONY.
189f740
- Do not package Thirdy party data or data without clean license.
189f740
189f740
* Thu Sep 27 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 5.4.5-1
189f740
- Initial coinor-SYMPHONY spec.