%define version 2.1.73 Summary: GNU Octave -- a high-level language for numerical computations Name: octave Version: %{version} Release: %mkrel 2 License: GPL Group: Sciences/Mathematics Source0: ftp://ftp.octave.org/pub/octave/%{name}-%{version}.tar.bz2 Source4: octave-2.1.36-emac.lisp.bz2 Patch1: octave-2.1.63-insecure-tempfile.patch.bz2 URL: http://www.octave.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot # (Abel) If you want atlas support, install atlas noarch RPM, then # go to /usr/src/ATLAS and build the library. After that, rebuild # this RPM and you are done. Feel like using Gentoo? BuildRequires: libblas-devel BuildRequires: liblapack-devel BuildRequires: dejagnu BuildRequires: emacs BuildRequires: emacs-bin BuildRequires: fftw-devel >= 0:3.0.1 BuildRequires: gcc-gfortran BuildConflicts: gcc3.3-g77 BuildConflicts: gcc3.3-c++ BuildConflicts: gcc3.3 BuildRequires: gnuplot BuildRequires: hdf5-devel BuildRequires: ncurses-devel BuildRequires: readline-devel BuildRequires: tetex-dvips BuildRequires: tetex-latex BuildRequires: texinfo # (Abel) not strictly needed, but play safe BuildRequires: gperf BuildRequires: flex BuildRequires: bison Requires: gnuplot %ifarch x86_64 Requires: lib64hdf5_0 %else Requires: libhdf5_0 %endif %description GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language. Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave's own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages. %package doc Summary: Documentation for Octave, a numerical computational language Group: Sciences/Mathematics %description doc GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language. This package contains documentation of Octave in various formats. %prep %setup -q %patch1 -p1 -b .tempfile %build export CC=gcc export CXX=g++ export F77=gfortran CFLAGS="$RPM_OPT_FLAGS -fno-fast-math" \ CXXFLAGS="$RPM_OPT_FLAGS -fno-fast-math" \ FFLAGS="$RPM_OPT_FLAGS -fno-fast-math" \ %configure2_5x \ --enable-dl \ --enable-shared \ --enable-lite-kernel \ --enable-picky-flags %make # (Abel) for some unknown reason linalg test took infinite time #make check # emacs mode bzcat %SOURCE4 > octave.el emacs -batch -q -no-site-file -f batch-byte-compile %name.el %install rm -rf $RPM_BUILD_ROOT %makeinstall_std find $RPM_BUILD_ROOT -name "*.oct" -print0 | xargs -0 -r strip --strip-unneeded mkdir -p $RPM_BUILD_ROOT/%_sysconfdir/emacs/site-start.d/ install -m 644 %name.elc $RPM_BUILD_ROOT/%_sysconfdir/emacs/site-start.d/%name.elc install -m 644 %name.el $RPM_BUILD_ROOT/%_sysconfdir/emacs/site-start.d/ # prepare documentation rm -rf package-doc mkdir package-doc mkdir package-doc/interpreter ln doc/interpreter/*.html package-doc/interpreter/ mkdir package-doc/liboctave ln doc/liboctave/*.html package-doc/liboctave/ mkdir package-doc/faq ln doc/faq/*.html package-doc/faq/ mkdir package-doc/examples ln examples/[[:lower:]]* package-doc/examples/ install -m 644 doc/liboctave/liboctave.info $RPM_BUILD_ROOT%{_infodir}/ install -m 644 doc/faq/Octave-FAQ.info $RPM_BUILD_ROOT%{_infodir}/ %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/octave-%{version}/octave/config.h %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/octave-%{version}/octave/Array.h %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/octave-%{version}/octave/defaults.h %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/octave-%{version}/octave/dim-vector.h %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/octave-%{version}/octave/lo-sstream.h %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/octave-%{version}/octave/lo-utils.h %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/octave-%{version}/octave/oct-cmplx.h %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/octave-%{version}/octave/pathsearch.h %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/octave-%{version}/octave/str-vec.h %clean rm -rf $RPM_BUILD_ROOT %post %_install_info octave.info %preun %_remove_install_info octave.info %post doc %_install_info liboctave.info %_install_info Octave-FAQ.info %preun doc %_remove_install_info liboctave.info %_remove_install_info Octave-FAQ.info %files %defattr(-,root,root) %doc BUGS COPYING NEWS* PROJECTS README README.Linux ChangeLog ROADMAP SENDING-PATCHES THANKS %{_bindir}/* %{_libdir}/octave/ %{_includedir}/%name-%version %{_datadir}/octave %{_libexecdir}/%name-%version %{_mandir}/man?/* %{_infodir}/octave.* %config(noreplace) %_sysconfdir/emacs/site-start.d/octave.el* %multiarch %{multiarch_includedir}/octave-*/octave/config.h %multiarch %{multiarch_includedir}/octave-*/octave/Array.h %multiarch %{multiarch_includedir}/octave-*/octave/defaults.h %multiarch %{multiarch_includedir}/octave-*/octave/dim-vector.h %multiarch %{multiarch_includedir}/octave-*/octave/lo-sstream.h %multiarch %{multiarch_includedir}/octave-*/octave/lo-utils.h %multiarch %{multiarch_includedir}/octave-*/octave/oct-cmplx.h %multiarch %{multiarch_includedir}/octave-*/octave/pathsearch.h %multiarch %{multiarch_includedir}/octave-*/octave/str-vec.h %files doc %defattr(-,root,root) %doc doc/refcard/refcard-a4.pdf %doc package-doc/* %{_infodir}/liboctave.* %{_infodir}/Octave-FAQ.* %changelog * Sat Jul 22 2006 Giuseppe Ghibò <ghibo@mandriva.com> 2.1.73-2mdv2007.0 - Fixed libhdf5 dep on X86-64. - Use gfortran. * Tue Apr 18 2006 David Walluck <walluck@mandriva.org> 2.1.73-1mdk - 2.1.73 - remove PreReq use * Fri Mar 17 2006 Giuseppe Ghibò <ghibo@mandriva.coM> 2.1.72-1mdk - 2.1.72. * Thu Jul 28 2005 Gaetan Lehmann <glehmann@deborah.mandriva.com> 2.1.71-2mdk - rebuild against new libblas - BuildRequires liblas3-devel and liblapack-devel * Wed Jul 20 2005 Nicolas Lécureuil <neoclust@mandriva.org> 2.1.71-1mdk - New release * Tue Feb 08 2005 Abel Cheung <deaddog@mandrake.org> 2.1.64-2mdk - Rebuild against new readline - multiarch * Sun Dec 26 2004 Abel Cheung <deaddog@mandrake.org> 2.1.64-1mdk - New release - Some instruction on how to add atlas support - Remove munge-texi, not for public consumption - Drop external file which actually is inside source - Split documentation package * Wed Dec 08 2004 Abel Cheung <deaddog@mandrake.org> 2.1.63-3mdk - Remove old artifact * Tue Dec 07 2004 Abel Cheung <deaddog@mandrake.org> 2.1.63-2mdk - Rebuild to get back binary RPM * Thu Dec 02 2004 Abel Cheung <deaddog@mandrake.org> 2.1.63-1mdk - New version - Fix BuildRequires and add others - Fix P1 to use mktemp (the program 'tempfile' is no more) - No GUI, shouldn't need menu * Thu Sep 23 2004 Lenny Cartier <lenny@mandrakesoft.com> 2.1.59-1mdk - 2.1.59 * Tue Jun 29 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.57-2mdk - rebuild for new g++ * Tue Apr 06 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.57-1mdk - new release * Fri Feb 13 2004 David Walluck <walluck@linux-mandrake.com> 2.1.53-1mdk - 2.1.53 - add epochs - move `munge-texi' to %%{_bindir} * Thu Dec 04 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.52-1mdk - new release * Mon Aug 11 2003 Buchan Milne <bgmilne@linux-mandrake.com> 2.1.50-2mdk - rebuild * Wed Jul 02 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.50-1mdk - new release * Wed Jun 25 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.49-1mdk - new release * Tue Apr 29 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.44-2mdk - fix buildrequires * Tue Feb 04 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.44-1mdk - new release * Fri Jan 03 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.42-1mdk - new release - add source url * Thu Dec 12 2002 Olivier Thauvin <thauvin@aerov.jussieu.fr> 2.1.40-1mdk - 2.1.40 - remove Patch 2,10,11 * Fri Aug 16 2002 Giuseppe Ghibò <ghibo@mandrakesoft.com> 2.1.36-4mdk - png icons. - BuildRequires: tetex-latex. - use -fno-fast-math. * Fri Aug 16 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.36-3mdk - rebuild for g++-3.2 new ABI - s/tar xfvy/%%setup -a2/ - patch 1 : use secure temp file in octave-bug - patch 2 : update doc - parallel build - add emacs mode - Buildrequires: texinfo, gcc-g77, libf2c0, readline-devel, libncurses-devel, gperf, gnuplot, fftw-devel >= 2.1.3, dejagnu - Quel Qun <kelk1 at sbcglobal dot net> : o patch 10: use the right texi2html parameters (Quel Qun) o patch 11: transform file-ptr-stream.h from cvs o Buildrequires tetex-dvips o add doc/interpreter to %%doc * Wed Jul 24 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.36-2mdk - rebuild for new readline * Tue May 21 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.36-1mdk - new release * Fri Apr 12 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.1.35-1mdk - new release - add otags(1) * Wed Aug 22 2001 Lenny Cartier <lenny@mandrakesoft.com> 2.0.16-11mdk - rebuild * Mon May 28 2001 Daouda Lo <daouda@mandrakesoft.com> 2.0.16-10mdk - Buildrequires : egcs-c++ - upload in contribs * Mon May 28 2001 Daouda Lo <daouda@mandrakesoft.com> 2.0.16-9mdk - add egcs in builrequires * Sun May 6 2001 Guillaume Cottenceau <gc@mandrakesoft.com> 2.0.16-8mdk - rebuild against latest libc++ * Tue Jan 23 2001 Lenny Cartier <lenny@mandrakesoft.com> 2.0.16-7mdk - build with egcs * Wed Sep 13 2000 Vincent Saugey <vince@mandrakesoft.com> 2.0.16-6mdk - Rebuild with r-path (octave lib ont in /usr/lib/) * Mon Aug 07 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.0.16-5mdk - automatically added BuildRequires * Wed Jul 26 2000 Vincent Saugey <vince@mandrakesoft.com> 2.0.16-4mdk - Macros, BM, add multiple icons sizes * Wed Apr 12 2000 Vincent Saugey <vince@mandrakesoft.com> 2.0.16-3mdk - strip oct file - add menu entry * Tue Mar 21 2000 Vincent Saugey <vince@mandrakesoft.com> 2.0.16-2mdk - corrected for new groups * Thu Mar 09 2000 Lenny Cartier <lenny@mandrakesoft.com> - mandrake build - v2.0.16 * Fri Oct 23 1998 Jeff Johnson <jbj@redhat.com> - update to 2.0.13.90 * Thu Jul 9 1998 Jeff Johnson <jbj@redhat.com> - repackage in powertools. * Thu Jun 11 1998 Andrew Veliath <andrewtv@usa.net> - Add %attr, build as user. * Mon Jun 1 1998 Andrew Veliath <andrewtv@usa.net> - Add BuildRoot, installinfo, require gnuplot, description from Octave's web page, update to Octave 2.0.13. - Adapt from existing spec file. * Tue Dec 2 1997 Otto Hammersmith <otto@redhat.com> - removed libreadline stuff from the file list * Mon Nov 24 1997 Otto Hammersmith <otto@redhat.com> - changed configure command to put things in $RPM_ARCH-rehat-linux, rather than genereated one... was causing problems between building on i686 build machine. * Mon Nov 17 1997 Otto Hammersmith <otto@redhat.com> - moved buildroot from /tmp to /var/tmp * Mon Sep 22 1997 Mike Wangsmo <wanger@redhat.com> - Upgraded to version 2.0.9 and built for glibc system * Thu May 01 1997 Michael Fulbright <msf@redhat.com> - Updated to version 2.0.5 and changed to build using a BuildRoot