Advamce to cppad-20190200.

This commit is contained in:
Brad Bell 2019-02-01 05:27:55 -07:00
commit c43b41e1cb
3 changed files with 67 additions and 45 deletions

View file

@ -1,21 +1,25 @@
# vim: set expandtab:
# ----------------------------------------------------------------------------
# Lint
# ----------------------------------------------------------------------------
# The comamnd 'fedpkg lint' generates the warning:
#
# cppad.spec:89: W: rpm-buildroot-usage
# cppad.spec:99: W: rpm-buildroot-usage
# %%prep includedir=%%{buildroot}%%{_includedir}
#
# See https://lists.fedoraproject.org/pipermail/devel/2011-January/147969.html
# ----------------------------------------------------------------------------
# Preamble
# ----------------------------------------------------------------------------
# CppAD release number starts with zero and last part of version number.
# yyyy is year, mm is month, dd is day, corresponding to this version
# The $${version} includes a bug fix number at end that starts at zero.
%define yyyymmdd 20190200
# Fedora Release starts with 1; see
# https://fedoraproject.org/wiki/Packaging:Versioning
Name: cppad
Version: 20180000.0
Release: 4%{?dist}
Version: %{yyyymmdd}.0
Release: 1%{?dist}
Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc
# As of yet, there are no object libraries or executables included in this
@ -27,9 +31,13 @@ Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc
# change (see mention of cppad_lib below).
%global debug_package %{nil}
License: GPLv3
URL: http://www.coin-or.org/CppAD/
Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz
# Note that the upstream sources have been named the same as thier directories;
# CppAD-%%{version} and CppAD-%%{yyyymmdd}.doc
License: EPL2.0 or (GPL2 or later)
URL: http://coin-or.github.io/CppAD
Source: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz
Source1: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: cmake >= 2.8
@ -62,32 +70,35 @@ Summary: Documentation for %{name}-devel
BuildArch: noarch
%description doc
The %{name}-doc package installs the XML documentation for %{name}-devel in
The %{name}-doc package installs the HTML documentation for this version
of %{name}-devel in
%{_docdir}/%{name}
Links to an HTML version of the %{name} documentation, for the most recent
version of %{name}, can be found at the web site
http://www.coin-or.org/CppAD/
In addition, printable versions of the documentation,
as a single web page, in both HTML and XML, can be found at that web site.
The documentation, for the most recent version of %{name}, can be found at
http://coin-or.github.io/CppAD
# -----------------------------------------------------------------------------
# prep
# -----------------------------------------------------------------------------
%prep
%setup -q
# 1. Replace cppad_SOURCE_DIR by the system include directory so that
# installed files, instead of local files, are used for testing.
# 2. EPEL7 is using cmake 2.8 so change required version and reply on all
# the tests passing for correctness of this change.
#
includedir=%{buildroot}%{_includedir}
sed \
-e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \
-e "s|\(CMAKE_MINIMUM_REQUIRED\)(VERSION 3.1)|\1(VERSION 2.8)|" \
-i.bak CMakeLists.txt
# The source code tarball
rm -rf CppAD-%{version}
tar -xzf %{_topdir}/SOURCES/CppAD-%{version}.tar.gz
#
# The documentation tarball
rm -rf CppAD-%{yyyymmdd}.doc
tar -xzf %{_topdir}/SOURCES/CppAD-%{yyyymmdd}.doc.tar.gz
#
# move the documentaion to this build directory
mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc
mv CppAD-%{version}/COPYING COPYING
mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html
# Replace cppad_SOURCE_DIR by the system include directory so that
# installed files, instead of local files, are used for testing.
includedir=%{buildroot}%{_includedir}
sed -e "s|\${cppad_SOURCE_DIR}/include|SYSTEM $includedir|" \
-i.bak CppAD-%{version}/CMakeLists.txt
# -----------------------------------------------------------------------------
# build
# -----------------------------------------------------------------------------
@ -102,31 +113,31 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion'
%cmake --version
%cmake \
-D CMAKE_VERBOSE_MAKEFILE=0 \
-G 'Unix Makefiles' \
-G 'Unix Makefiles' \
\
-D cppad_prefix=%{_prefix} \
-D cppad_postfix='' \
-D cppad_postfix='' \
-D cmake_install_includedirs=include \
-D cmake_install_libdirs=lib \
-D cmake_install_libdirs=%{_lib} \
-D cmake_install_datadir=share \
-D cmake_install_docdir=share/doc \
\
-D adolc_prefix='' \
-D colpack_prefix='' \
-D eigen_prefix='' \
-D fadbad_prefix='' \
-D ipopt_prefix='' \
-D sacado_prefix='' \
\
-D adolc_prefix='' \
-D colpack_prefix='' \
-D eigen_prefix='' \
-D fadbad_prefix='' \
-D ipopt_prefix='' \
-D sacado_prefix='' \
\
-D cppad_cxx_flags="$cppad_cxx_flags" \
-D cppad_profile_flag='' \
\
-D cppad_profile_flag='' \
\
-D cppad_test_vector=cppad \
-D cppad_max_num_theads=64 \
-D cppad_tape_id_type=size_t \
-D cppad_tape_addr_type=size_t \
-D cppad_deprecated=NO \
.
CppAD-%{version}
make %{?_smp_mflags}
# -----------------------------------------------------------------------------
@ -136,11 +147,11 @@ make %{?_smp_mflags}
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
%files devel
%doc COPYING uw_copy_040507.html
%{_includedir}/%{name}
%{_datadir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/%{name}.pc
%files doc
%{_docdir}/%{name}
@ -154,6 +165,14 @@ make check
# ----------------------------------------------------------------------------
%changelog
* Fri Feb 01 2019 Brad Bell <bradbell at seanet dot com> - 20190200.0-1
- Advance to version 2019 of cppad (actually 2019-02).
- Home page and sources have moved to github.
- Documentation is now a separate source tarball.
- Copyright changed from GPL3 -> EPL2 with GPL2 or later option.
- Change tabs to spaces and add 'vim: setexpandtab' command at top.
- Install pkgconfig files in both data and lib directories.
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20180000.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild