57a046c
Name:           DSDP
57a046c
Version:        5.8
1c801cf
Release:        36%{?dist}
57a046c
Summary:        Software for semidefinite programming
57a046c
30193fb
# The content is DSDP.  The remaining licenses cover the various fonts embedded
30193fb
# in PDFs.
30193fb
# AMS: OFL-1.1-RFN
cc1a1de
# CM: Knuth-CTAN
cc1a1de
License:        DSDP AND OFL-1.1-RFN AND Knuth-CTAN
fbb99a7
URL:            https://www.mcs.anl.gov/hs/software/DSDP/
fbb99a7
Source0:        https://www.mcs.anl.gov/hs/software/DSDP/%{name}%{version}.tar.gz
57a046c
# Man pages written by Jerry James using text from the sources.
57a046c
# Therefore, the man pages have the same copyright and license as the source.
57a046c
Source1:        DSDP-man.tar.xz
57a046c
# A substitute makefile to fix the brokenness of the distributed Makefiles
57a046c
Source2:        DSDP.Makefile
fbb99a7
# Fix a buffer overflow in one of the examples.
fbb99a7
Patch0:         %{name}-overflow.patch
fbb99a7
# Fix -Wint-in-bool-context warnings.
fbb99a7
Patch1:         %{name}-int-in-bool-context.patch
b37c54a
# Fix big endian problems (patch courtesy of Debian)
b37c54a
Patch2:         %{name}-type-mismatch.patch
57a046c
10aef7f
BuildRequires:  doxygen-latex
10aef7f
BuildRequires:  gcc
077f86c
BuildRequires:  ghostscript
c4c79f6
BuildRequires:  make
17503b8
BuildRequires:  pkgconfig(flexiblas)
57a046c
57a046c
%description
57a046c
DSDP is a free open source implementation of an interior-point method
57a046c
for semidefinite programming.  It provides primal and dual solutions,
57a046c
exploits low-rank structure and sparsity in the data, and has relatively
57a046c
low memory requirements for an interior-point method.  It allows
57a046c
feasible and infeasible starting points and provides approximate
57a046c
certificates of infeasibility when no feasible solution exists.  The
57a046c
dual-scaling algorithm implemented in this package has a convergence
57a046c
proof and worst-case polynomial complexity under mild assumptions on the
57a046c
data.  The software can be used as a set of subroutines, through Matlab,
57a046c
or by reading and writing to data files.  Furthermore, the solver offers
57a046c
scalable parallel performance for large problems and a well documented
57a046c
interface.  Some of the most popular applications of semidefinite
57a046c
programming and linear matrix inequalities (LMI) are model control,
57a046c
truss topology design, and semidefinite relaxations of combinatorial and
57a046c
global optimization problems. 
57a046c
57a046c
%package devel
30193fb
# The content is DSDP.  The remaining licenses cover the various fonts embedded
30193fb
# in PDFs.
30193fb
# AMS: OFL-1.1-RFN
cc1a1de
# CM: Knuth-CTAN
cc1a1de
License:        DSDP AND OFL-1.1-RFN AND Knuth-CTAN
57a046c
Summary:        Headers and libraries for developing with DSDP
57a046c
Requires:       %{name}%{?_isa} = %{version}-%{release}
30193fb
Provides:       bundled(js-jquery)
57a046c
57a046c
%description devel
57a046c
Headers and libraries for developing with DSDP.
57a046c
57a046c
%package examples
30193fb
License:        DSDP
57a046c
Summary:        Example programs that use DSDP
57a046c
Requires:       %{name}%{?_isa} = %{version}-%{release}
57a046c
57a046c
%description examples
57a046c
Examples programs that use the DSDP library.
57a046c
57a046c
%prep
30193fb
%autosetup -p0 -n %{name}%{version} -a 1
57a046c
30193fb
sed -e 's|@RPM_OPT_FLAGS@|%{build_cflags}|' \
30193fb
    -e 's|@RPM_LD_FLAGS@|%{build_ldflags}|' \
30193fb
    -e 's|@libdir@|%{_libdir}|' \
30193fb
    -e 's|@version@|%{version}|' \
57a046c
    %{SOURCE2} > Makefile
57a046c
57a046c
%build
fbb99a7
%make_build
57a046c
cd docs
57a046c
unzip DSDP5-api-html.zip
57a046c
cd dox
57a046c
rm -fr html images
57a046c
doxygen
57a046c
57a046c
%install
57a046c
# Install the library
57a046c
mkdir -p $RPM_BUILD_ROOT%{_libdir}
57a046c
install -p -m 0755 src/libdsdp.so.%{version} $RPM_BUILD_ROOT%{_libdir}
57a046c
ln -s libdsdp.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libdsdp.so.5
57a046c
ln -s libdsdp.so.5 $RPM_BUILD_ROOT%{_libdir}/libdsdp.so
57a046c
57a046c
# Install the header files
57a046c
mkdir -p $RPM_BUILD_ROOT%{_includedir}
57a046c
cp -a include $RPM_BUILD_ROOT%{_includedir}/DSDP
57a046c
57a046c
# Install the example programs with a dsdp- prefix, except for dsdp5
57a046c
mkdir -p $RPM_BUILD_ROOT%{_bindir}
57a046c
for f in maxcut theta stable color; do
57a046c
  install -p -m 0755 examples/$f $RPM_BUILD_ROOT%{_bindir}/dsdp-$f
