copy from master

This commit is contained in:
Brad Bell 2013-01-09 00:53:22 -07:00
commit 8784b9536d
2 changed files with 68 additions and 70 deletions

View file

@ -1,24 +1,27 @@
# rpmlint command and output
#
# rpmlint --version
# rpmlint version 1.4 Copyright (C) 1999-2007 Frederic Lepied, Mandriva
#
# rpmlint cppad-devel-20120101.1-1.fc15.noarch.rpm
# 1 packages and 0 specfiles checked; 0 errors, 0 warnings.
# rpmlint --version
# rpmlint version 1.4 Copyright (C) 1999-2007 Frederic Lepied, Mandriva
#
# rmplint cppad.sped
# cppad.spec: ... W: rpm-buildroot-usage ...
# 0 packages and 1 specfiles checked; 0 errors, 1 warnings.
# search for 'rpm-buildroot-usage' and see comments near there.
# ----------------------------------------------------------------------------
Name: cppad
Version: 20120101.1
Version: 20130000.1
Release: 1%{?dist}
Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc
# Only noarch.rpms provided.
# Nothing useful in *debuginfo
%global debug_package %{nil}
Group: Development/Libraries
License: GPLv2
License: GPLv3
URL: http://www.coin-or.org/CppAD/
Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: cmake >= 2.6
%description
C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc.
@ -26,6 +29,7 @@ C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc.
# ---------------------------------------------------------------------------
%package devel
Summary: The %{name} C++ include files for Algorithmic Differentiation (AD)
BuildArch: noarch
Group: Development/Libraries
Provides: %{name} = %{version}-%{release}
@ -41,8 +45,9 @@ See the package %{name}-doc for documentation of this version of %{name}.
# ----------------------------------------------------------------------------
%package doc
Summary: Documentation for %{name}
Group: XML documentation for %{name}-devel
Summary: Documentation for %{name}-devel
Group: Documentation
BuildArch: noarch
%description doc
The %{name}-doc package installs the XML documentation for %{name}-devel in
@ -57,56 +62,14 @@ as a single web page, in both HTML and XML, can be found at that web site.
%prep
%setup -q
# Replace cppad_SOURCE_DIR by the system include directory so that
# installed files, instead of local files, are used for testing.
# (Note next line generates rpm-buildroot-usage warning from rpmlint.)
includedir=%{buildroot}%{_includedir}
# This patch should no longer be necessary when %%{version} >= 20120101.2
sed \
-e 's|namespace *CppAD *{|# include <cppad/base_require.hpp>\n&|' \
-i cppad/speed/sparse_evaluate.hpp
# This patch should no longer be necessary when %%{version} >= 20120101.2
# 1.Fix missing inclusion of pthread library in linker command.
# Fix running make in source directory (current cppad testing runs configure
# and make in a separate directory).
sed \
-e '/^AM_LDFLAGS *=/s|$| $(PTHREAD_LIB)|' \
-e '/^dist_noinst_SCRIPTS *= *test.sh/d' \
-e '/^test.sh:/d' \
-e '/cp $(srcdir)\/test.sh/d' \
-e 's|^test:.*|test: check|' \
-i multi_thread/makefile.in
# This patch should no longer be necessary when %%{version} >= 20120101.2
# 1. Since building in source directory, there is no reason to copy the created
# cppad/configure.hpp to the source directory (avoids warning).
# 2. make sure we do not delete multi_thread/test.sh which is
# not created by 'make test' (becasue of patch to multi_thread/makefile.in).
# 3. Use make test instead of make test.sh because we do note make test.sh
# for multi_thread directory.
sed \
-e '/^$(top_srcdir)\/cppad\/configure.hpp:/d' \
-e '/^\tcp cppad\/configure.hpp/d' \
-e '/^\t\trm -f $$dir\/test.sh/d' \
-e 's|make test.sh|make test|' \
-e '/echo ".\/test.sh"/d' \
-i makefile.in
# CppAD tests the distribution before installing it. The rpm system can test
# after 'make install'. We test the installed instead of distributed copy
# of the include files. We skip speed/src/makefile.in
# because they build programs a library before 'make install' completes.
for file in `find . -name 'makefile.in'`
do
if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null)
then
sed -e "s|-I\$(top_srcdir)\([^/]\)|-I$includedir\1|" -i "$file"
fi
done
# Remove setting of permissions in documentation destination directory.
sed -e '/^.CppAD_DOCUMENTATION_TRUE.\tchmod -R [^ ]* $(doc_package)/d' \
-i.stamp makefile.in
#
-e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \
-i.stamp CMakeLists.txt
# change example/example.cpp to print out machine epsilon
cat << EOF > example.sed
@ -120,18 +83,23 @@ int main(void)\\
EOF
sed -i.stamp example/example.cpp -f example.sed
# See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake
# for suggestions on using cmake.
%build
%configure --with-Documentation OPENMP_FLAGS=-fopenmp
%cmake \
-D CMAKE_VERBOSE_MAKEFILE=0 \
-D cppad_documentation=YES \
-D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \
.
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
# use the installed include files to compile and run the tests
%check
# make test uses a shell script to run test is a list of subdirectories
# and it it is unclear how to do: make %{?_smp_mflags} test
make test
make check
%clean
# cleanup
@ -149,6 +117,36 @@ rm -rf %{buildroot}
# ----------------------------------------------------------------------------
%changelog
* Tue Jan 08 2013 Brad Bell <bradbell at seanet dot com> - 20130000.1-1
- Use a new upstream source.
- Remove the patches that were fixed in the upstream source.
- Convert tabs to spaces (avoid rpmlint warning).
- Fix rpmlint warning for cppad-doc group warning.
- Add comment for rpmlint warning about using buildroot.
* Sat Jan 05 2013 Brad Bell <bradbell at seanet dot com> - 20130000.0-3
- The patch.sed script in this file is for a final test of a solution on the
- remote machine. Expect to modify upstream source so it is not necessary.
* Fri Jan 04 2013 Brad Bell <bradbell at seanet dot com> - 20130000.0-2
- Debugging build to try to understand failure of test_more/epsilon.cpp
- on a remote machine that I do not have access to.
* Fri Jan 04 2013 Brad Bell <bradbell at seanet dot com> - 20130000.0-1
- Advance to version 2013 of cppad.
- Remove old patches that are no longer necessary.
- Convert from auto-tools to cmake build system.
- Add new patches (using sed in setup section) that are now necessary.
- Fix some bogus dates in change log by changing day of the week.
- Getting folloing incorrect warning from g++ during rpmbuild:
- .../cppad/thread_alloc.hpp:203:44: ... subsrcipt is above array bounds ...
* Sun Oct 21 2012 Ralf Corsépius <corsepiu@fedoraproject.org> - 20120101.1-3
- Switch to arch'ed BuildArch.
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20120101.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Wed Jan 18 2012 Brad Bell <bradbell at seanet dot com> - 20120101.1-1
- Advance to version 2012 of cppad.
- Remove old patches that are no longer necessary.
@ -163,7 +161,7 @@ rm -rf %{buildroot}
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20110101.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Tue Jan 19 2011 Brad Bell <bradbell at seanet dot com> - 20110101.2-3
* Wed Jan 19 2011 Brad Bell <bradbell at seanet dot com> - 20110101.2-3
- Remove duplicate test results from build.log
- Improve comments before patching top level makefile.in.
- Fix rpmlint warnings about %%{_docdir}, %%{name}, and %%{version} in comments.
@ -185,7 +183,7 @@ rm -rf %{buildroot}
- Change makefile.in so tests include from install (not distribute) directory
- (see comments above `find . -name 'makefile.in` above).
* Sat Jan 09 2011 Brad Bell <bradbell at seanet dot com> - 20110101.0-2
* Sun Jan 09 2011 Brad Bell <bradbell at seanet dot com> - 20110101.0-2
- Remove include/cppad_ipopt_nlp.hpp from distribution.
- Remove lib/libspeed.a from distribution.
- Add lib/pkgconfig/cppad.pc to files section (because it is installed).
@ -211,7 +209,7 @@ rm -rf %{buildroot}
- Patch sources for bug fix between 20100101.0 and 20100101.1.
- This should no longer be necessary once a new upstream source is loaded.
* Sat Jan 01 2010 Brad Bell <bradbell at seanet dot com> - 20100101.0-1
* Fri Jan 01 2010 Brad Bell <bradbell at seanet dot com> - 20100101.0-1
- Use new upstream source.
- Remove out of date comment about where this spec file is maintained.
- Remove patches that are no longer necessary in prep section.
@ -225,7 +223,7 @@ rm -rf %{buildroot}
- Patch cppad/local/fun_construct.hpp to give a more useful error message
- (so we can figure out why the Fedora 11 build is failing).
* Mon Jun 06 2009 Brad Bell <bradbell at seanet dot com> 20090303-3
* Sat Jun 06 2009 Brad Bell <bradbell at seanet dot com> 20090303-3
- Patch file test_more/jacobian.cpp (required for versions below 20090606).
- Patch file cppad/local/default.hpp (required for versions below 20090606).
- Fix version (change 20080303 to 20090303) in previous two log entries.
@ -242,7 +240,7 @@ rm -rf %{buildroot}
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20080826.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Tue Oct 08 2008 Brad Bell <bradbell at seanet dot com> 20080826-1
* Wed Oct 08 2008 Brad Bell <bradbell at seanet dot com> 20080826-1
- Change to newer version of cppad.
- Change download directory to standard coin-or location.
- Remove editing of speed/main.cpp (no longer necessary).

View file

@ -1 +1 @@
e3237092cdcbfb38600baeb49531fbfe cppad-20120101.1.gpl.tgz
9aa7d3a8cf0bfb892579d736f18ea358 cppad-20130000.1.gpl.tgz