%define octave_api api-v37 Name: octave Version: 3.2.4 Release: %mkrel 1 Epoch: 0 Summary: High-level language for numerical computations License: GPLv3+ Group: Sciences/Mathematics Source0: ftp://ftp.octave.org/pub/octave/%{name}-%{version}.tar.bz2 Source4: octave-2.1.36-emac.lisp URL: http://www.octave.org/ Obsoletes: octave3 < %{epoch}:%{version}-%{release} Provides: octave3 = %{epoch}:%{version}-%{release} Provides: octave(api) = %{octave_api} Requires: gnuplot Requires(post): desktop-file-utils Requires(postun): desktop-file-utils Requires(post): rpm-helper Requires(post): info-install Requires(preun): info-install BuildRequires: bison BuildRequires: blas-devel BuildRequires: dejagnu BuildRequires: desktop-file-utils BuildRequires: emacs BuildRequires: emacs-bin BuildRequires: fftw-devel >= 0:3.0.1 BuildRequires: flex BuildRequires: gcc-gfortran BuildRequires: glpk-devel BuildRequires: gnuplot # (Abel) not strictly needed, but play safe BuildRequires: gperf BuildRequires: hdf5-devel BuildRequires: lapack-devel BuildRequires: ncurses-devel BuildRequires: readline-devel BuildRequires: texinfo BuildRequires: tetex-dvips BuildRequires: tetex-latex BuildRequires: pcre-devel BuildRequires: curl-devel # (Lev) needed to support sparse matrix functionality BuildRequires: amd-devel BuildRequires: camd-devel BuildRequires: ccolamd-devel BuildRequires: cholmod-devel BuildRequires: colamd-devel BuildRequires: cxsparse-devel BuildRequires: umfpack-devel # (Lev) other useful libraries BuildRequires: qhull-devel BuildRequires: qrupdate-devel # (Lev) for new experimental plotting BuildRequires: fltk-devel BuildRequires: MesaGL-devel, MesaGLU-devel BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Patch0: octave-3.2.3-i586-hack.patch %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 devel Summary: Development headers and files for Octave Group: Development/C Obsoletes: octave3-devel < %{epoch}:%{version}-%{release} Provides: octave3-devel = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release} Requires: blas-devel Requires: fftw-devel Requires: gcc-c++ Requires: gcc-gfortran Requires: hdf5-devel Requires: lapack-devel Requires: readline-devel Requires: zlib-devel %description devel The octave-devel package contains files needed for developing applications which use GNU Octave. %package doc Summary: Documentation for Octave, a numerical computational language Group: Sciences/Mathematics Requires(post): info-install Requires(preun): info-install %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 %ifarch %{ix86} %patch0 -p1 %endif OCTAVE_API=`%{__sed} -nr 's/^#define OCTAVE_API_VERSION "(api-v[[:digit:]]+)"$/\1/p' src/version.h` test "x${OCTAVE_API}" = x%{octave_api} || exit 1 %{__cp} -a %{SOURCE4} octave.el %build %define enable64 no export CPPFLAGS="%{optflags} -DH5_USE_16_API" %{configure2_5x} --enable-dl --enable-shared --disable-static --enable-lite-kernel --enable-picky-flags --enable-64=%{enable64} --with-f77=gfortran %__make -C doc conf.texi %{make} OCTAVE_RELEASE="%{distribution} %{version}-%{release}" # emacs mode %{_bindir}/emacs -batch -q -no-site-file -f batch-byte-compile %{name}.el %check # eigs.cc segfaults with Octave 3.2.0: #%{make} check %install %{__rm} -rf %{buildroot} %{makeinstall_std} # Make library links %{__mkdir_p} %{buildroot}/etc/ld.so.conf.d /bin/echo "%{_libdir}/octave-%{version}" > %{buildroot}/etc/ld.so.conf.d/octave-%{_arch}.conf # Remove RPM_BUILD_ROOT from ls-R files %{__perl} -pi -e "s,%{buildroot},," %{buildroot}%{_libexecdir}/octave/ls-R %{__perl} -pi -e "s,%{buildroot},," %{buildroot}%{_datadir}/octave/ls-R %{_bindir}/find %{buildroot} -name "*.oct" -print0 | %{_bindir}/xargs -t -0 -r strip --strip-unneeded %{__mkdir_p} %{buildroot}%{_sysconfdir}/emacs/site-start.d %{__cp} -a %{name}.elc %{buildroot}%{_sysconfdir}/emacs/site-start.d/%{name}.elc %{__cp} -a %{name}.el %{buildroot}%{_sysconfdir}/emacs/site-start.d/%{name}.el # prepare documentation %{__rm} -rf package-doc %{__mkdir_p} package-doc %{__mkdir_p} package-doc/interpreter /bin/ln doc/interpreter/HTML/*.html package-doc/interpreter/ %{__mkdir_p} package-doc/liboctave /bin/ln doc/liboctave/HTML/*.html package-doc/liboctave/ %{__mkdir_p} package-doc/faq /bin/ln doc/faq/*.html package-doc/faq/ %{__mkdir_p} package-doc/examples /bin/ln examples/[[:lower:]]* package-doc/examples/ %{__cp} -a doc/liboctave/liboctave.info %{buildroot}%{_infodir}/ %{__cp} -a doc/faq/Octave-FAQ.info %{buildroot}%{_infodir}/ # Create desktop file %{__rm} %{buildroot}%{_datadir}/applications/www.octave.org-octave.desktop %{_bindir}/desktop-file-install --add-category Education --remove-category Development \ --dir %{buildroot}%{_datadir}/applications examples/octave.desktop # Create directories for add-on packages HOST_TYPE=`%{buildroot}%{_bindir}/octave-config -p CANONICAL_HOST_TYPE` %{__mkdir_p} %{buildroot}%{_libexecdir}/octave/site/oct/%{octave_api}/$HOST_TYPE %{__mkdir_p} %{buildroot}%{_libexecdir}/octave/site/oct/$HOST_TYPE %{__mkdir_p} %{buildroot}%{_datadir}/octave/packages /bin/touch %{buildroot}%{_datadir}/octave/octave_packages %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/config.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/Array.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/defaults.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/dim-vector.h #%%multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/lo-sstream.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/lo-error.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/lo-utils.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/oct-cmplx.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/oct-conf.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/oct-dlldefs.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/oct-types.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/pathsearch.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/str-vec.h %multiarch_includes %{buildroot}%{_includedir}/octave-%{version}/octave/syswait.h %clean %{__rm} -rf %{buildroot} %post %if %mdkversion < 200900 /sbin/ldconfig %endif %_install_info octave.info %create_ghostfile %{_datadir}/octave/octave_packages root root 0664 %preun %_remove_install_info octave.info %if %mdkversion < 200900 %postun -p /sbin/ldconfig %endif %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(0644,root,root,0755) %doc NEWS* PROJECTS README README.Linux README.kpathsea ROADMAP %doc SENDING-PATCHES emacs examples #%%doc doc/interpreter/octave.p* #%%doc doc/faq doc/interpreter/HTML doc/refcard %defattr(-,root,root,0755) %{_bindir}/octave* %config(noreplace) /etc/ld.so.conf.d/* %{_libdir}/octave* %{_datadir}/octave %exclude %{_datadir}/octave/octave_packages %ghost %{_datadir}/octave/octave_packages %if "%{_libdir}" != "%{_libexecdir}" %{_libexecdir}/octave %endif %{_mandir}/man*/octave* %{_infodir}/octave.info* %{_datadir}/applications/* %config(noreplace) %_sysconfdir/emacs/site-start.d/octave.el* %files devel %defattr(0644,root,root,0755) #%%doc doc/liboctave %defattr(-,root,root) %{_bindir}/mkoctfile* %{_includedir}/octave-%{version} %dir %{multiarch_includedir}/octave-* %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/idx-vector.h %multiarch %{multiarch_includedir}/octave-*/octave/lo-error.h %multiarch %{multiarch_includedir}/octave-*/octave/lo-mappers.h %multiarch %{multiarch_includedir}/octave-*/octave/lo-math.h %multiarch %{multiarch_includedir}/octave-*/octave/lo-traits.h %multiarch %{multiarch_includedir}/octave-*/octave/lo-utils.h %multiarch %{multiarch_includedir}/octave-*/octave/oct-alloc.h %multiarch %{multiarch_includedir}/octave-*/octave/oct-cmplx.h %multiarch %{multiarch_includedir}/octave-*/octave/oct-conf.h %multiarch %{multiarch_includedir}/octave-*/octave/oct-dlldefs.h %multiarch %{multiarch_includedir}/octave-*/octave/oct-inttypes.h %multiarch %{multiarch_includedir}/octave-*/octave/oct-sort.h %multiarch %{multiarch_includedir}/octave-*/octave/oct-types.h %multiarch %{multiarch_includedir}/octave-*/octave/pathsearch.h %multiarch %{multiarch_includedir}/octave-*/octave/quit.h %multiarch %{multiarch_includedir}/octave-*/octave/str-vec.h %multiarch %{multiarch_includedir}/octave-*/octave/syswait.h %{_mandir}/man*/mkoctfile* %files doc %defattr(0644,root,root,0755) %doc doc/refcard/refcard-a4.pdf %doc package-doc/* %{_infodir}/liboctave.* %{_infodir}/Octave-FAQ.* %changelog * Thu Jan 28 2010 Frederik Himpe <fhimpe@mandriva.org> 0:3.2.4-1mdv2010.1 + Revision: 497676 - update to new version 3.2.4 * Fri Jan 08 2010 Frederik Himpe <fhimpe@mandriva.org> 0:3.2.3-5mdv2010.1 + Revision: 487736 - rebuild * Thu Oct 22 2009 Paulo Andrade <pcpa@mandriva.com.br> 0:3.2.3-3mdv2010.0 + Revision: 458655 - Correct i586 build by using 3.2.2 semantics * Thu Oct 08 2009 Tomasz Pawel Gajc <tpg@mandriva.org> 0:3.2.3-2mdv2010.0 + Revision: 455897 - rebuild for new curl SSL backend * Sat Sep 26 2009 Frederik Himpe <fhimpe@mandriva.org> 0:3.2.3-1mdv2010.0 + Revision: 449639 - update to new version 3.2.3 * Thu Jul 23 2009 Frederik Himpe <fhimpe@mandriva.org> 0:3.2.2-1mdv2010.0 + Revision: 398744 - Update to new version 3.2.2 * Wed Jun 17 2009 Lev Givon <lev@mandriva.org> 0:3.2.0-1mdv2010.0 + Revision: 386496 - Update to 3.2.0. * Wed Apr 22 2009 Lev Givon <lev@mandriva.org> 0:3.0.5-1mdv2010.0 + Revision: 368690 - Update to 3.0.5. Suitesparse patch no longer needed. * Wed Feb 25 2009 Thierry Vignaud <tvignaud@mandriva.com> 0:3.0.3-2mdv2009.1 + Revision: 344822 - rebuild for new libreadline * Sun Feb 15 2009 Frederik Himpe <fhimpe@mandriva.org> 0:3.0.3-1mdv2009.1 + Revision: 340632 - Update to new version 3.0.3 - Add patch to fix build with suitesparse 3.2 - Add patch to fix build with -Werror=format-security - Remove old, obsolete security patch * Thu Oct 23 2008 Lev Givon <lev@mandriva.org> 0:3.0.2-2mdv2009.1 + Revision: 296623 - Bump release to build against the newer cxsparse devel package. * Sat Aug 23 2008 Funda Wang <fwang@mandriva.org> 0:3.0.2-1mdv2009.0 + Revision: 275369 - use correct api - New version 3.0.2 * Fri Aug 08 2008 Thierry Vignaud <tvignaud@mandriva.com> 0:3.0.1-2mdv2009.0 + Revision: 268333 - rebuild early 2009.0 package (before pixel changes) + Pixel <pixel@mandriva.com> - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers + Frederik Himpe <fhimpe@mandriva.org> - New upstream version - New license policy * Thu Jan 10 2008 Lev Givon <lev@mandriva.org> 0:3.0.0-6mdv2008.1 + Revision: 147669 - Add pcre-devel and curl-devel build deps. * Mon Jan 07 2008 David Walluck <walluck@mandriva.org> 0:3.0.0-5mdv2008.1 + Revision: 146174 - Obsoletes/Provides: octave3-devel * Tue Jan 01 2008 Lev Givon <lev@mandriva.org> 0:3.0.0-4mdv2008.1 + Revision: 140176 - Add glpk and sparse matrix package build dependencies. * Tue Jan 01 2008 David Walluck <walluck@mandriva.org> 0:3.0.0-3mdv2008.1 + Revision: 140016 - add desktop-file-utils deps - fix rm in %%install - add all fixes from octave3 and obsolete it - enable make check * Mon Dec 31 2007 David Walluck <walluck@mandriva.org> 3.0.0-2mdv2008.1 + Revision: 139940 - add sources - define octave_api for octave-forge - use macros instead of shell vars - bunzip2 sources and patches * Sat Dec 29 2007 trem <trem@mandriva.org> 3.0.0-1mdv2008.1 + Revision: 139030 - update to 3.0.0 - update to 3.0.0 + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tvignaud@mandriva.com> - kill re-definition of %%buildroot on Pixel's request - fix summary * Thu Nov 29 2007 Lev Givon <lev@mandriva.org> 2.1.73-3mdv2008.1 + Revision: 113953 - Update build requirements, build against lapack 3.1.1. - import octave * 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