Compare commits

..

86 commits

Author SHA1 Message Date
Brad Bell
99bb8e0a89 Advance upstream source to cppad-20260000.0 2026-01-05 06:17:01 -07:00
Fedora Release Engineering
4cf6d76975 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 18:45:15 +00:00
Brad Bell
9da37763cc python-toml not avaialble in epel10: xrst-python changed to python-tomli 2025-02-05 03:02:10 -07:00
Brad Bell
21f1afc53f Use g++ get_started.cpp to test the installed version of CppAD. 2025-01-19 08:41:01 -07:00
Brad Bell
504ed13acb Remove doc subpackage and fix soversion number. 2025-01-19 04:52:58 -07:00
Brad Bell
d104a975a7 Fix two bugs (should not be necessary one version > 20250000.0). 2025-01-18 04:15:34 -07:00
Fedora Release Engineering
6b512b1291 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 14:42:43 +00:00
Brad Bell
7f98c63ceb advance to cppad-20250000.0 2025-01-14 19:11:25 -07:00
Fedora Release Engineering
177515840f Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 20:05:43 +00:00
Brad Bell
b320dde8bb Use prep to make patch for 20240000.3 -> 20240000.4 bug fix. 2024-03-01 09:10:08 -07:00
Brad Bell
67c31e81d8 fix changelog comment: 02-04 -> 02-14. 2024-02-20 04:52:08 -07:00
Brad Bell
1c080e4531 fedpkg new-sources for cppad-20240000.3. 2024-02-17 05:04:50 -07:00
Brad Bell
7ca8fb4ebe Advance upstream source 20240000.3 (fixes bug). 2024-02-17 04:51:11 -07:00
Fedora Release Engineering
704b9e3166 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 08:15:09 +00:00
Fedora Release Engineering
349a370790 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 16:16:10 +00:00
Brad Bell
a90ee42b56 Advance to CppAD-20240000.2 2024-01-17 12:12:35 -07:00
Brad Bell
592496bf4b Fix some errors on 32 bit systems. Improve parallel build. 2024-01-09 19:00:38 -07:00
Brad Bell
b32c596bc6 fix build on Host: buildvm-x86-16.iad2.fedoraproject.org 2024-01-08 06:24:50 -07:00
Brad Bell
a430fe7711 Advance upstream source to cppad-20240000.0 2024-01-06 06:40:19 -07:00
Brad Bell
70636f182a Advance to cppad-20230000.3 2023-12-25 05:57:52 -07:00
Brad Bell
d346fa2aa7 migrate to SPDX license, discuss fedpkg lint W: no-documentation. 2023-12-25 05:53:09 -07:00
Fedora Release Engineering
4beb0ab48e Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 16:28:52 +00:00
Brad Bell
56fc54b2ea Move libcppad_lib.so to main package; see changelog for more details. 2023-01-29 03:15:14 -07:00
Brad Bell
1cdfcfdf4d 1. Remove .doctrees and .buildinfo from documentation.
2. Remove extra changelog command.
2023-01-28 20:01:33 -07:00
Brad Bell
36a05d352a fedpkg new-sources: advance to cppad 2023. 2023-01-28 15:40:53 -07:00
Brad Bell
4d089c0432 Advance to upstream source 2023000.0; see changelog for more details. 2023-01-28 15:22:23 -07:00
Fedora Release Engineering
38beed4697 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 00:35:03 +00:00
Fedora Release Engineering
d14466b71f Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 23:39:37 +00:00
Brad Bell
1defac31d6 Advance to upstream source 20220000.4. 2022-05-22 06:41:30 -07:00
Brad Bell
241ba30dad Add comment about upstream 20220000.2 2022-02-14 04:19:55 -07:00
Brad Bell
ba8fd07378 Try commenting out long double test of to_string on ppc64le arch. 2022-02-02 06:05:21 -07:00
Brad Bell
f150a34644 Another attempt to get ppc64le to pass to_string test. 2022-02-01 19:19:59 -07:00
Brad Bell
a39dc91065 Restricting build to ppc64le did not work. 2022-02-01 06:29:13 -07:00
Brad Bell
eb15127798 Restrict debugging to ppc64le (no need to waste time on other arch). 2022-02-01 06:27:43 -07:00
Brad Bell
e586257ca0 Trying to understand machine epsilon in to_string.cpp test on ppc64le arch. 2022-02-01 06:16:04 -07:00
Brad Bell
b7bf3ae164 Add simple program that prints machine epsilon before testing. 2022-02-01 04:53:26 -07:00
Brad Bell
1ec5742898 Print more informtion to help debug to_string failure on ppc64le arch. 2022-02-01 03:25:21 -07:00
Brad Bell
eb00ce3fab Include debugging printout in patch to example/utility/to_string.cpp. 2022-01-31 16:49:04 -07:00
Brad Bell
3ba78cfdce Patch to_string.cpp to fix bug found using -fsanitize=undefined' complier flag 2022-01-31 08:49:55 -07:00
Brad Bell
1f5281417e Termorary change to debugging version of example/utility/to_string.cpp. 2022-01-31 07:07:20 -07:00
Brad Bell
db2c52179f Fix two long standing typos in spec file cmake command. 2022-01-31 06:03:48 -07:00
Brad Bell
dc5cb5d824 .gitignore: change temporary files from junk -> temp. 2022-01-24 05:06:03 -07:00
Brad Bell
fa9f210a68 1. Advance to cppad-20220000.1
2. Suppress incorrect array bounds warning.
2022-01-24 05:01:51 -07:00
Fedora Release Engineering
c3dadec47e - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 23:54:47 +00:00
Brad Bell
a3664d10d7 Advance upstream source to cppad-20210000.7. 2021-08-02 14:43:09 -04:00
Fedora Release Engineering
6b0d9e2852 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 20:03:50 +00:00
Fedora Release Engineering
c21a7ccc70 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 15:08:36 +00:00
Brad Bell
0e0c6a0073 Use %setup to unpack tarballs. 2021-03-07 11:50:28 -07:00
Brad Bell
c1de1c8d02 Change: Source1, Source2 -> Source0, Source1.
Change: make %{?_smp_mflags} -> %make_build
Change: make install DESTDIR=%{buildroot} -> %make_install.
2021-02-28 06:26:06 -07:00
Brad Bell
f92caad6c7 White space edit (line up column). 2021-02-28 05:06:29 -07:00
Brad Bell
db77cfc1fa Advamce to upstream source 20210000.5 2021-02-28 04:52:52 -07:00
Brad Bell
6e5d8bcb1b Advance upstream source to 20210000.5 2021-02-28 04:25:58 -07:00
Brad Bell
e41fd191ef Patch correspoding to upstream source 20210000.5.
This patched to the optimizers implementation of atomic functions and
needed to the same change for several different atomic function operators.
2021-02-19 03:14:35 -07:00
Brad Bell
e961e6c8c5 Advance release number 20210000.3-1 -> 20210000.3-2. 2021-02-02 17:15:38 -07:00
Brad Bell
e8a7849df8 Patch 20210000.3 with bug fixes in upstream 20210000.4 2021-02-02 17:12:16 -07:00
Brad Bell
e062f84611 Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/cppad 2021-01-26 04:19:19 -07:00
Brad Bell
cadca5c997 Advance upstream source to version 20210000.3 2021-01-26 04:07:03 -07:00
Fedora Release Engineering
928b71198d - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 02:37:40 +00:00
Brad Bell
c5df4e01ba Correct date in last changelog entry. 2020-12-27 15:45:20 -07:00
Brad Bell
b1313d5ead Enable debuginof and parallel make check. 2020-12-27 04:27:44 -07:00
Tom Stellard
97d1821d7f Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2020-12-17 03:56:36 +00:00
Brad Bell
9ce138021d 1. Starting with f33, need to specify build in source directory.
2. Change soversion number so modified version display durning cmake command
2020-08-01 06:19:00 -07:00
Fedora Release Engineering
9ea88dbfce - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 00:28:32 +00:00
Fedora Release Engineering
545eb0b7d3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 14:39:01 +00:00
Fedora Release Engineering
f6bb87add4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 14:54:32 +00:00
Brad Bell
ecccc57434 Advance release number. 2020-01-24 06:10:30 -07:00
Brad Bell
57d3b6d5ec Add patches corresponding to upstream from 2020000.1 -> 20200000.2 2020-01-24 06:08:06 -07:00
Brad Bell
82bd2cc17c master: advance upstream to 20200000.0 2020-01-02 13:25:14 -07:00
Brad Bell
e78aec6d9b Use a sed edit of the 20190200.4 source to obain 20190200.5 bug fix. 2019-09-19 03:56:42 -07:00
Brad Bell
034dc75cfe fix day of week in most recent changelog entry 2019-08-06 19:22:05 -07:00
Brad Bell
ec9c934fec Bug fix by advancing to upstream source 20190200.4 2019-08-06 18:24:42 -07:00
Fedora Release Engineering
633a040296 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-24 21:06:11 +00:00
Brad Bell
8d104743f1 fix license and add comment about fedpkg lint license error 2019-05-29 20:13:07 -07:00
Brad Bell
44e0c244df fix bug corresponding to ustream release 20190200.3 2019-05-29 19:42:03 -07:00
Brad Bell
42b83f5599 advance release for new version of 20190200/doc.tar.gz 2019-02-01 20:56:47 -07:00
Brad Bell
2c8cecccf4 upload changes for fixing bug in omhelp 2019-02-01 20:51:46 -07:00
Brad Bell
1220f6aa56 1. Change name of sources to be exactly the same as on github.
2. improve comments in cppad.spec.
2019-02-01 07:45:52 -07:00
Brad Bell
c43b41e1cb Advamce to cppad-20190200. 2019-02-01 05:27:55 -07:00
Fedora Release Engineering
ae6449c62d - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 16:21:07 +00:00
Igor Gnatenko
2036d38693 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:23:58 +01:00
Fedora Release Engineering
67d6fe1d7e - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-12 22:17:57 +00:00
Jason Tibbitts
a1dfb2b9df Remove needless use of %defattr 2018-07-10 00:33:41 -05:00
Igor Gnatenko
7861386515 add BuildRequires: gcc-c++,gcc
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2018-07-09 19:06:43 +02:00
Igor Gnatenko
820506e706 Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-13 23:10:25 +01:00
Fedora Release Engineering
dc5b085de5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 05:49:48 +00:00
Brad Bell
445301159a epel7 branch: fix spec file so works with epel7.
cppad.spec: changes indicated by testing 2018 for other branches.
.gitignore: correct 2018 directory, remove 2017 files and directories.
2018-01-02 10:41:27 -07:00
4 changed files with 438 additions and 117 deletions

