9d0d62e
%global		module		Couenne
9d0d62e
9d0d62e
%global		with_asl	1
9d0d62e
%global		with_mpi	0
9d0d62e
9d0d62e
Name:		coin-or-%{module}
9d0d62e
Summary:	An exact solver for nonconvex MINLPs
4d6d569
Version:	0.5.8
5a41f02
Release:	16%{?dist}
95874bd
License:	EPL-1.0
74dc8f8
URL:		https://projects.coin-or.org/%{module}
9d0d62e
Source0:	http://www.coin-or.org/download/pkgsource/%{module}/%{module}-%{version}.tgz
281029b
281029b
# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
281029b
ExcludeArch:	%{ix86}
281029b
74dc8f8
BuildRequires:	coin-or-Bonmin-doc
74dc8f8
BuildRequires:	coin-or-Cbc-doc
9d0d62e
BuildRequires:	doxygen
74dc8f8
BuildRequires:	gcc
74dc8f8
BuildRequires:	gcc-c++
74dc8f8
BuildRequires:	gcc-gfortran
4d6d569
BuildRequires:	help2man
2363194
BuildRequires:	make
4d6d569
BuildRequires:	pkgconfig(bonmin)
4d6d569
BuildRequires:	pkgconfig(nauty)
9d0d62e
%if %{with_asl}
281029b
BuildRequires:	asl-devel
9d0d62e
%endif
9d0d62e
%if %{with_mpi}
9d0d62e
BuildRequires:	openmpi-devel
9d0d62e
BuildRequires:	scalapack-openmpi-devel
9d0d62e
BuildRequires:	openssh-clients
9d0d62e
%endif
9d0d62e
9d0d62e
# Install documentation in standard rpm directory
9d0d62e
Patch0:		%{name}-docdir.patch
9d0d62e
74dc8f8
# Fix mixed signed/unsigned operations
4d6d569
Patch1:		%{name}-signed.patch
18313e3
4890dd3
# Fix comparison operator signature
281029b
Patch2:		%{name}-gcc11.patch
4890dd3
281029b
# Avoid implicit function declarations in the configure script
281029b
Patch3:		%{name}-configure-c99.patch
d3c1de9
5a41f02
# Adapt to SCIP 9.0.0
5a41f02
Patch4:         https://github.com/coin-or/Couenne/commit/599d6a4.patch
5a41f02
9d0d62e
%description
9d0d62e
Couenne (Convex Over and Under ENvelopes for Nonlinear Estimation) is a
9d0d62e
branch&bound algorithm to solve Mixed-Integer Nonlinear Programming (MINLP)
9d0d62e
problems of the form:
9d0d62e
      min f0(x,y)
9d0d62e
             fi(x,y) <= 0     i=1,2..., m
9d0d62e
             x in Rn, y in Zp
9d0d62e
9d0d62e
where all fi(x,y) are, in general, nonlinear functions.
9d0d62e
9d0d62e
Couenne aims at finding global optima of nonconvex MINLPs. It implements
9d0d62e
linearization, bound reduction, and branching methods within a
9d0d62e
branch-and-bound framework. Its main components are:
9d0d62e
9d0d62e
  * an expression library;
9d0d62e
  * separation of linearization cuts;
9d0d62e
  * branching rules;
9d0d62e
  * bound tightening methods.
9d0d62e
9d0d62e
%package	devel
9d0d62e
Summary:	Development files for %{name}
74dc8f8
Requires:	coin-or-Bonmin-devel
74dc8f8
Requires:	libnauty-devel%{?_isa}
9d0d62e
Requires:	%{name}%{?_isa} = %{version}-%{release}
9d0d62e
4d6d569
%description	devel
9d0d62e
The %{name}-devel package contains libraries and header files for
9d0d62e
developing applications that use %{name}.
9d0d62e
9d0d62e
%package	doc
9d0d62e
Summary:	Documentation files for %{name}
74dc8f8
Requires:	coin-or-Bonmin-doc
74dc8f8
Requires:	coin-or-Cbc-doc
9d0d62e
Requires:	%{name} = %{version}-%{release}
9d0d62e
9d0d62e
%description	doc
9d0d62e
This package contains the documentation for %{name}.
9d0d62e
9d0d62e
%prep
7ce08dc
%autosetup -p1 -n %{module}-%{version}
9d0d62e
74dc8f8
# We only want HTML output from doxygen
74dc8f8
sed -i 's/\(GENERATE_LATEX.*= \)YES/\1NO/' doxydoc/doxygen.conf.in
74dc8f8
4d6d569
# The pkgconfig file lists transitive dependencies.  Those are necessary when
4d6d569
# using static libraries, but not with shared libraries.
4d6d569
sed -i 's/ @COUENNELIB_PCLIBS@/\nLibs.private:&/' couenne.pc.in
4d6d569
9d0d62e
%build
9d0d62e
%if %{with_mpi}
9d0d62e
%_openmpi_load
9d0d62e
%endif
9d0d62e
%configure	\
9d0d62e
%if %{with_asl}
74dc8f8
	--with-asl-incdir="%{_includedir}/asl" \
