diff --git a/cppad.spec b/cppad.spec index 53cc5ad..fcdf60d 100644 --- a/cppad.spec +++ b/cppad.spec @@ -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 \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 - 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 - 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 - 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 - 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 - 20120101.1-3 +- Switch to arch'ed BuildArch. + +* Wed Jul 18 2012 Fedora Release Engineering - 20120101.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Wed Jan 18 2012 Brad Bell - 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 - 20110101.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild -* Tue Jan 19 2011 Brad Bell - 20110101.2-3 +* Wed Jan 19 2011 Brad Bell - 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 - 20110101.0-2 +* Sun Jan 09 2011 Brad Bell - 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 - 20100101.0-1 +* Fri Jan 01 2010 Brad Bell - 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 20090303-3 +* Sat Jun 06 2009 Brad Bell 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 - 20080826.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild -* Tue Oct 08 2008 Brad Bell 20080826-1 +* Wed Oct 08 2008 Brad Bell 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). diff --git a/sources b/sources index 090db7a..aab2034 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e3237092cdcbfb38600baeb49531fbfe cppad-20120101.1.gpl.tgz +9aa7d3a8cf0bfb892579d736f18ea358 cppad-20130000.1.gpl.tgz