Sophie

Sophie

distrib > Mandriva > 2009.0 > x86_64 > by-pkgid > 2199ae7d2b0a6f9803852d603663de3f > files > 4

octave-3.0.2-1mdv2009.0.src.rpm

%define octave_api api-v32

Name:           octave
Version:        3.0.2
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
Patch1:         octave-2.1.63-insecure-tempfile.patch
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
# (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:  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
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot

%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
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
%patch1 -p1 -b .tempfile
%{__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} OCTAVE_RELEASE="%{distribution} %{version}-%{release}"

# emacs mode
%{_bindir}/emacs -batch -q -no-site-file -f batch-byte-compile %{name}.el

%check
# (Abel) for some unknown reason linalg test took infinite time
%{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 THANKS 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/lo-sstream.h
%multiarch %{multiarch_includedir}/octave-*/octave/lo-error.h
%multiarch %{multiarch_includedir}/octave-*/octave/lo-utils.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-types.h
%multiarch %{multiarch_includedir}/octave-*/octave/pathsearch.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
* Sat Aug 23 2008 Funda Wang <fundawang@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