diff --git a/octave-gcc44.patch b/octave-gcc44.patch new file mode 100644 index 0000000..57b7503 --- /dev/null +++ b/octave-gcc44.patch @@ -0,0 +1,71 @@ +diff -r -u octave-3.0.3.orig/liboctave/oct-md5.cc octave-3.0.3/liboctave/oct-md5.cc +--- octave-3.0.3.orig/liboctave/oct-md5.cc 2008-09-24 00:13:47.000000000 -0700 ++++ octave-3.0.3/liboctave/oct-md5.cc 2009-02-23 19:30:37.000000000 -0700 +@@ -20,13 +20,15 @@ + + */ + +-#include +-#include +- + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + ++#include ++ ++#include ++#include ++ + #include "lo-error.h" + #include "oct-md5.h" + #include "md5.h" +diff -r -u octave-3.0.3.orig/scripts/gethelp.cc octave-3.0.3/scripts/gethelp.cc +--- octave-3.0.3.orig/scripts/gethelp.cc 2008-09-24 00:13:48.000000000 -0700 ++++ octave-3.0.3/scripts/gethelp.cc 2009-02-23 19:30:37.000000000 -0700 +@@ -24,8 +24,10 @@ + #define __USE_STD_IOSTREAM + #endif + +-#include ++#include ++ + #include ++#include + + #ifndef NPOS + #define NPOS std::string::npos +--- a/liboctave/sparse-util.cc Fri Oct 10 11:35:10 2008 +0200 ++++ b/liboctave/sparse-util.cc Sun Oct 12 10:30:40 2008 +0200 +@@ -30,8 +30,15 @@ along with Octave; see the file COPYING. + #include "lo-error.h" + #include "sparse-util.h" + ++// FIXME this overload is here due to API change in SuiteSparse (3.1 -> 3.2) + void + SparseCholError (int status, char *file, int line, char *message) ++{ ++ SparseCholError (status, file, line, message); ++} ++ ++void ++SparseCholError (int status, const char *file, int line, const char *message) + { + (*current_liboctave_warning_handler)("warning %i, at line %i in file %s", + status, line, file); +--- a/liboctave/sparse-util.h Fri Oct 10 11:35:10 2008 +0200 ++++ b/liboctave/sparse-util.h Sun Oct 12 10:30:40 2008 +0200 +@@ -24,7 +24,11 @@ along with Octave; see the file COPYING. + #if !defined (octave_sparse_util_h) + #define octave_sparse_util_h 1 + +-extern OCTAVE_API void SparseCholError (int status, char *file, int line, char *message); ++// FIXME this overload is here due to API change in SuiteSparse (3.1 -> 3.2) ++extern OCTAVE_API void SparseCholError (int status, char *file, ++ int line, char *message); ++extern OCTAVE_API void SparseCholError (int status, const char *file, ++ int line, const char *message); + extern OCTAVE_API int SparseCholPrint (const char *fmt, ...); + + #endif + diff --git a/octave.spec b/octave.spec index 9adf0d7..6c9dd28 100644 --- a/octave.spec +++ b/octave.spec @@ -3,14 +3,15 @@ Name: octave Version: 3.0.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A high-level language for numerical computations Epoch: 6 Group: Applications/Engineering License: GPLv3+ Source: ftp://ftp.octave.org/pub/octave/octave-%{version}.tar.bz2 -Patch1: octave-sh-arch.patch +Patch1: %{name}-sh-arch.patch +Patch2: %{name}-gcc44.patch URL: http://www.octave.org Requires: gnuplot less info texinfo Requires(post): /sbin/install-info @@ -64,6 +65,8 @@ fi # patch for sh arch %patch1 -p1 -b .sh-arch +# patch for gcc 4.4 +%patch2 -p1 -b .gcc44 %build %define enable64 no @@ -144,16 +147,21 @@ fi %changelog -* Wed Dec 10 2008 Alex Lancaster - 3.0.3-1 +* Mon Feb 23 2009 Alex Lancaster - 6:3.0.3-2 +- Add patches from upstream for compiling against GCC 4.4 + http://hg.savannah.gnu.org/hgweb/octave/rev/93cf10950334 + http://hg.tw-math.de/release-3-0-x/rev/712d9e045b1e + +* Wed Dec 10 2008 Alex Lancaster - 6:3.0.3-1 - Update to latest upstream (3.0.3) -* Thu Oct 23 2008 Rakesh Pandit 3.0.2-2 +* Thu Oct 23 2008 Rakesh Pandit 6:3.0.2-2 - patch for sh arch: it adds '-little' flag -* Mon Sep 8 2008 Orion Poplawski 3.0.2-1 +* Mon Sep 8 2008 Orion Poplawski 6:3.0.2-1 - Update to 3.0.2 -* Mon Apr 21 2008 Quentin Spencer 3.0.1-1 +* Mon Apr 21 2008 Quentin Spencer 6:3.0.1-1 - New release of octave. Remove gcc 4.3 patch. * Mon Mar 3 2008 Alex Lancaster - 6:3.0.0-6 @@ -495,73 +503,73 @@ does not exist. * Sat Aug 10 2002 Elliot Lee - rebuilt with gcc-3.2 (we hope) -* Mon Aug 5 2002 Trond Eivind Glomsr�d 2.1.36-7 +* Mon Aug 5 2002 Trond Eivind Glomsrød 2.1.36-7 - Rebuild -* Tue Jul 23 2002 Trond Eivind Glomsr�d 2.1.36-6 +* Tue Jul 23 2002 Trond Eivind Glomsrød 2.1.36-6 - Rebuild -* Thu Jul 11 2002 Trond Eivind Glomsr�d +* Thu Jul 11 2002 Trond Eivind Glomsrød - Rebuild with new readline * Fri Jun 21 2002 Tim Powers - automated rebuild -* Fri Jun 14 2002 Trond Eivind Glomsr�d 2.1.36-3 +* Fri Jun 14 2002 Trond Eivind Glomsrød 2.1.36-3 - Get rid of 0 size doc files (#66116) -* Thu May 23 2002 Trond Eivind Glomsr�d 2.1.36-2 +* Thu May 23 2002 Trond Eivind Glomsrød 2.1.36-2 - Rebuild - Patch C++ code gcc changed its opinion of the last 3 weeks -* Wed May 1 2002 Trond Eivind Glomsr�d 2.1.36-1 +* Wed May 1 2002 Trond Eivind Glomsrød 2.1.36-1 - 2.1.36 - Disable patch -* Wed Feb 27 2002 Trond Eivind Glomsr�d 2.1.35-4 +* Wed Feb 27 2002 Trond Eivind Glomsrød 2.1.35-4 - Rebuild * Wed Jan 09 2002 Tim Powers - automated rebuild -* Tue Nov 27 2001 Trond Eivind Glomsr�d 2.1.35-2 +* Tue Nov 27 2001 Trond Eivind Glomsrød 2.1.35-2 - Add patch for kpathsea to avoid segfaults -* Tue Nov 6 2001 Trond Eivind Glomsr�d 2.1.35-1 +* Tue Nov 6 2001 Trond Eivind Glomsrød 2.1.35-1 - 2.1.35 - s/Copyright/License/ * Wed Sep 12 2001 Tim Powers - rebuild with new gcc and binutils -* Wed Jun 20 2001 Trond Eivind Glomsr�d +* Wed Jun 20 2001 Trond Eivind Glomsrød - Add more dependencies in BuildPrereq (#45184) -* Fri Jun 08 2001 Trond Eivind Glomsr�d +* Fri Jun 08 2001 Trond Eivind Glomsrød - No longer exclude ia64 -* Mon Apr 23 2001 Trond Eivind Glomsr�d +* Mon Apr 23 2001 Trond Eivind Glomsrød - 2.1.34 -* Tue Mar 27 2001 Trond Eivind Glomsr�d +* Tue Mar 27 2001 Trond Eivind Glomsrød - set LC_ALL to POSIX before building, otherwise the generated paths.h is bad -* Wed Jan 10 2001 Trond Eivind Glomsr�d +* Wed Jan 10 2001 Trond Eivind Glomsrød - 2.1.33 * Mon Jan 08 2001 Florian La Roche - do not require compat-egcs-c++, but gcc-c++ - add some libtoolize calls to add newest versions -* Fri Dec 15 2000 Trond Eivind Glomsr�d +* Fri Dec 15 2000 Trond Eivind Glomsrød - 2.1.32, no longer use CVS as our needed fixes are in now - add Prereq for info -* Thu Dec 07 2000 Trond Eivind Glomsr�d +* Thu Dec 07 2000 Trond Eivind Glomsrød - use a development version, as they have now been fixed to compile with the our current toolchain. -* Thu Aug 24 2000 Trond Eivind Glomsr�d +* Thu Aug 24 2000 Trond Eivind Glomsrød - 2.0.16, with compat C++ compiler and new C and f77 compilers The C++ code is too broken for our new toolchain (C++ reserved words used as enums and function names, arcane macros), but @@ -571,13 +579,13 @@ does not exist. * Tue Jul 25 2000 Jakub Jelinek - make sure #line commands are not output within macro arguments -* Wed Jul 19 2000 Trond Eivind Glomsr�d +* Wed Jul 19 2000 Trond Eivind Glomsrød - 2.1.31 * Wed Jul 12 2000 Prospector - automatic rebuild -* Thu Jul 06 2000 Trond Eivind Glomsr�d +* Thu Jul 06 2000 Trond Eivind Glomsrød - no longer disable optimizations, sparc excepted * Tue Jul 4 2000 Jakub Jelinek @@ -586,21 +594,21 @@ does not exist. * Mon Jul 3 2000 Matt Wilson - added missing %% before {_infodir} in the %%post -* Sat Jun 09 2000 Trond Eivind Glomsr�d +* Sat Jun 09 2000 Trond Eivind Glomsrød - 2.1.30 - the old version contains invalid C++ code accepted by older compilers. -* Sat Jun 09 2000 Trond Eivind Glomsr�d +* Sat Jun 09 2000 Trond Eivind Glomsrød - disable optimization for C++ code -* Fri Jun 08 2000 Trond Eivind Glomsr�d +* Fri Jun 08 2000 Trond Eivind Glomsrød - add "Excludearch: " for Alpha - it triggers compiler bugs -* Fri Jun 08 2000 Trond Eivind Glomsr�d +* Fri Jun 08 2000 Trond Eivind Glomsrød - use %%configure, %%makeinstall, %{_infodir}. %{_mandir} - remove prefix -* Tue May 09 2000 Trond Eivind Glomsr�d +* Tue May 09 2000 Trond Eivind Glomsrød - upgraded to 2.0.16 - removed "--enable-g77" from the configure flags - let autoconf find it