57a046c
done
57a046c
install -p -m 0755 examples/dsdp5 $RPM_BUILD_ROOT%{_bindir}
57a046c
57a046c
# Install the man pages
57a046c
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
57a046c
cd man
57a046c
for f in *.1; do
57a046c
  sed "s/@VERSION@/%{version}/" $f > $RPM_BUILD_ROOT%{_mandir}/man1/$f
57a046c
done
57a046c
57a046c
%files
Jerry James 38280f8
%doc docs/DSDP5-Exe-UserGuide.pdf docs/DSDP5-P1289-0905.pdf
Jerry James 38280f8
%license dsdp-license
30193fb
%{_libdir}/libdsdp.so.5*
57a046c
57a046c
%files devel
57a046c
%doc docs/DSDP5-API-UserGuide.pdf docs/dox
57a046c
%{_libdir}/libdsdp.so
57a046c
%{_includedir}/DSDP
57a046c
57a046c
%files examples
57a046c
%doc examples/Contents
30193fb
%{_bindir}/dsdp*
30193fb
%{_mandir}/man1/dsdp*
57a046c
57a046c
%changelog
1c801cf
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-36
1c801cf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
1c801cf
5ab855a
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-35
5ab855a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
5ab855a
f89b40c
* Thu Jan 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-34
f89b40c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
f89b40c
2a413cd
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-33
2a413cd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
2a413cd
7a9ae85
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-32
7a9ae85
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
7a9ae85
30193fb
* Wed Nov 23 2022 Jerry James <loganjerry@gmail.com> - 5.8-31
30193fb
- Add SPDX License identifiers for PDF documentation
30193fb
- Minor spec file cleanups
30193fb
8c1658a
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-31
8c1658a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
8c1658a
b0b0b0c
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-30
b0b0b0c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
b0b0b0c
0066f98
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-29
0066f98
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
0066f98
077f86c
* Thu Jun  3 2021 Jerry James <loganjerry@gmail.com> - 5.8-28
077f86c
- Change ghostscript-core BR to ghostscript
077f86c
e49b016
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-27
e49b016
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
e49b016
17503b8
* Fri Aug 07 2020 Iñaki Úcar <iucar@fedoraproject.org> - 5.8-26
17503b8
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
17503b8
770eb89
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-25
770eb89
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
770eb89
c7911aa
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-24
c7911aa
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
c7911aa
b37c54a
* Mon Jan 27 2020 Jerry James <loganjerry@gmail.com> - 5.8-23
b37c54a
- Add -type-mismatch patch from Debian to fix big endian issues
b37c54a
67d85e0
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-22
67d85e0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
67d85e0
b9eef53
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-21
b9eef53
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
b9eef53
6920d73
* Tue Oct  2 2018 Jerry James <loganjerry@gmail.com> - 5.8-20
6920d73
- Build with openblas instead of atlas (bz 1618936)
6920d73
39124de
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-19
39124de
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
39124de
df1a811
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-18
df1a811
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
df1a811
8d833a6
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-17
8d833a6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
8d833a6
ebf0d10
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-16
ebf0d10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
ebf0d10
e3d1256
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-15
e3d1256
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
e3d1256
150e269
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-14
150e269
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
150e269
5d17eb7
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-13
5d17eb7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
5d17eb7
Jerry James 38280f8
* Thu Feb 12 2015 Jerry James <loganjerry@gmail.com>
Jerry James 38280f8
- Use license macro
Jerry James 38280f8
- Note bundled jquery
Jerry James 38280f8
5c41717
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-11
5c41717
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
5c41717
137227a
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-10
137227a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
137227a
Jerry James a2149c8
* Tue Oct  8 2013 Jerry James <loganjerry@gmail.com> - 5.8-9
Jerry James a2149c8
- Change project URL according to upstream's wishes
Jerry James a2149c8
- Remove file URL and note project's orphan status upstream
Jerry James a2149c8
36357cb
* Sat Sep 21 2013 Jerry James <loganjerry@gmail.com> - 5.8-8
36357cb
- Rebuild for atlas 3.10.1
36357cb
0be3d92
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-7
0be3d92
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
0be3d92
Jerry James 69e13b8
* Wed Feb 13 2013 Jerry James <loganjerry@gmail.com> - 5.8-6
Jerry James 69e13b8
- Some of the examples now need to be linked with -lm
Jerry James 69e13b8
- Use RPM_LD_FLAGS when linking the library and examples
Jerry James 69e13b8
- Add ghostscript BR due to TeXLive 2012 changes
Jerry James 69e13b8
292ccd0
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-6
292ccd0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
292ccd0
1767a38
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-5
1767a38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
1767a38
059ec3e
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-4
059ec3e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
059ec3e
5f410c6
* Sat Jan  7 2012 Jerry James <loganjerry@gmail.com> - 5.8-3
5f410c6
- Rebuild for GCC 4.7
5f410c6
57a046c
* Tue Jun  7 2011 Jerry James <loganjerry@gmail.com> - 5.8-2
57a046c
- Ensure the libraries are installed with the execute bit on
57a046c
- Name the license according to the response from Fedora-Legal
57a046c
57a046c
* Wed May 25 2011 Jerry James <loganjerry@gmail.com> - 5.8-1
57a046c
- Initial RPM