18
.gitignore vendored
View file

@ -5,14 +5,16 @@
# ignore log files created by fedpkg local
/*.log
# temporary files
/junk
/junk.*
/temp
/temp.*
# ignore result drectory created by fedpkg mockbuild
/results_cppad/
# directories used like git cache
/new/
/new.*/
# ---------------------------------------------------------------------------
# Should only need to ignore cppad-yyyy0000.rel.gpl.tgz and cppad-yyyy0000.rel
# for current year yyyy and current CppAD bug release rel.
/cppad-20170000.4.gpl.tgz
/cppad-20170000.4/
/cppad-20180000.0.gpl.tgz
/cppad-20180000/
#
# Most recent upstrem source
/CppAD-20240000.3.tar.gz
/CppAD-20250000.0.tar.gz
/CppAD-20260000.0.tar.gz

View file

@ -1,51 +1,59 @@
# vim: set expandtab:
# ----------------------------------------------------------------------------
# The comamnd 'fedpkg lint' generates the warning:
#
# cppad.spec:89: W: rpm-buildroot-usage
# %%prep includedir=%%{buildroot}%%{_includedir}
#
# See https://lists.fedoraproject.org/pipermail/devel/2011-January/147969.html
# Preamble
# ----------------------------------------------------------------------------
# The command 'fedpkg lint' generates the warning:
# fedpkg lint: W: no-documentation
# The %%doc directive below installs COPYING and uw_copy_040507.html
# as part of the main package, so this warning should not be generated; see
# https://fedoraproject.org/wiki/Common_Rpmlint_issues#no-documentation
# 'This would be rare as most packages should have some license text,
# a changelog or other information that is better placed in the main package
# instead of a -doc subpackage.'
#
# W: spelling-error Summary(en_US) devel -> delve, devil, revel
# W: spelling-error %%description -l en_US devel -> delve, devil, revel
# year
# The year corresponding to this version
%define year 2026
#
# The only occurances of devel in this file are of the form cppad-devel.
# These refer to the corresponding subpackage and are not spelling errors.
# soversion
# fedora uses its own soversion number for cppad_lib where
# 1.0 corresponds to year 2020
%define soversion %[ %year - 2019 ]
#
# This is really an out of soruce build because the source is in the
# CppAD-%%{version} sub-directory of the source. The fedora macros are
# confused and need this defined true.
%define __cmake_in_source_build 1
# ----------------------------------------------------------------------------
# CppAD release number starts with zero and last part of version number.
# Fedora Release starts with 1; see
# https://fedoraproject.org/wiki/Packaging:Versioning
Name: cppad
Version: 20180000.0
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/
Name: cppad
Version: %{year}0000.0
Release: 1%{?dist}
Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc
#
License: EPL-2.0 OR GPL-2.0-or-later
URL: https://github.com/coin-or/CppAD
Source: %{url}/archive/%{version}/CppAD-%{version}.tar.gz
#
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: cmake >= 3.10
BuildRequires: make
BuildRequires: python-xrst >= 2025.0
BuildRequires: python-sphinx_rtd_theme
BuildRequires: python-tomli
BuildRequires: python-sphinx-copybutton
BuildRequires: python-pyspellchecker
BuildRequires: python-furo
# As of yet, there are no object libraries or executables included in this
# package. However, the results of the cmake command depend on the architecture
# so we do not include 'BuildArch: noarch' in this spec file.
# The user can compile with or without debugging so there is nothing useful in
# *debuginfo. If status of cppad_lib changes (and it gets installed), this may
# change (see mention of cppad_lib below).
%global debug_package %{nil}
Group: Development/Libraries
License: GPLv3
URL: http://www.coin-or.org/CppAD/
Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: cmake >= 2.8
%description
C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc.
C++ Algorithmic Differentiation (AD) include and library files.
# ---------------------------------------------------------------------------
%package devel
Summary: The %{name} C++ include files for Algorithmic Differentiation (AD)
Group: Development/Libraries
Provides: %{name} = %{version}-%{release}
# Requested by bug report
# https://bugzilla.redhat.com/show_bug.cgi?id=1197488
@ -60,107 +68,402 @@ Given a C++ algorithm that computes function values, %{name} generates an
algorithm that computes its derivative values. A brief introduction to
Algorithmic Differentiation (AD) can be found at
http://en.wikipedia.org/wiki/Automatic_differentiation
See the package %{name}-doc for documentation of this version of %{name}.
# ----------------------------------------------------------------------------
%package doc
Summary: Documentation for %{name}-devel
Group: Documentation
BuildArch: noarch
%description doc
The %{name}-doc package installs the XML documentation for %{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.
# ----------------------------------------------------------------------------
%clean
# Cleanup build root at the beginning in case mock has
# cleanup_on_failure set to zero.
rm -rf %{buildroot}
The documentation for the %{year} version
https://cppad.readthedocs.io/stable-%{year}
The documentation for the most recent version of %{name} can be found at
https://cppad.readthedocs.io/latest
# -----------------------------------------------------------------------------
# prep
# -----------------------------------------------------------------------------
%prep
%setup -q
# 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|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \
-i.bak CMakeLists.txt
# It seems that it is no longer necessary to remove ${cppad_lib} from
# CMakeLists.txt files. If this works out, remove this comment next year 2019.
# Create an empty directory named cppad-%%{version},
# changed into that directory and unpack Source.
%setup -q -c
#
# xrst.toml
# This is not a git repository so suppress the warning that could not double
# check that all the files with xrst commands were included.
echo '' >> CppAD-%{version}/xrst.toml
echo '[input_files]' >> CppAD-%{version}/xrst.toml
echo 'data = [ ]' >> CppAD-%{version}/xrst.toml
#
# COPYING, uw_copy_040507.html
cp CppAD-%{version}/COPYING COPYING
cp CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html
#
# cppad_lib/CMakeLists.txt
# cppad_lib: replace soversion number and ensure build type is release
sed -i.bak CppAD-%{version}/cppad_lib/CMakeLists.txt \
-e "s|print_variable(soversion)|SET(soversion %{soversion} )\n&|" \
-e "s|\${cppad_debug_which}|debug_none|"
#
# Print machine epsilon before any other testing
cat << EOF > temp.cpp
# include <iostream>
# include <limits>
template <class Float> void print_epsilon(const char* type_name)
{ Float epsilon = std::numeric_limits<Float>::epsilon();
std::cout << type_name << " epsilon = " << epsilon << "\n";
}
int main(void)
{ print_epsilon<float>("float");
print_epsilon<double>("double");
print_epsilon<long double>("long double");
return 0;
}
EOF
g++ -std=c++11 temp.cpp -o temp
./temp > temp.out
cat temp.out
# ----------------------------------------------------------------------------
# build
# -----------------------------------------------------------------------------
%build
# See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake
# and http://www.coin-or.org/CppAD/Doc/cmake.htm
#
# Cannot use %%{_includedir}, $${_libdir}, %%{_datadir}, %%{_docdir}
# because they are absolute paths. Relative values would be more flexible
# because they can be combined with %%{_prefix} to get absolute values.
cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion'
# 1. The debug_all is overridden for cppad_lib by the edit of
# cppad_lib/CMakeLists.txt above
#
# 2. The gnu c++ compiler seems to be generating an incorrect warning about
# array bounds in thread_alloc.hpp. Use -Wno-array-bounds to suppress it.
#
# cppad_cxx_flags
# extra C++ compiler flags
cppad_cxx_flags=\
'-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion -Wno-array-bounds'
#
# CMake Warning:
# Manually-specified variables were not used by the project:
# CMAKE_C_FLAGS_RELEASE
# CMAKE_Fortran_FLAGS_RELEASE
# CMAKE_INSTALL_DO_STRIP
# INCLUDE_INSTALL_DIR
# LIB_INSTALL_DIR
# LIB_SUFFIX
# SHARE_INSTALL_PREFIX
# SYSCONF_INSTALL_DIR
#
%cmake --version
%cmake \
-S CppAD-%{version} \
-B . \
\
-D CMAKE_VERBOSE_MAKEFILE=0 \
-G 'Unix Makefiles' \
-G 'Unix Makefiles' \
\
-D cppad_prefix=%{_prefix} \
-D cppad_postfix='' \
-D cmake_install_includedirs=include \
-D cmake_install_libdirs=lib \
-D cmake_install_datadir=share \
-D cmake_install_docdir=share/doc \
-D cppad_postfix='' \
\
-D cmake_install_includedirs=include \
-D cmake_install_libdirs=%{_lib} \
\
-D cmake_install_datadir=share \
-D cmake_install_docdir='NOTFOUND' \
\
-D include_doc=true \
-D cmake_defined_ok=false \
-D cppad_static_lib=false \
-D cppad_debug_and_release=true \
\
-D include_adolc=false \
-D include_ipopt=false \
-D include_cppadcg=false \
\
-D colpack_prefix='NOTFOUND' \
-D fadbad_prefix='NOTFOUND' \
-D sacado_prefix='NOTFOUND' \
\
-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_test_vector=cppad \
-D cppad_max_num_theads=64 \
-D cppad_profile_flag='' \
-D cppad_testvector=cppad \
-D cppad_max_num_threads=64 \
-D cppad_tape_id_type=size_t \
-D cppad_tape_addr_type=size_t \
-D cppad_deprecated=NO \
.
make %{?_smp_mflags}
-D cppad_tape_addr_type='unsigned int' \
-D cppad_debug_which='debug_all'
#
# see https://docs.fedoraproject.org/en-US/packaging-guidelines/
# parallel_make
%make_build
# -----------------------------------------------------------------------------
# Install
# -----------------------------------------------------------------------------
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
# https://docs.fedoraproject.org/en-US/packaging-guidelines/
# why_the_makeinstall_macro_should_not_be_used
%make_install
# -----------------------------------------------------------------------------
# use the installed include files to compile and run the tests
%check
make check
%files
%{_libdir}/libcppad_lib.so.%{soversion}
# -----------------------------------------------------------------------------
%files devel
%defattr(-,root,root,-)
# These documentation files come from the source code tarball
%doc COPYING uw_copy_040507.html
%files devel
%{_includedir}/%{name}
%{_datadir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/libcppad_lib.so
%files doc
%defattr(-,root,root,-)
%{_docdir}/%{name}
# -----------------------------------------------------------------------------
# Check
# -----------------------------------------------------------------------------
#
%check
#
# Test installed version of CppAD
g++ CppAD-%{version}/example/get_started/get_started.cpp \
-I %{buildroot}/%{_includedir} \
-Wl,-rpath,%{buildroot}/%{_libdir} \
%{buildroot}/%{_libdir}/libcppad_lib.so \
-o get_started
./get_started
#
# Test building documentation
make %{?_smp_mflags} doc_user
#
# Run the all the standard CppAD tests.
make %{?_smp_mflags} check
# ----------------------------------------------------------------------------
#
# Use %%clean with no arguments to surpress the cleanup of BUILDROOT
# This enables one to check that the necessary files are installed.
%%clean
# ----------------------------------------------------------------------------
%changelog
* Mon Jan 05 2026 Brad Bell <bradbell at seanet dot com> - 20260000.0-1
- New upstream source cppad-20260000.0.
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20250000.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Feb 05 2025 <bradbell at seanet dot com> - 20250000.0-4
- python-toml is deprecated, so current xrst-python uses python-tomli instead
* Sun Jan 19 2025 Brad Bell <bradbell at seanet dot com> - 20250000.0-3
- 1. Add the year macro and use it to define soversion and Version.
- 2. Remove the cppad-doc subpackage because documantion for this stable
version is not available at https://cppad.readthedocs.io/stable-2025/ .
- 3. Change include_doc=true, cmake_install_docdir=NOTFOUND, and add
make doc_user to test building, but not installing, user documentation.
- 4. The ppc64le arch has been fixed and now the CppAD to_string test pass
for long double (so we do not need to skip that test).
- 5. Use get_started.cpp to test the installed version of CppAD.
* Sat Jan 18 2025 Brad Bell <bradbell at seanet dot com> - 20250000.0-2
- This fixes two bugs and will not be necessary
- once the upstream source advances to 20250000.1.
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20250000.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Jan 14 2025 Brad Bell <bradbell at seanet dot com> - 20250000.0-1
- New upstream source cppad-20250000.0.
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20240000.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Mar 01 2024 Brad Bell <bradbell at seanet dot com> - 20240000.3-2
- This fixes a bug in fun2val.hpp. This change will not be necessary
- once the upstream source advances to 20240000.4.
* Sat Feb 17 2024 Brad Bell <bradbell at seanet dot com> - 20240000.3-1
- This fixes a long standing bug; see the heading 02-14 on
- https://cppad.readthedocs.io/latest/whats_new_24.html
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20240000.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20240000.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jan 17 2024 Brad Bell <bradbell at seanet dot com> - 20240000.2-1
- Upstream moved i386 special cases into cmake script.
- Checking that other upstream changes do not affect Fedora install.
* Tue Jan 09 2024 Brad Bell <bradbell at seanet dot com> - 20240000.1-1
- thread_alloc.hpp: i386 i686: fix allignment for doubles
- op_hash_table: i386 i686: avoid second specialization of is_pod for same type.
- xrst.toml: add comment about why we are adding to this file.
- xrst command: speed up parallel build by settting number_jobs.
* Mon Jan 08 2024 Brad Bell <bradbell at seanet dot com> - 20240000.1-1
- Upstream fix of bug found by build on buildvm-x86-16.iad2.fedoraproject.org
* Sat Jan 06 2024 Brad Bell <bradbell at seanet dot com> - 20240000.0-1
- New upstream source cppad-20240000.0.
- require python-xrst >= 2024.0
- xrst.toml: no need to change to pyenchant because pyspellchecker avaialble
- upstream source changed CPPAD_DEBUG_AND_RELEASE to a cmake argument
* Mon Dec 25 2023 Brad Bell <bradbell at seanet dot com> - 20230000.0-3
- migrated to SPDX license
- move %%doc directive before subpackages (becasue it is in main package)
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20230000.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Jan 29 2023 Brad Bell <bradbell at seanet dot com> - 20230000.0-1
- Move libcppad_lib.so to main package (fixes a fedpkg lint error).
- Fix comment about where doc files come from.
- Move %%define __cmake_in_source_build to top of spec file.
- Add discussion of fedpkg lint files-duplicate warning.
* Sat Jan 28 2023 Brad Bell <bradbell at seanet dot com> - 20230000.0-1
- Advance upstream source to 2023.
- Add python-xrst to BuildRequires so can buile documentation.
- Remove Source1, change Source0 -> Source, and make definition so tarball
has the same name as the directory it creates.
- Change URL from documentation to git repo so can use in Source definition.
- Change some cmake definitions from empty string to NOTFOUND.
- Explicity specify the source directory (-S) and binary (-B) in camke comamnd.
- Add comments about __cmake_in_source_build confusion
- Update comments about cmake settings and warnings
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20220000.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20220000.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat May 21 2022 Brad Bell <bradbell at seanet dot com> - 20220000.4-1
- Advance to upstream 20220000.4. Main motivation for this is to make
cppad_eigen.hpp work with Eigen 3.4.0.
* Mon Feb 14 2022 Brad Bell <bradbell at seanet dot com> - 20220000.1-1
- Not necessary to advance to 20220000.2 because Fedora build is getting
correct result for cppad.pc.
* Wed Feb 02 2022 Brad Bell <bradbell at seanet dot com> - 20220000.1-1
- Try commenting out to_string test of long double on ppc56le arch.
This problem does not reproduce on ppc64le-test.fedorainfracloud.org.
* Tue Feb 01 2022 Brad Bell <bradbell at seanet dot com> - 20220000.1-1
- Modify to_string.cpp patch to print out more information on failure.
- Add simple program to print machine epsilon before any other testing.
* Mon Jan 31 2022 Brad Bell <bradbell at seanet dot com> - 20220000.1-1
- Fix following long standing typos in cmake command:
- 1. cppad_test_vector -> cppad_testvector
- 2. cppad_max_num_theads -> cppad_max_num_threads
- Temporary change to debug ppc64le build failure: replace to_string.cpp
- Replace temporary change by a patch to example/utility/to_string.cpp
* Mon Jan 24 2022 Brad Bell <bradbell at seanet dot com> - 20220000.1-1
- Advance to upstream source 20220000.1
- Add -Wno-array-bounds to compiler flags (see remarks about this flag)
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20210000.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Aug 02 2021 Brad Bell <bradbell at seanet dot com> - 20210000.7-1
- Advance to upstream source 20210000.7
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20210000.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun Mar 07 2021 Brad Bell <bradbell at seanet dot com> - 20210000.5-2
- Remove %%debug_package (not necessary to create debug info).
- Use %%setup to unpack tarballs (sets premissions properly).
- Add comments about using %%clean to check BUILDROOT.
* Sun Feb 28 2021 Brad Bell <bradbell at seanet dot com> - 20210000.5-1
- Advance to upstream source 20210000.5
- Remove patches that are no longer necessary.
- Change: Source1, Source2 -> Source0, Source1.
- Change: make %%{?_smp_mflags} -> %%make_build
- Change: make install DESTDIR=%%{buildroot} -> %%make_install.
* Thu Feb 18 2021 Brad Bell <bradbell at seanet dot com> - 20210000.3-3
- Patch corresponding to bug fix in upstream source 20210000.5
* Tue Feb 02 2021 Brad Bell <bradbell at seanet dot com> - 20210000.3-2
- Patch corresponding to bug fix in upstream source 20210000.4
* Tue Jan 26 2021 Brad Bell <bradbell at seanet dot com> - 20210000.3-1
- Advance to upstream source 20210000.3
- Remove patches that are no longer necessary.
- Update cmake command line to new version of upstream source.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20200000.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Dec 27 2020 Brad Bell <bradbell at seanet dot com> - 20200000.0-7
- Add _smp_mflags to the make check command (parallel make)
- Build Debuginfo version of the cppad_lib library.
* Sat Aug 01 2020 Brad Bell <bradbell at seanet dot com> - 20200000.0-6
- define __cmake_in_source_build see:
https://docs.fedoraproject.org/en-US/packaging-guidelines/CMake/
- Change soversion edit so modified soversion displayed during cmake command
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200000.0-5
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200000.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200000.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jan 23 2020 Brad Bell <bradbell at seanet dot com> - 20200000.0-2
- Remove comment about object library becasue install libcppadlib.so
- Patch to not install empty include (in 20200000.1 upstream)
- Patch to not use GreaterThanZero during reverse mode (in 2020000.2)
- Remove PowTestSeven which tested the GreaterThanZeor in reverse mode
* Thu Jan 02 2020 Brad Bell <bradbell at seanet dot com> - 20200000.0-1
- Advance to version 2020 of cppad
- This is a major change because it we need to install the binary cppad_lib.
- No longer have lint error because must build library before installing.
- Remove patch for upstream source < 20190200.5.
- No debug_package, so need to ensure CPPAD_DEBUG_AND_RELEASE always defined.
- cppad_deprecatred is no longer in cmake command line.
- cppad_debug_which is set to debug_all and overridden for cppad_lib directory.
* Wed Sep 18 2019 Brad Bell <bradbell at seanet dot com> - 20190200.4-2
- fedpkg lint now reconizes EPL-2.0 license so remove comment about its error
- Use sed edit of 20190200.4 to obtain bug fix that is in 20190200.5
* Tue Aug 06 2019 Brad Bell <bradbell at seanet dot com> - 20190200.4-1
- Bug fix by advancing to upstream source 20190200.4
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20190200.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed May 29 2019 Brad Bell <bradbell at seanet dot com> - 20190200.0-3
- Bug fix corresponding to upstream source 20190200.3.
- Fix license field and add comment at top about fedpkg lint license mistake.
* Fri Feb 01 2019 Brad Bell <bradbell at seanet dot com> - 20190200.0-2
- Test with corrected version of source2; i.e., 20190200.doc.tar.gz
* 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
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 20180000.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 20180000.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 02 2018 Brad Bell <bradbell at seanet dot com> - 20180000.0-1
- fedpkg lint no longer generates spelling error for use of 'devel'.
- Comment out %%clean because only the normal build area is used.
- Change minumum cmake version to 2.8 (needed for epel7 branch).
- Use comments to better group to sections of the spec file.
* Mon Jan 01 2018 Brad Bell <bradbell at seanet dot com> - 20180000.0-1
- Advance to version 2018 of cppad.

16
get_tarball.sh Executable file
View file

@ -0,0 +1,16 @@
# /usr/bin/env bash
set -e -u
#
version=$(sed -n cppad.spec -e '/^Version:/p' | sed -e 's|^Version: *||')
url=$(sed -n cppad.spec -e '/^URL:/p' | sed -e 's|^URL: *||')
local_tarball="CppAD-${version}.tar.gz"
remote_tarball="$url/archive/$version/$local_tarball"
if [ -e "$local_tarball" ]
then
echo "get_tarball.sh: $local_tarball already exists"
exit 1
fi
wget $tarball
#
echo 'get_tarball.sh: OK'
exit 0

View file

@ -1 +1 @@
SHA512 (cppad-20180000.0.gpl.tgz) = 83e8617c0f0f1d1784a89049bfba2ab4f1aee7af79f23cc4384db858ff55ef7e26901b3985897fcc65c87d6243b892978d17036e0de84132c0bca2edbe3fc082
SHA512 (CppAD-20260000.0.tar.gz) = abe9dd9a971f8d154990d54c1f798c8cab6bf90d016bb288efbcb23a14331897762610295658eec04fb50e5c13b05f4bb6b50a4647d6f0468eb94833dc3400d2