207 lines
7.8 KiB
RPMSpec
207 lines
7.8 KiB
RPMSpec
Name: DSDP
|
|
Version: 5.8
|
|
Release: 27%{?dist}
|
|
Summary: Software for semidefinite programming
|
|
|
|
License: DSDP
|
|
URL: https://www.mcs.anl.gov/hs/software/DSDP/
|
|
Source0: https://www.mcs.anl.gov/hs/software/DSDP/%{name}%{version}.tar.gz
|
|
# Man pages written by Jerry James using text from the sources.
|
|
# Therefore, the man pages have the same copyright and license as the source.
|
|
Source1: DSDP-man.tar.xz
|
|
# A substitute makefile to fix the brokenness of the distributed Makefiles
|
|
Source2: DSDP.Makefile
|
|
# Fix a buffer overflow in one of the examples.
|
|
Patch0: %{name}-overflow.patch
|
|
# Fix -Wint-in-bool-context warnings.
|
|
Patch1: %{name}-int-in-bool-context.patch
|
|
# Fix big endian problems (patch courtesy of Debian)
|
|
Patch2: %{name}-type-mismatch.patch
|
|
|
|
BuildRequires: doxygen-latex
|
|
BuildRequires: gcc
|
|
BuildRequires: ghostscript-core
|
|
BuildRequires: make
|
|
BuildRequires: pkgconfig(flexiblas)
|
|
|
|
%description
|
|
DSDP is a free open source implementation of an interior-point method
|
|
for semidefinite programming. It provides primal and dual solutions,
|
|
exploits low-rank structure and sparsity in the data, and has relatively
|
|
low memory requirements for an interior-point method. It allows
|
|
feasible and infeasible starting points and provides approximate
|
|
certificates of infeasibility when no feasible solution exists. The
|
|
dual-scaling algorithm implemented in this package has a convergence
|
|
proof and worst-case polynomial complexity under mild assumptions on the
|
|
data. The software can be used as a set of subroutines, through Matlab,
|
|
or by reading and writing to data files. Furthermore, the solver offers
|
|
scalable parallel performance for large problems and a well documented
|
|
interface. Some of the most popular applications of semidefinite
|
|
programming and linear matrix inequalities (LMI) are model control,
|
|
truss topology design, and semidefinite relaxations of combinatorial and
|
|
global optimization problems.
|
|
|
|
%package devel
|
|
Summary: Headers and libraries for developing with DSDP
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
Provides: bundled(jquery)
|
|
|
|
%description devel
|
|
Headers and libraries for developing with DSDP.
|
|
|
|
%package examples
|
|
Summary: Example programs that use DSDP
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description examples
|
|
Examples programs that use the DSDP library.
|
|
|
|
%prep
|
|
%autosetup -p0 -n %{name}%{version}
|
|
%setup -q -n %{name}%{version} -T -D -a 1
|
|
|
|
sed -e "s|@RPM_OPT_FLAGS@|${RPM_OPT_FLAGS}|" \
|
|
-e "s|@RPM_LD_FLAGS@|${RPM_LD_FLAGS}|" \
|
|
-e "s|@libdir@|%{_libdir}|" \
|
|
-e "s|@version@|%{version}|" \
|
|
%{SOURCE2} > Makefile
|
|
|
|
%build
|
|
%make_build
|
|
cd docs
|
|
unzip DSDP5-api-html.zip
|
|
cd dox
|
|
rm -fr html images
|
|
doxygen
|
|
|
|
%install
|
|
# Install the library
|
|
mkdir -p $RPM_BUILD_ROOT%{_libdir}
|
|
install -p -m 0755 src/libdsdp.so.%{version} $RPM_BUILD_ROOT%{_libdir}
|
|
ln -s libdsdp.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libdsdp.so.5
|
|
ln -s libdsdp.so.5 $RPM_BUILD_ROOT%{_libdir}/libdsdp.so
|
|
|
|
# Install the header files
|
|
mkdir -p $RPM_BUILD_ROOT%{_includedir}
|
|
cp -a include $RPM_BUILD_ROOT%{_includedir}/DSDP
|
|
|
|
# Install the example programs with a dsdp- prefix, except for dsdp5
|
|
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
|
for f in maxcut theta stable color; do
|
|
install -p -m 0755 examples/$f $RPM_BUILD_ROOT%{_bindir}/dsdp-$f
|
|
done
|
|
install -p -m 0755 examples/dsdp5 $RPM_BUILD_ROOT%{_bindir}
|
|
|
|
# Install the man pages
|
|
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
|
|
cd man
|
|
for f in *.1; do
|
|
sed "s/@VERSION@/%{version}/" $f > $RPM_BUILD_ROOT%{_mandir}/man1/$f
|
|
done
|
|
|
|
%ldconfig_scriptlets
|
|
|
|
%files
|
|
%doc docs/DSDP5-Exe-UserGuide.pdf docs/DSDP5-P1289-0905.pdf
|
|
%license dsdp-license
|
|
%{_libdir}/libdsdp.so.*
|
|
|
|
%files devel
|
|
%doc docs/DSDP5-API-UserGuide.pdf docs/dox
|
|
%{_libdir}/libdsdp.so
|
|
%{_includedir}/DSDP
|
|
|
|
%files examples
|
|
%doc examples/Contents
|
|
%{_bindir}/*
|
|
%{_mandir}/man1/*
|
|
|
|
%changelog
|
|
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-27
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
* Fri Aug 07 2020 Iñaki Úcar <iucar@fedoraproject.org> - 5.8-26
|
|
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
|
|
|
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-25
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-24
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
* Mon Jan 27 2020 Jerry James <loganjerry@gmail.com> - 5.8-23
|
|
- Add -type-mismatch patch from Debian to fix big endian issues
|
|
|
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-22
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-21
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
* Tue Oct 2 2018 Jerry James <loganjerry@gmail.com> - 5.8-20
|
|
- Build with openblas instead of atlas (bz 1618936)
|
|
|
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-19
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-18
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-17
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-16
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-15
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-14
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
|
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-13
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
|
* Thu Feb 12 2015 Jerry James <loganjerry@gmail.com>
|
|
- Use license macro
|
|
- Note bundled jquery
|
|
|
|
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-11
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
|
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-10
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
|
|
* Tue Oct 8 2013 Jerry James <loganjerry@gmail.com> - 5.8-9
|
|
- Change project URL according to upstream's wishes
|
|
- Remove file URL and note project's orphan status upstream
|
|
|
|
* Sat Sep 21 2013 Jerry James <loganjerry@gmail.com> - 5.8-8
|
|
- Rebuild for atlas 3.10.1
|
|
|
|
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-7
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
|
|
|
* Wed Feb 13 2013 Jerry James <loganjerry@gmail.com> - 5.8-6
|
|
- Some of the examples now need to be linked with -lm
|
|
- Use RPM_LD_FLAGS when linking the library and examples
|
|
- Add ghostscript BR due to TeXLive 2012 changes
|
|
|
|
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-6
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
|
|
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-5
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
|
|
|
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
|
|
|
* Sat Jan 7 2012 Jerry James <loganjerry@gmail.com> - 5.8-3
|
|
- Rebuild for GCC 4.7
|
|
|
|
* Tue Jun 7 2011 Jerry James <loganjerry@gmail.com> - 5.8-2
|
|
- Ensure the libraries are installed with the execute bit on
|
|
- Name the license according to the response from Fedora-Legal
|
|
|
|
* Wed May 25 2011 Jerry James <loganjerry@gmail.com> - 5.8-1
|
|
- Initial RPM
|