d5db230
%global		module		Dip
d5db230
d131178
%if 0%{?fedora}
d5db230
%global		with_asl	1
d5db230
%else
d5db230
%global		with_asl	0
d5db230
%endif
d5db230
%global		with_mpi	0
d5db230
d5db230
Name:		coin-or-%{module}
d5db230
Summary:	Decomposition for Integer Programming
d131178
Version:	0.95.0
e0e2d83
Release:	11%{?dist}
76ae5a7
License:	EPL-1.0
76ae5a7
URL:		https://github.com/coin-or/%{module}/wiki
76ae5a7
Source0:	https://github.com/coin-or/%{module}/archive/releases/%{version}/%{module}-%{version}.tar.gz
76ae5a7
BuildRequires:	coin-or-Alps-doc
76ae5a7
BuildRequires:	coin-or-Cbc-doc
d5db230
%if %{with_mpi}
d5db230
BuildRequires:	coin-or-Ipopt-openmpi-devel
d5db230
%else
d131178
BuildRequires:	pkgconfig(ipopt)
d5db230
%endif
76ae5a7
BuildRequires:	doxygen-latex
76ae5a7
BuildRequires:	gcc-c++
8027c46
BuildRequires:	make
d5db230
%if %{with_asl}
d5db230
BuildRequires:	mp-devel
d5db230
%endif
d5db230
%if %{with_mpi}
d131178
BuildRequires:	pkgconfig(ompi)
d5db230
BuildRequires:	scalapack-openmpi-devel
d5db230
BuildRequires:	openssh-clients
d5db230
%endif
d131178
BuildRequires:	pkgconfig(alps)
d131178
BuildRequires:	pkgconfig(cbc)
d131178
BuildRequires:	pkgconfig(symphony)
76ae5a7
BuildRequires:	tex(arydshln.sty)
76ae5a7
BuildRequires:	tex(comment.sty)
76ae5a7
BuildRequires:	tex(subfigure.sty)
76ae5a7
BuildRequires:	tex(textpos.sty)
76ae5a7
BuildRequires:	tex(vmargin.sty)
d5db230
d5db230
# Install documentation in standard rpm directory
d5db230
Patch0:		%{name}-docdir.patch
d5db230
d5db230
# Bad #define generated if svnversion is available
d5db230
Patch1:		%{name}-svnversion.patch
d5db230
76ae5a7
# Fix a BibTeX commenting issue in the guide
76ae5a7
Patch2:		%{name}-bib.patch
ba5082c
Patch3: coin-or-Dip-configure-c99.patch
76ae5a7
d5db230
%description
d5db230
DIP (Decomposition for Integer Programming) is an open-source extensible
d5db230
software framework for implementing decomposition-based bounding algorithms
d5db230
for use in solving large-scale discrete optimization problems. The framework
d5db230
provides a simple API for experimenting with various decomposition-based
d5db230
algorithms, such as Dantzig-Wolfe decomposition, Lagrangian relaxation,
d5db230
and various cutting plane methods. Given a compact formulation and a
d5db230
relaxation, the framework takes care of all algorithmic details associated
d5db230
with implementing any of a wide range of decomposition-based algorithms,
d5db230
such as branch and cut, branch and price, branch and cut and price,
d5db230
subgradient-based Lagrangian relaxation, branch and relax and cut, and
d5db230
decompose and cut. The user can specify customizations, such as methods
d5db230
for generating valid inequalities and branching, in terms of the variables
d5db230
of the compact formulation, without having to worry about the details of
d5db230
any required reformulations.
d5db230
d5db230
%package	devel
d5db230
Summary:	Development files for %{name}
76ae5a7
Requires:	coin-or-Alps-devel%{?_isa}
76ae5a7
Requires:	coin-or-Cgl-devel%{?_isa}
76ae5a7
Requires:	coin-or-SYMPHONY-devel%{?_isa}
d5db230
Requires:	%{name}%{?_isa} = %{version}-%{release}
d5db230
d5db230
%description	devel
d5db230
The %{name}-devel package contains libraries and header files for
d5db230
developing applications that use %{name}.
d5db230
76ae5a7
%package	doc
76ae5a7
Summary:	Documentation files for %{name}
76ae5a7
Requires:	coin-or-Alps-doc
76ae5a7
Requires:	coin-or-Cbc-doc
76ae5a7
Requires:	%{name} = %{version}-%{release}
76ae5a7
BuildArch:	noarch
76ae5a7
76ae5a7
%description	doc
76ae5a7
This package contains the documentation for %{name}.
76ae5a7
d5db230
%prep
76ae5a7
%autosetup -p1 -n %{module}-releases-%{version}
76ae5a7
76ae5a7
# Fix paths to the examples
76ae5a7
sed -i 's,examples/Dippy,src/dippy/examples,g' Dip/doc/guide/*.tex
d5db230
d131178
# The pkgconfig file lists transitive dependencies.  Those are necessary when
d131178
# using static libraries, but not with shared libraries.
d131178
sed -i 's/ @DIPLIB_PCLIBS@/\nLibs.private:&/' Dip/dip.pc.in
d131178
d5db230
%build
d5db230
%if %{with_mpi}
d5db230
%_openmpi_load
d5db230
%endif
d5db230
%configure --enable-openmp	\
d5db230
%if %{with_asl}
d5db230
	--with-asl-lib="-lasl -lmp -lipoptamplinterface -lbonminampl" \
d5db230
	--with-asl-incdir="%{_includedir}/asl"
d5db230
%endif
d5db230
76ae5a7
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
76ae5a7
# -Wl,--as-needed after all the libraries.
76ae5a7
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
76ae5a7
    -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
76ae5a7
    -e 's|CC="\(g..\)"|CC="\1 -Wl,--as-needed"|' \
76ae5a7
    -i libtool
76ae5a7
76ae5a7
%make_build all
76ae5a7
%make_build -C Dip doxydoc
76ae5a7
cd Dip/doc/guide
76ae5a7
pdflatex dippy
76ae5a7
bibtex dippy
76ae5a7
pdflatex dippy
76ae5a7
pdflatex dippy
76ae5a7
cd -
d5db230
d5db230
%install
76ae5a7
%make_install
d5db230
rm -f %{buildroot}%{_libdir}/*.la
76ae5a7
rm -f %{buildroot}%{_pkgdocdir}/{LICENSE,dip_addlibs.txt}
32622bf
install -m 644 AUTHORS README* %{buildroot}%{_pkgdocdir}
76ae5a7
install -m 644 Dip/doc/guide/dippy.pdf %{buildroot}%{_pkgdocdir}
76ae5a7
cp -a Dip/doxydoc/{html,*.tag} %{buildroot}%{_docdir}/%{name}
76ae5a7
d5db230
%check
d5db230
%if %{with_mpi}
d5db230
%_openmpi_load
d5db230
%endif
d5db230
LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test
d5db230
d5db230
%files
d5db230
%license LICENSE
76ae5a7
%dir %{_pkgdocdir}
76ae5a7
%{_pkgdocdir}/AUTHORS
76ae5a7
%{_pkgdocdir}/README*
d5db230
%{_bindir}/dip
d131178
%{_libdir}/libDecomp.so.0
d131178
%{_libdir}/libDecomp.so.0.*
d5db230
d5db230
%files		devel
d5db230
%{_includedir}/coin/*
76ae5a7
%{_libdir}/libDecomp.so
76ae5a7
%{_libdir}/pkgconfig/dip.pc
76ae5a7
76ae5a7
%files		doc
76ae5a7
%{_pkgdocdir}/html/
76ae5a7
%{_pkgdocdir}/dip_doxy.tag
76ae5a7
%{_pkgdocdir}/dippy.pdf
d5db230
d5db230
%changelog
e0e2d83
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.95.0-11
e0e2d83
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
e0e2d83
e748eb9
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.95.0-10
e748eb9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
e748eb9
ba5082c
* Mon Jan 30 2023 Florian Weimer <fweimer@redhat.com> - 0.95.0-9
ba5082c
- Port configure script to C99
ba5082c
38a3ea8
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.95.0-8
38a3ea8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
38a3ea8
53652d1
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.95.0-7
53652d1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
53652d1
67c00a1
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.95.0-6
67c00a1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
67c00a1
b4438f9
* Tue Sep 21 2021 Antonio Trande 
b4438f9
- Rebuilt for Ipopt-3.14.4
b4438f9
b9371d5
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.95.0-4
b9371d5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
b9371d5
d336645
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.95.0-3
d336645
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
d336645
81f8e38
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.95.0-2
81f8e38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
81f8e38
d131178
* Fri Feb 21 2020 Jerry James <loganjerry@gmail.com> - 0.95.0-1
d131178
- Version 0.95.0
d131178
4107504
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.4-3
4107504
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
4107504
df43034
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.4-2
df43034
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
df43034
76ae5a7
* Thu Jun 27 2019 Jerry James <loganjerry@gmail.com> - 0.92.4-1
76ae5a7
- Update to latest upstream release
76ae5a7
- Change URLs to github
76ae5a7
- Change License from EPL to EPL-1.0
76ae5a7
- Add -doc subpackage
76ae5a7
- Eliminate unnecessary BRs and Rs
76ae5a7
- Add -bib patch to fix guide build
76ae5a7
- Force libtool to not defeat -Wl,--as-needed
76ae5a7
- Be explicit about library versions as required by latest guidelines
76ae5a7
- Filter out unnecessary Libs values from pkgconfig files
76ae5a7
f97a6c6
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.2-9
f97a6c6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
f97a6c6
7fb26a9
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 0.92.2-8
7fb26a9
- Rebuild with fixed binutils
7fb26a9
f5812c5
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.2-7
f5812c5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
f5812c5
c8f0500
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.2-6
c8f0500
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
c8f0500
86fe976
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.2-5
86fe976
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
86fe976
ba3d746
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.2-4
ba3d746
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
ba3d746
669ef74
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.92.2-3
669ef74
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
669ef74
9399e94
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.92.2-2
9399e94
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
9399e94
eb1790b
* Tue Aug 02 2016 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.92.2-1
eb1790b
- Update to latest upstream release
eb1790b
32622bf
* Sun Mar 13 2016 Ralf Cors├ępius <corsepiu@fedoraproject.org> - 0.91.2-6
32622bf
- Install docs directly into %%{_pkgdocdir} (F24FTBFS, RHBZ#1307388).
32622bf
d620f1a
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.91.2-5
d620f1a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
d620f1a
ffc91e8
* Sat Jun 20 2015 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.91.2-4
ffc91e8
- Full rebuild of coin-or stack.
ffc91e8
f5d3a2e
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.91.2-3
f5d3a2e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
f5d3a2e
e13c364
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.91.2-2
e13c364
- Rebuilt for GCC 5 C++11 ABI change
e13c364
d5db230
* Mon Mar 23 2015 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.91.2-1
d5db230
- Update to latest upstream release.
d5db230
- Rediff patches (#894602#c10)
d5db230
- Use license macro (#894602#c10)
d5db230
d5db230
* Sat Feb 28 2015 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.91.1-1
d5db230
- Update to latest upstream release.
d5db230
d5db230
* Mon Apr 21 2014 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.9.9-2
d5db230
- Disable python subpackage, it should be packaged separately (#894602#c4).
d5db230
d5db230
* Sat Apr 19 2014 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.9.9-1
d5db230
- Update to latest upstream release.
d5db230
- Create new python subpackage.
d5db230
d5db230
* Fri Nov  1 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.9.4-1
d5db230
- Update to latest upstream release.
d5db230
d5db230
* Mon Jan 14 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.83.2-4
d5db230
- Update to run make check (#894610#c4).
d5db230
d5db230
* Sat Jan 12 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.83.2-3
d5db230
- Rename repackaged tarball.
d5db230
d5db230
* Sun Nov 18 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.83.2-2
d5db230
- Rename package to coin-or-Dip.
d5db230
- Do not package Thirdy party data or data without clean license.
d5db230
d5db230
* Sat Sep 29 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.83.2-1
d5db230
- Initial coinor-Dip spec.