281029b
	--with-asl-lib="-lasl -lipoptamplinterface -lbonminampl" \
9d0d62e
%endif
74dc8f8
	--with-nauty-incdir="%{_includedir}/nauty" \
74dc8f8
	--with-nauty-lib="-lnauty"
9d0d62e
74dc8f8
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
74dc8f8
# -Wl,--as-needed after all the libraries.
74dc8f8
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
74dc8f8
    -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
74dc8f8
    -e 's|CC="\(g..\)"|CC="\1 -Wl,--as-needed"|' \
74dc8f8
    -i libtool
9d0d62e
74dc8f8
%make_build all doxydoc
9d0d62e
9d0d62e
%install
a5c590a
%make_install
9d0d62e
rm -f %{buildroot}%{_libdir}/*.la
74dc8f8
rm -f %{buildroot}%{_docdir}/%{name}/{LICENSE,couenne_addlibs.txt}
74dc8f8
cp -a doxydoc/{html,*.tag} %{buildroot}%{_docdir}/%{name}
74dc8f8
cp -p doc/couenne-user-manual.pdf %{buildroot}%{_docdir}/%{name}
4d6d569
mkdir -p %{buildroot}%{_mandir}/man1
4d6d569
LD_LIBRARY_PATH=%{buildroot}%{_libdir} help2man -N src/main/.libs/couenne > \
4d6d569
  %{buildroot}%{_mandir}/man1/couenne.1
9d0d62e
9d0d62e
%check
9d0d62e
%if %{with_mpi}
9d0d62e
%_openmpi_load
9d0d62e
%endif
9d0d62e
LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH make test
9d0d62e
a5c590a
%ldconfig_scriptlets
9d0d62e
9d0d62e
%files
7ce08dc
%license LICENSE
74dc8f8
%{_bindir}/couenne
74dc8f8
%dir %{_pkgdocdir}/
74dc8f8
%{_pkgdocdir}/README
74dc8f8
%{_pkgdocdir}/AUTHORS
74dc8f8
%{_libdir}/libCouenne.so.1
74dc8f8
%{_libdir}/libCouenne.so.1.*
74dc8f8
%{_libdir}/libCouenneReadnl.so.1
74dc8f8
%{_libdir}/libCouenneReadnl.so.1.*
4d6d569
%{_mandir}/man1/couenne.1*
9d0d62e
95874bd
%files devel
9d0d62e
%{_includedir}/coin/*
74dc8f8
%{_libdir}/libCouenne.so
74dc8f8
%{_libdir}/libCouenneReadnl.so
74dc8f8
%{_libdir}/pkgconfig/couenne.pc
9d0d62e
95874bd
%files doc
74dc8f8
%{_pkgdocdir}/couenne-user-manual.pdf
74dc8f8
%{_pkgdocdir}/html/
74dc8f8
%{_pkgdocdir}/couenne_doxy.tag
9d0d62e
9d0d62e
%changelog
5a41f02
* Wed Mar 13 2024 Jerry James <loganjerry@gmail.com> - 0.5.8-16
5a41f02
- Rebuild for soplex 7.0.0
5a41f02
281029b
* Wed Jan 31 2024 Jerry James <loganjerry@gmail.com> - 0.5.8-15
281029b
- Build with asl instead of mp
281029b
- Verify that License is valid SPDX
281029b
- BR asl-devel instead of mp-devel
281029b
- Stop building for 32-bit x86
281029b
b03fa45
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-14
b03fa45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
b03fa45
92a9333
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-13
92a9333
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
92a9333
adcfb74
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-12
adcfb74
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
adcfb74
f9c5687
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-11
f9c5687
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
f9c5687
d3c1de9
* Wed Dec  7 2022 Florian Weimer <fweimer@redhat.com> - 0.5.8-10
d3c1de9
- Port configure script to C99
d3c1de9
23a2068
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-9
23a2068
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
23a2068
9732b47
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-8
9732b47
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
9732b47
281029b
* Tue Sep 21 2021 Antonio Trande <sagitter@fedoraproject.org> - 0.5.8-7
62832ce
- Rebuilt for Ipopt-3.14.4
62832ce
d726a52
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-6
d726a52
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
d726a52
282ce97
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-5
282ce97
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
282ce97
4890dd3
* Tue Jul 28 2020 Jeff Law <law@redhat.com> - 0.5.8-4
4890dd3
- Fix signature of comparison object
4890dd3
990e734
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-3
990e734
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
990e734
991ce2d
* Tue Jun  2 2020 Jerry James <loganjerry@gmail.com> - 0.5.8-2
991ce2d
- Rebuild for nauty 2.7.1
991ce2d
4d6d569
* Fri Feb 21 2020 Jerry James <loganjerry@gmail.com> - 0.5.8-1
4d6d569
- Release 0.5.8
4d6d569
- Drop upstreamed -format patch
4d6d569
- Make the -doc subpackage be arch-specific to work around FTBFS
4d6d569
fa26d5f
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-4
fa26d5f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
fa26d5f
e62f0d2
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-3
e62f0d2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
e62f0d2
74dc8f8
* Thu Jun 27 2019 Jerry James <loganjerry@gmail.com> - 0.5.7-2
74dc8f8
- Update project URL
74dc8f8
- Eliminate unnecessary BRs and Rs
74dc8f8
- Build with nauty support
74dc8f8
- Add -format patch
74dc8f8
- Force libtool to not defeat -Wl,--as-needed
74dc8f8
- Be explicit about library versions as required by latest guidelines
74dc8f8
- Filter out unnecessary Libs values from pkgconfig files
74dc8f8
- Package doxygen tag file to enable cross-linking
74dc8f8
95874bd
* Tue Apr 09 2019 Antonio Trande <sagitter@fedoraproject.org> - 0.5.7-1
95874bd
- Release 0.5.7
95874bd
6f1996f
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-18
6f1996f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
6f1996f
7ce08dc
* Thu Nov 01 2018 Antonio Trande <sagitter@fedoraproject.org> - 0.5.6-17
7ce08dc
- Remove Group tags
7ce08dc
f5fefec
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-16
f5fefec
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
f5fefec
6931c5f
* Sun Jun 03 2018 Antonio Trande <sagitter@fedoraproject.org> - 0.5.6-15
6931c5f
- Rebuild for Ipopt-3.12.10
6931c5f
a24d9a8
* Fri Feb 23 2018 Antonio Trande <sagitter@fedoraproject.org> - 0.5.6-14
a24d9a8
- Rebuild for Ipopt-3.12.9
a24d9a8
- Rebuild against openblas
a24d9a8
35084a3
* Thu Feb 22 2018 Antonio Trande <sagitter@fedoraproject.org> - 0.5.6-13
35084a3
- Add gcc gcc-c++ BR
35084a3
a5c590a
* Fri Feb 16 2018 Antonio Trande <sagitter@fedoraproject.org> - 0.5.6-12
a5c590a
- Use %%ldconfig_scriptlets
a5c590a
78018a4
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-11
78018a4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
78018a4
e47c4fe
* Sun Oct 29 2017 Antonio Trande <sagitterATfedoraproject.org> - 0.5.6-10
e47c4fe
- Rebuild for MUMPS-5.1.2
e47c4fe
0c2117f
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-9
0c2117f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
0c2117f
9daad49
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-8
9daad49
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
9daad49
32bd5cd
* Thu Jun 29 2017 Antonio Trande <sagitterATfedoraproject.org> - 0.5.6-7
32bd5cd
- Rebuild for MUMPS-5.1.1 (after a bug-fix)
32bd5cd
b8e74dd
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.6-6
b8e74dd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
b8e74dd
33d3b51
* Wed Apr  5 2017 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.5.6-5
33d3b51
- Rebuild for newer mumps
33d3b51
99d1934
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-4
99d1934
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
99d1934
c869460
* Sun Nov 13 2016 Peter Robinson <pbrobinson@fedoraproject.org> 0.5.6-3
c869460
- Rebuild (Power64)
c869460
a8c19f2
* Tue Aug 02 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.5.6-2
a8c19f2
- Rebuild for newer mumps
a8c19f2
18313e3
* Wed Mar 16 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.5.6-1
18313e3
- Update to latest upstream release
18313e3
- Correct FTBFS in rawhide (#1307387)
18313e3
8b7b20a
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.2-7
8b7b20a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
8b7b20a
60374c3
* Sun Jun 21 2015 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.5.2-6
60374c3
- Full rebuild of coin-or stack.
60374c3
7091a46
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.2-5
7091a46
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
7091a46
66606d7
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.5.2-4
66606d7
- Rebuilt for GCC 5 C++11 ABI change
66606d7
9d0d62e
* Sun Mar  1 2015 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.5.2-3
9d0d62e
- Rediff patches (#894606#c15)
9d0d62e
- Use license macro (#894606#c14)
9d0d62e
- Do not mix rpm macros and rpm shell variables (#894606#c14)
9d0d62e
9d0d62e
* Sat Feb 28 2015 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.5.2-2
9d0d62e
- Correct make check.
9d0d62e
9d0d62e
* Sat Feb 28 2015 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.5.2-1
9d0d62e
- Update to latest upstream release.
9d0d62e
9d0d62e
* Sat Sep 20 2014 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.4.7-1
9d0d62e
- Update to latest upstream release
9d0d62e
- Remove module name from description
9d0d62e
- Create doc subpackage
9d0d62e
9d0d62e
* Mon Jan 14 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.4.3-4
9d0d62e
- Update to run make check (#894610#c4).
9d0d62e
9d0d62e
* Sat Jan 12 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.4.3-3
9d0d62e
- Rename repackaged tarball.
9d0d62e
9d0d62e
* Sun Nov 18 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.4.3-2
9d0d62e
- Rename package to coin-or-Couenne.
9d0d62e
- Do not package Thirdy party data or data without clean license.
9d0d62e
9d0d62e
* Sat Sep 29 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.4.3-1
9d0d62e
- Initial coinor-Couenne spec.