Advance from cppad-20160000.0 -> cppad-20170000.1.
This commit is contained in:
parent
092195a78f
commit
62ce804ae4
1 changed files with 51 additions and 35 deletions
86
cppad.spec
86
cppad.spec
|
|
@ -1,10 +1,10 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
# The comamnd 'fedpkg lint' generates the warning:
|
||||
#
|
||||
# cppad.spec:87: W: rpm-buildroot-usage
|
||||
# cppad.spec:89: W: rpm-buildroot-usage
|
||||
# %%prep includedir=%%{buildroot}%%{_includedir}
|
||||
#
|
||||
# See http://comments.gmane.org/gmane.linux.redhat.fedora.devel/144920
|
||||
# See https://lists.fedoraproject.org/pipermail/devel/2011-January/147969.html
|
||||
# ----------------------------------------------------------------------------
|
||||
# The command 'fedpkg lint' generates the warning:
|
||||
#
|
||||
|
|
@ -15,13 +15,15 @@
|
|||
# These refer to the corresponding subpackage and are not spelling errors.
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Release starts with 1; https://fedoraproject.org/wiki/Packaging:Versioning
|
||||
Name: cppad
|
||||
Version: 20160000.0
|
||||
Release: 2%{?dist}
|
||||
Version: 20170000.1
|
||||
Release: 1%{?dist}
|
||||
Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc
|
||||
|
||||
# Only noarch.rpms provided. The user can compile with or without debugging
|
||||
# Nothing useful in *debuginfo
|
||||
# Nothing useful in *debuginfo. If status of cppad_lib changes, this may
|
||||
# also change (see mention of cppad_lib below).
|
||||
%global debug_package %{nil}
|
||||
|
||||
Group: Development/Libraries
|
||||
|
|
@ -87,61 +89,64 @@ rm -rf %{buildroot}
|
|||
includedir=%{buildroot}%{_includedir}
|
||||
sed \
|
||||
-e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \
|
||||
-ibak CMakeLists.txt
|
||||
-i.bak CMakeLists.txt
|
||||
|
||||
# The include directory set above is loaded by the install procedure,
|
||||
# but cppad_lib is needed for the install procedure. Currently cppad_lib
|
||||
# only contains the cppad_colpack object which is not needed by the Fedora
|
||||
# distribution. This may or may not be true for next year 2017.
|
||||
# distribution. This may or may not be true for next year 2018.
|
||||
cat << EOF > CMakeLists.sed
|
||||
/^ADD_SUBDIRECTORY(cppad_lib)/d
|
||||
/^\tcppad_lib$/d
|
||||
EOF
|
||||
sed -f CMakeLists.sed -ibak CMakeLists.txt
|
||||
sed -f CMakeLists.sed -ibak cppad_ipopt/example/CMakeLists.txt
|
||||
sed -f CMakeLists.sed -ibak cppad_ipopt/speed/CMakeLists.txt
|
||||
sed -f CMakeLists.sed -ibak cppad_ipopt/test/CMakeLists.txt
|
||||
sed -f CMakeLists.sed -ibak cppad_lib/CMakeLists.txt
|
||||
sed -f CMakeLists.sed -ibak example/CMakeLists.txt
|
||||
sed -f CMakeLists.sed -ibak example/ipopt_solve/CMakeLists.txt
|
||||
sed -f CMakeLists.sed -ibak speed/adolc/CMakeLists.txt
|
||||
sed -f CMakeLists.sed -ibak speed/cppad/CMakeLists.txt
|
||||
sed -f CMakeLists.sed -ibak speed/profile/CMakeLists.txt
|
||||
sed -f CMakeLists.sed -ibak test_more/CMakeLists.txt
|
||||
|
||||
|
||||
# change example/example.cpp to print out machine epsilon
|
||||
cat << EOF > example.sed
|
||||
/^int main(void)/N
|
||||
s|^int main(void)\n{|# include <cfloat>\\
|
||||
int main(void)\\
|
||||
{ // print machine epsilon\\
|
||||
std::cout << "DBL_EPSILON =" << DBL_EPSILON << std::endl;\\
|
||||
\\
|
||||
|
|
||||
EOF
|
||||
sed -ibak example/example.cpp -f example.sed
|
||||
list=`find . -name 'CMakeLists.txt' | \
|
||||
sed -e '/^\.\/CMakeLists.txt/d' -e '/^\.\/cppad_lib\/CMakeLists.txt/d'`
|
||||
for file in $list
|
||||
do
|
||||
if grep 'cppad_lib' "$file" > /dev/null
|
||||
then
|
||||
# cppad_lib is set in ./CMakeLists.txt and used in other files
|
||||
cp "$file" "$file.bak"
|
||||
sed -i "$file" -e '/^\t*${cppad_lib}$/d'
|
||||
if grep 'cppad_lib' "$file" > /dev/null
|
||||
then
|
||||
echo "Edit of $file failed."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake
|
||||
# and http://www.coin-or.org/CppAD/Doc/cmake.htm
|
||||
%build
|
||||
#
|
||||
# Cannot use %%{_includedir}, or %%{_docdir} because they are absolute.
|
||||
# Relative values would be more flexible because they can be combined with
|
||||
# %%{_prefix} to get absolute values.
|
||||
# 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.
|
||||
%cmake --version
|
||||
%cmake \
|
||||
-D CMAKE_VERBOSE_MAKEFILE=0 \
|
||||
-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 adolc_prefix='' \
|
||||
-D colpack_prefix='' \
|
||||
-D eigen_prefix='' \
|
||||
-D fadbad_prefix='' \
|
||||
-D ipopt_prefix='' \
|
||||
-D sacado_prefix='' \
|
||||
\
|
||||
-D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++11 -Wshadow' \
|
||||
-D cppad_profile_flag='' \
|
||||
\
|
||||
-D cppad_test_vector=cppad \
|
||||
-D cppad_max_num_theads=64 \
|
||||
-D cppad_sparse_list=YES \
|
||||
-D cppad_tape_id_type=size_t \
|
||||
-D cppad_tape_addr_type=size_t \
|
||||
-D cppad_deprecated=NO \
|
||||
|
|
@ -168,6 +173,17 @@ make check
|
|||
|
||||
# ----------------------------------------------------------------------------
|
||||
%changelog
|
||||
* Fri Jan 20 2017 Brad Bell <bradbell at seanet dot com> - 20170000.1-1
|
||||
- Advance to version 2017 of cppad.
|
||||
- New link for discussion of fedpkg lint warning rpm-builroot-usage
|
||||
- (old link seems to have disappeared).
|
||||
- Change CMakeLists.txtbak -> CMakeLists.txt.bak.
|
||||
- Use find to create list of CMakeLists.txt files and check that edit
|
||||
- of these files goes as expected.
|
||||
- Include explicit setting of all possible cmake command options
|
||||
- (empty prefix setting correspond to packages not included).
|
||||
- cppad_sparse_list=YES removed (YES is now always chosen by upstream source)
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 20160000.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue