adolc/adolc.spec

167 lines
5.7 KiB
RPMSpec
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# spec file for package adolc
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define packver 2.2.1
Name: adolc
%define lname libadolc1
Version: 2.2.1
Release: 0
Summary: Algorithmic Differentiation Library for C/C++
License: (GPL-2.0 or CPL-1.0) and LGPL-3.0
Group: Development/Libraries/C and C++
# see bnc#739158 for a discussion on the licensing issue
Url: http://projects.coin-or.org/ADOL-C
Source: %{name}-%{packver}.tar.bz2
Source1: ColPack-1.0.4.tar.bz2
Source2: baselibs.conf
Patch1: correct-no-return-in-non-void.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: libstdc++-devel
BuildRequires: libtool
# BuildRequires: texlive texlive-latex
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The package ADOL-C (Automatic Differentiation by OverLoading in C++)
facilitates the evaluation of first and higher derivatives of vector
functions that are defined by computer programs written in C or
C++. The resulting derivative evaluation routines may be called from
C/C++, Fortran, or any other language that can be linked with C.
The numerical values of derivative vectors are obtained free of
truncation errors at a small multiple of the run time and randomly
accessed memory of the given function evaluation program.
%package -n %lname
Summary: Algorithmic Differentiation Library for C/C++
Group: System/Libraries
%description -n %lname
The package ADOL-C (Automatic Differentiation by OverLoading in C++)
facilitates the evaluation of first and higher derivatives of vector
functions that are defined by computer programs written in C or
C++. The resulting derivative evaluation routines may be called from
C/C++, Fortran, or any other language that can be linked with C.
The numerical values of derivative vectors are obtained free of
truncation errors at a small multiple of the run time and randomly
accessed memory of the given function evaluation program.
%package devel
Summary: Algorithmic Differentiation Library for C/C++ -- development files
Group: Development/Libraries/C and C++
Requires: %lname = %{version}
%description devel
The package ADOL-C (Automatic Differentiation by OverLoading in C++)
facilitates the evaluation of first and higher derivatives of vector
functions that are defined by computer programs written in C or
C++. The resulting derivative evaluation routines may be called from
C/C++, Fortran, or any other language that can be linked with C.
The numerical values of derivative vectors are obtained free of
truncation errors at a small multiple of the run time and randomly
accessed memory of the given function evaluation program.
This package provides the development environment for adolc
%package doc
Summary: Algorithmic Differentiation Library for C/C++ -- documentation
Group: Documentation/Other
%if 0%{?suse_version} && %{suse_version} >= 1120
BuildArch: noarch
%endif
%description doc
The package ADOL-C (Automatic Differentiation by OverLoading in C++)
facilitates the evaluation of first and higher derivatives of vector
functions that are defined by computer programs written in C or
C++. The resulting derivative evaluation routines may be called from
C/C++, Fortran, or any other language that can be linked with C.
The numerical values of derivative vectors are obtained free of
truncation errors at a small multiple of the run time and randomly
accessed memory of the given function evaluation program.
This package provides the user´s manual for adolc
%prep
%setup -q -n %{name}-%{packver} -b 1
pushd ThirdParty
mv %{_builddir}/ColPack/* ColPack/
rm -rf %{_builddir}/ColPack
pushd ColPack
%patch1 -p1
popd
popd
%build
pushd ThirdParty/ColPack
make %{_smp_mflags} EXTRA_FLAGS="$RPM_OPT_FLAGS" \
CXXFLAGS+="$RPM_OPT_FLAGS" \
CC_COMPILER="%__cxx" \
CC_LINKER="%__cxx" \
CXX="%__cxx"
popd
autoreconf -v --install --force
%configure --prefix=/usr
make %{_smp_mflags}
# pushd ADOL-C/doc
# for ((i=0; i < 3; i++)); do
# pdflatex adolc-manual.tex &>/dev/null
# done
%install
%makeinstall
install -d %{buildroot}%{_datadir}/doc/packages/%{name}
install -m 644 README AUTHORS BUGS LICENSE TODO %{buildroot}%{_datadir}/doc/packages/%{name}
install -m 644 ADOL-C/doc/adolc-manual.pdf %{buildroot}%{_datadir}/doc/packages/%{name}
install -m 644 ADOL-C/doc/short_ref.pdf %{buildroot}%{_datadir}/doc/packages/%{name}
find "%buildroot" -type f -name "*.la" -delete;
find "%buildroot" -type f -name "*.a" -delete;
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files -n %lname
%defattr(-,root,root)
%{_libdir}/libadolc.so.*
%files devel
%defattr(-,root,root)
%dir %{_includedir}/adolc
%dir %{_includedir}/adolc/drivers
%dir %{_includedir}/adolc/sparse
%dir %{_includedir}/adolc/tapedoc
%{_includedir}/adolc/*.h
%{_includedir}/adolc/drivers/*.h
%{_includedir}/adolc/sparse/*.h
%{_includedir}/adolc/tapedoc/*.h
%{_libdir}/libadolc.so
%files doc
%defattr(-,root,root)
%dir %{_datadir}/doc/packages/%{name}
%{_datadir}/doc/packages/%{name}/*
%changelog