the Fink project is an effort to port
popular Unix programs to Mac OS X
Info2: <<
Package: octave%type_pkg[-atlas]%type_pkg[-x11]
Type: -atlas (boolean), oct(3.6.0), gcc (4.7), -x11 (boolean)
Version: 3.6.0
Revision: 4
Architecture: <<
i386,
(%type_raw[-atlas] = -atlas) x86_64
<<
Maintainer: Alexander Hansen
BuildDepends: <<
fftw3 (>= 3.1.1-7),
fontconfig2-dev,
freetype219,
gcc%type_pkg[gcc]-compiler,
glpk-dev,
graphicsmagick-dev,
hdf5.7,
libcurl4,
libftgl2,
libpcre1,
pkgconfig,
qhull6.3.1-dev,
readline5,
sed,
suitesparse,
fink (>= 0.30.0-1),
fink-package-precedence,
flag-sort,
xcode (>=3.1),
(%type_raw[-x11] != -x11) fltk13-aqua,
(%type_raw[-x11] = -x11) fltk-x11,
(%type_raw[-x11] = -x11) x11-dev,
(%type_raw[-atlas] != -atlas) arpack-ng (>=3.0.2-1),
(%type_raw[-atlas] != -atlas) qrupdate (>=1.1.1-5),
(%type_raw[-atlas] = -atlas) atlas (>= 3.8.1-1),
(%type_raw[-atlas] = -atlas) arpack-ng-atlas (>=3.0.2-1),
(%type_raw[-atlas] = -atlas) qrupdate-atlas (>=1.1.1-5)
<<
Depends: %{Ni}%type_pkg[oct]%type_pkg[-atlas]%type_pkg[-x11] (=%v-%r)
BuildConflicts: coot-dev, broken-gcc, lammpi-dev, fort77, 4ti2-dev
Suggests: %{Ni}%type_pkg[oct]-docs
Provides: <<
octave-interpreter,
(%type_raw[-x11] = -x11) octave-interpreter-x11,
(%type_raw[-x11] != -x11) octave-interpreter-aqua,
(%type_raw[-atlas] = -atlas) octave-interpreter-atlas,
(%type_raw[-atlas] != -atlas) octave-interpreter-veclib
<<
Conflicts: <<
%{Ni},
%{Ni}-atlas,
%{Ni}-x11,
%{Ni}-atlas-x11,
%{Ni}3.0.2 ( << 3.0.2-5),
%{Ni}3.0.2-atlas ( << 3.0.2-5)
<<
Replaces: <<
%{Ni},
%{Ni}-atlas,
%{Ni}-x11,
%{Ni}-atlas-x11,
%{Ni}3.0.2 ( << 3.0.2-5),
%{Ni}3.0.2-atlas ( << 3.0.2-5)
<<
Source: mirror:gnu:%{Ni}/%{Ni}-%v.tar.gz
Source-MD5: e1affdd948a558b7bd8bdd397bc2ad8d
PatchFile: %{ni}-glpk.patch
PatchFile-MD5: a4861a0803cfbbbb8892019cd5f217d2
PatchFile2: %{ni}-3.4.3-manpages.patch
PatchFile2-MD5: 213530118b9a34a947f01c6ddd6f4f2b
PatchFile3: %{ni}.patch
PatchFile3-MD5: 675cf038c246ec6f138684551fab2cbb
PatchScript: <<
#!/bin/sh -ev
#fix for use of glpk private internals
patch -p1 < %{PatchFile}
# create versioned manpages
cp doc/interpreter/%{Ni}.1 doc/interpreter/%{Ni}-%v.1
cp doc/interpreter/%{Ni}-config.1 doc/interpreter/%{Ni}-config-%v.1
cp doc/interpreter/mkoctfile.1 doc/interpreter/mkoctfile-%v.1
# fix executable names in versioned manpages
sed -e 's/@OCTVERSION@/%v/g' %{PatchFile2} | patch -p1
#Fink-specific structural changes
sed -e 's/@OCTVERSION@/%v/g' -e 's|@FINKPREFIX@|%p|g' %{PatchFile3} | patch -p1
# Put in the Fink tree.
sed -i.orig -e 's|@FINKPREFIX@|%p|g' %{Ni}-forge* %{Ni}rc doc/interpreter/*.1 src/mkoctfile*in
# Put OS-version-invariant links to compilers into oct-conf.h, which in
# turn gets harcoded into the Octave interpreter's 'octave_config_info'
# function, which is then used by some of the octave-forge packages at
# configure time. Also do this for mkoctfile.in.
sed -i.orig -e "s|%%OCTAVE_CONF_CC%%|\"oct-cc\"|" \
-e "s|%%OCTAVE_CONF_CXXCPP%%|\"oct-cxx -E\"|" \
-e "s|%%OCTAVE_CONF_CXX%%|\"oct-cxx\"|" \
-e "s|%%OCTAVE_CONF_DL_LD%%|\"oct-cxx\"|" \
-e "s|%%OCTAVE_CONF_LD_CXX%%|\"oct-cxx\"|" \
-e "s|%%OCTAVE_CONF_SH_LD%%|\"oct-cxx\"|" \
src/oct-conf.h.in src/mkoctfile*in
# Make sure GraphicsMagick gets activated properly.
perl -pi.orig -e \
's|(#include \<)(Magick\+\+\.h\>)|\1GraphicsMagick/\2\nusing namespace Magick;|' \
src/DLD-FUNCTIONS/__magick_read__.cc
# more patching by fangism
# silence some warnings
sed -i.orig -e '/ibasea/s|\*ibasea, ||' \
-e '/ibasea/s| ibasea =.*||' \
liboctave/oct-sort.cc
# should this accompany -D_THREAD_SAFE? in CFLAGS,CXXFLAGS
# need size_t from
sed -i.orig -e '/#define octave_oct_alloc_h/a\
using std::size_t;' liboctave/oct-alloc.h
# needed by clang++, safe for g++: using-declaration as typedef
# missing qualifier to dependent-name member-function
sed -i.orig -e '/truncate_int/s|\(return\) \(truncate_int\)|\1 octave_int_base
liboctave/oct-inttypes.h
sed -i.orig -e 's|template static|template|g' liboctave/eigs-base.cc
<<
GCC: 4.0
SetLDFLAGS: -Wl,-dead_strip_dylibs
ConfigureParams: <<
(%type_raw[-atlas] != -atlas) --with-lapack=-Wl,-framework,Accelerate \
(%type_raw[-atlas] != -atlas) --with-blas=-Wl,-framework,Accelerate \
(%type_raw[-atlas] = -atlas) --with-lapack="-llapack" \
(%type_raw[-atlas] = -atlas) --with-blas="-lf77blas -lcblas" \
(%type_raw[-x11] != -x11) --with-framework-carbon \
(%type_raw[-x11] = -x11) --without-framework-carbon \
--with-x \
--x-libraries=/usr/X11/lib \
--x-includes=/usr/X11/include \
--with-magick=GraphicsMagick \
--with-qhull-includedir=%p/include/libqhull \
--host=%m-apple-darwin \
--build=%m-apple-darwin \
--infodir='${prefix}/share/info' \
--mandir='${prefix}/share/man' \
--libexecdir='${prefix}/lib' \
--enable-shared \
--enable-dl \
--disable-static \
--disable-docs \
--enable-dependency-tracking
<<
CompileScript: <<
#!/bin/sh -ev
# Needs GCC >= 4.2
osversion=`uname -r | cut -d. -f1`
if [ $osversion -eq 9 ]
then
export CC="flag-sort -r gcc-4.2"
export CXX="flag-sort -r g++-4.2"
else
export CC="flag-sort -r gcc"
export CXX="flag-sort -r g++"
fi
export CFLAGS='-O3'
export FFLAGS='-O3'
# avoid package installation failure
if [ "%m" != "x86_64" ]
then export CXXFLAGS="-O0"
else export CXXFLAGS="-O3"
fi
export F77=%p/bin/gfortran-fsf-%type_raw[gcc]
FLIBDIR="%p/lib/gcc%type_raw[gcc]/lib"
export FLIBS="-L${FLIBDIR} -lgfortran"
# -ff2c is required when using gfortran and Accelerate.framework
if [ "%type_pkg[-atlas]" = "" ]
then export FFLAGS='-O3 -ff2c'
else export FFLAGS='-O3'
fi
./configure %c
# don't just use top-level Makefile so that we can do a multi-core build.
for dirs in libgnu libcruft liboctave ; do
pushd $dirs
make
popd
done
# src/ and scripts/ need to be built with -j1 since docs get built there.
for dirs in src scripts ; do
pushd $dirs
make -j1
popd
done
fink-package-precedence .
<<
# bus error at src/dirfns.cc
# No tests on 32-bit platforms
InfoTest: <<
TestScript: <<
#!/bin/sh -ev
if [ "%m" = "x86_64" ]
then make check || exit 2
else printf "\nSkipping tests for %m.\n"
fi
<<
<<
InstallScript: <<
#!/bin/sh -ev
make install DESTDIR=%d
# Install manpages manually
mkdir -p %i/share/man/man1
cp doc/interpreter/*.1 %i/share/man/man1
# Install info pages manually
mkdir -p %i/share/info
cp doc/interpreter/*.info* %i/share/info
# Install Fink-specific octaverc which points at our oct-versioned
# package directory.
cp %{Ni}rc %i/share/%{Ni}/%v/m/startup
mkdir -p %i/var/%{Ni}/%v/
# install examples
mkdir -p %i/share/%{Ni}/%v/doc/examples
cp -R examples %i/share/%{Ni}/%v/doc/examples
# remove autogenerated freedesktop.org desktop file
rm -f %i/share/applications/www.%{Ni}.org-%{Ni}.desktop
mkdir -p %i/share/%{Ni}/%v/scripts
# install the octave-forge helper scripts
cp %{Ni}-forge* %i/share/%{Ni}/%v/scripts
chmod a+x %i/share/%{Ni}/%v/scripts/*
# move compiler wrapper over
cp %b/oct-compiler.in %i/share/%{Ni}/%v/scripts
# clear out hardcoded Fink sed.
pushd %i/bin
for file in mkoctfile-%v %{Ni}-config-%v
do
perl -pi -e 's|%p/bin/sed|/usr/bin/env sed|g' $file
done
# generate Fink-gcc enabled mkoctfile
cp mkoctfile-%type_raw[oct] mkoctfile-%type_raw[oct]-gcc%type_raw[gcc]
perl -pi -e \
's,oct\-cc,%p/bin/gcc-fsf-%type_raw[gcc],g; \
s,oct\-cxx,%p/bin/g++-fsf-%type_raw[gcc],g' \
mkoctfile-%type_raw[oct]-gcc%type_raw[gcc]
# create convenience symlink
ln -s mkoctfile-%type_raw[oct]-gcc%type_raw[gcc] mkoctfile-gcc%type_raw[gcc]
popd
# sanitize .la file
cd %i/lib/%{Ni}/%v/
perl -pi -e 's/(\-framework)\s(\w+)/-Wl,$1,$2/g' liboctinterp.la
<<
InfoDocs: %{Ni}.info
RuntimeVars: <<
GNUTERM: aqua
<<
DocFiles: AUTHORS BUGS COPYING ChangeLog NEWS README
SplitOff: <<
Package: octave%type_pkg[oct]%type_pkg[-atlas]%type_pkg[-x11]-shlibs
Conflicts: <<
%{Ni}%type_pkg[oct]-shlibs,
%{Ni}%type_pkg[oct]-x11-shlibs,
%{Ni}%type_pkg[oct]-atlas-shlibs,
%{Ni}%type_pkg[oct]-atlas-x11-shlibs,
(%type_raw[-atlas] = -atlas) %{Ni} (<< 3.0.5-5),
(%type_raw[-atlas] != -atlas) %{Ni}-atlas (<< 3.0.5-5),
%{Ni}3.0.2 ( << 3.0.2-5),
%{Ni}3.0.2-atlas ( << 3.0.2-5)
<<
Replaces: <<
(%type_raw[-atlas] = atlas) %{Ni}%type_pkg[oct]-shlibs,
(%type_raw[-atlas] != atlas) %{Ni}%type_pkg[oct]-atlas-shlibs,
%{Ni} (<< 3.0.5-5),
%{Ni}-atlas (<< 3.0.5-5),
%{Ni}3.0.2 ( << 3.0.2-5),
%{Ni}3.0.2-atlas ( << 3.0.2-5)
<<
Depends: <<
fftw3-shlibs,
gcc%type_pkg[gcc]-shlibs,
hdf5.7-shlibs,
readline5-shlibs,
fontconfig2-shlibs,
freetype219-shlibs,
(%type_raw[-atlas] = -atlas) atlas-shlibs (>= 3.8.1-1),
(%type_raw[-atlas] = -atlas) qrupdate-atlas-shlibs (>= 1.1.1-5),
(%type_raw[-atlas] != -atlas) qrupdate-shlibs (>= 1.1.1-5)
<<
Provides: <<
liboctave%type_pkg[oct]-gcc%type_pkg[gcc],
liboctave%type_pkg[oct],
(%type_raw[-atlas] = -atlas) liboctave%type_pkg[oct]-atlas,
(%type_raw[-atlas] != -atlas) liboctave%type_pkg[oct]-veclib,
(%type_raw[-x11] = -x11) liboctave%type_pkg[oct]-x11,
(%type_raw[-x11] != -x11) liboctave%type_pkg[oct]-aqua
<<
Files: <<
lib/%{Ni}/%v/lib{cruft,%{Ni},octinterp}.1.dylib
<<
Shlibs: <<
%p/lib/%{Ni}/%v/libcruft.1.dylib 2.0.0 %n (>=3.6.0-1)
%p/lib/%{Ni}/%v/lib%{Ni}.1.dylib 2.0.0 %n (>=3.6.0-1)
%p/lib/%{Ni}/%v/liboctinterp.1.dylib 2.0.0 %n (>=3.6.0-1)
<<
DescDetail: <<
This package contains shared libraries which are used by the Octave
interpreter itself, as well as for packages that build against Octave,
such as the various octave-forge packages.
<<
DescUsage: <<
Any package that either links to the libraries in %{Ni}%type_pkg[-atlas]%type_pkg[-x11]-shlibs or
installs an extension should Depend on %{Ni}%type_pkg[oct]%type_pkg[-atlas]%type_pkg[-x11]-shlibs and BuildDepend
on %{Ni}%type_pkg[oct]%type_pkg[-atlas]-dev. In addition, it will need to BuildDepend on
hdf5-oldapi and fftw3.
<<
DocFiles: AUTHORS BUGS COPYING ChangeLog NEWS README
<<
SplitOff2: <<
Package: octave%type_pkg[oct]%type_pkg[-atlas]%type_pkg[-x11]-dev
Depends: <<
octave%type_pkg[oct]%type_pkg[-atlas]%type_pkg[-x11]-shlibs (=%v-%r),
gcc%type_pkg[gcc]-compiler
<<
Conflicts: <<
%{Ni}%type_pkg[oct]-dev,
%{Ni}%type_pkg[oct]-x11-dev,
%{Ni}%type_pkg[oct]-atlas-dev,
%{Ni}%type_pkg[oct]-atlas-x11-dev,
%{Ni}305-dev,
%{Ni}305-atlas-dev,
%{Ni}324-dev,
%{Ni}324-atlas-dev,
%{Ni}324-x11-dev,
%{Ni}324-atlas-x11-dev,
%{Ni}343-dev,
%{Ni}343-atlas-dev,
%{Ni}343-x11-dev,
%{Ni}343-atlas-x11-dev,
%{Ni}361-dev,
%{Ni}361-atlas-dev,
%{Ni}361-x11-dev,
%{Ni}361-atlas-x11-dev,
%{Ni}362-dev,
%{Ni}362-atlas-dev,
%{Ni}362-x11-dev,
%{Ni}362-atlas-x11-dev,
(%type_raw[-atlas] = atlas) %{Ni} (<< 3.0.5-5),
(%type_raw[-atlas] != atlas) %{Ni}-atlas (<< 3.0.5-5),
%{Ni}3.0.2 ( << 3.0.2-5),
%{Ni}3.0.2-atlas ( << 3.0.2-5)
<<
Replaces: <<
%{Ni}%type_pkg[oct]-dev,
%{Ni}%type_pkg[oct]-x11-dev,
%{Ni}%type_pkg[oct]-atlas-dev,
%{Ni}%type_pkg[oct]-atlas-x11-dev,
%{Ni}305-dev,
%{Ni}305-atlas-dev,
%{Ni}324-dev,
%{Ni}324-atlas-dev,
%{Ni}324-x11-dev,
%{Ni}324-atlas-x11-dev,
%{Ni}343-dev,
%{Ni}343-atlas-dev,
%{Ni}343-x11-dev,
%{Ni}343-atlas-x11-dev,
%{Ni}361-dev,
%{Ni}361-atlas-dev,
%{Ni}361-x11-dev,
%{Ni}361-atlas-x11-dev,
%{Ni}362-dev,
%{Ni}362-atlas-dev,
%{Ni}362-x11-dev,
%{Ni}362-atlas-x11-dev,
%{Ni} (<< 3.0.5-5),
%{Ni}-atlas (<< 3.0.5-5),
%{Ni}3.0.2 ( << 3.0.2-5),
%{Ni}3.0.2-atlas ( << 3.0.2-5)
<<
Provides: <<
liboctave%type_pkg[oct]-gcc%type_pkg[gcc]-dev,
liboctave%type_pkg[oct]-dev,
(%type_raw[-atlas] = -atlas) liboctave%type_pkg[oct]-atlas-dev,
(%type_raw[-atlas] != -atlas) liboctave%type_pkg[oct]-veclib-dev,
(%type_raw[-x11] = -x11) liboctave%type_pkg[oct]-x11-dev,
(%type_raw[-x11] != -x11) liboctave%type_pkg[oct]-aqua-dev
<<
BuildDependsOnly: true
Files: <<
include/%{Ni}-%v
lib/%{Ni}/%v/*.la
bin/mkoctfile*
bin/octave-config*
share/man/man1/mkoctfile*.1
share/man/man1/octave-config*.1
share/%{Ni}/%v/scripts/oct-compiler.in
<<
DescDetail: <<
This package contains files needed to build against Octave, including
headers and the mkoctfile executable. It also contains symlinks to Fink's
compiler wrappers, which are set up at install time to be appropriate to
the current machine setup.
<<
DescUsage: <<
To use mkoctfile to build dynamically loadable modules, you will need
to install the hdf5-oldapi and fftw3 packages.
%n cannot Depend on them since they are BuildDependsOnly.
<<
DescPackaging: <<
We make up an extra mkoctfile which uses a Fink gcc for packages that need
stuff which isn't included in Xcode.
<<
DocFiles: AUTHORS BUGS COPYING ChangeLog NEWS README
PostInstScript: <<
cd %p/bin
osversion=`uname -r | cut -d. -f1`
case $osversion in
11) perl -p -e 's,COMPILER,%p/var/lib/fink/path-prefix-clang/cc,' \
%p/share/%{Ni}/%v/scripts/oct-compiler.in > %p/bin/oct-cc
perl -p -e 's,COMPILER,%p/var/lib/fink/path-prefix-clang/c++,' \
%p/share/%{Ni}/%v/scripts/oct-compiler.in > %p/bin/oct-cxx
chmod a+x oct-cc oct-cxx ;;
10) perl -p -e 's,COMPILER,%p/var/lib/fink/path-prefix-10.6/cc,' \
%p/share/%{Ni}/%v/scripts/oct-compiler.in > %p/bin/oct-cc
perl -p -e 's,COMPILER,%p/var/lib/fink/path-prefix-10.6/c++,' \
%p/share/%{Ni}/%v/scripts/oct-compiler.in > %p/bin/oct-cxx
chmod a+x oct-cc oct-cxx ;;
9) if [ "%m" = "x86_64" ]
# use 10.6 compiler wrappers on 10.5/x86_64
then
perl -p -e 's,COMPILER,%p/var/lib/fink/path-prefix-10.6/gcc-4.2,' \
%p/share/%{Ni}/%v/scripts/oct-compiler.in > %p/bin/oct-cc
perl -p -e 's,COMPILER,%p/var/lib/fink/path-prefix-10.6/g++-4.2,' \
%p/share/%{Ni}/%v/scripts/oct-compiler.in > %p/bin/oct-cxx
chmod a+x oct-cc oct-cxx
else
# default compilers on on powerpc and i386 build with proper arch.
ln -s /usr/bin/gcc-4.2 oct-cc
ln -s /usr/bin/g++-4.2 oct-cxx
fi ;;
# fangism--feel free to update this
*) printf "You will need to generate your own %p/bin/oct-cc and %p/bin/oct-cxx symlinks.\n" ;;
esac
<<
PreRmScript: <<
if [ -e %p/bin/oct-cc ]
then rm %p/bin/oct-cc
else printf "%p/bin/oct-cc is not present.\n"
fi
if [ -e %p/bin/oct-cxx ]
then rm %p/bin/oct-cxx
else printf "%p/bin/oct-cxx is not present.\n"
fi
<<
<<
Splitoff3: <<
Package: octave%type_pkg[oct]%type_pkg[-atlas]%type_pkg[-x11]
Depends: <<
%{Ni}%type_pkg[oct]%type_pkg[-atlas]%type_pkg[-x11]-shlibs (=%v-%r),
ncurses, gnuplot | gnuplot-nox | gnuplot-nogtk,
fftw3-shlibs (>= 3.1.1-7),
fontconfig2-shlibs,
freetype219-shlibs,
glpk-shlibs,
graphicsmagick-shlibs,
hdf5.7-shlibs,
libcurl4-shlibs,
libpcre1-shlibs,
qhull6.3.1-shlibs,
readline5-shlibs,
(%type_raw[-x11] != -x11) fltk13-aqua-shlibs,
(%type_raw[-x11] = -x11) fltk-x11-shlibs,
(%type_raw[-atlas] != -atlas) qrupdate-shlibs,
(%type_raw[-atlas] != -atlas) arpack-ng-shlibs (>= 3.0.1-2),
(%type_raw[-atlas] = -atlas) atlas-shlibs (>= 3.8.1-1),
(%type_raw[-atlas] = -atlas) arpack-ng-atlas-shlibs (>= 3.0.1-2),
(%type_raw[-atlas] = -atlas) qrupdate-atlas-shlibs
<<
Conflicts: <<
%{Ni}%type_pkg[oct],
%{Ni}%type_pkg[oct]-x11,
%{Ni}%type_pkg[oct]-atlas,
%{Ni}%type_pkg[oct]-atlas-x11,
(%type_raw[-atlas] = atlas) %{Ni} (<< 3.0.5-5),
(%type_raw[-atlas] != atlas) %{Ni}-atlas (<< 3.0.5-5),
%{Ni}3.0.2 ( << 3.0.2-5), %{Ni}3.0.2-atlas ( << 3.0.2-5)
<<
Replaces: <<
%{Ni}%type_pkg[oct],
%{Ni}%type_pkg[oct]-x11,
%{Ni}%type_pkg[oct]-atlas,
%{Ni}%type_pkg[oct]-atlas-x11,
%{Ni} (<< 3.0.5-5),
%{Ni}-atlas (<< 3.0.5-5),
%{Ni}3.0.2 ( << 3.0.2-5),
%{Ni}3.0.2-atlas ( << 3.0.2-5)
<<
Provides: <<
octave%type_pkg[oct]-interpreter,
(%type_raw[-x11] = -x11) octave%type_pkg[oct]-interpreter-x11,
(%type_raw[-x11] != -x11) octave%type_pkg[oct]-interpreter-aqua,
(%type_raw[-atlas] = -atlas) octave%type_pkg[oct]-interpreter-atlas,
(%type_raw[-atlas] != -atlas) octave%type_pkg[oct]-interpreter-veclib
<<
Files: <<
share/%{Ni}/%v
lib/%{Ni}/%v
bin/%{Ni}-%v
var/%{Ni}/%v
share/man/man1/%{Ni}-%v.1
<<
DescDetail: <<
The %{Ni}%type_pkg[oct]%type_pkg[-atlas] package contains versioned executables, as well as all of the
core functionality of the Octave interpreter. Note that the GNU info file,
which provides the core documentation, is installed as part of the %{Ni}
package.
Octave 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.
<<
DescUsage: <<
By default the plotting output (via gnuplot) is directed to AquaTerm.
This can be overidden in your startup scripts, e.g.
export GNUTERM=x11
in bash
or
setenv GNUTERM x11
in tcsh.
Note: Fink's Octave implementation modifies one of the startup files,
%p/share/%{Ni}/%v/m/startup/octaverc,
to initialize octave sessions to know about Fink's octave-versioned
install location for octave-forge packages. If you use the '--norc'
or '-f' flags in your Octave script, these packages won't be visible.
You'll need to run the following command in your script:
pkg global_list %p/var/octave/%v/octave_packages
<<
DocFiles: AUTHORS BUGS COPYING ChangeLog NEWS README
<<
Description: MATLAB-like language for computations
DescDetail: <<
The %{Ni}%type_pkg[-atlas] package contains unversioned executables and an
unversioned directory tree.
Octave 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.
<<
DescUsage: <<
By default the plotting output (via gnuplot) is directed to AquaTerm.
This can be overidden in your startup scripts, e.g.
export GNUTERM=x11
in bash
or
setenv GNUTERM x11
in tcsh.
Note: Fink's Octave implementation modifies one of the startup files,
%p/share/%{Ni}/%v/m/startup/octaverc,
to initialize octave sessions to know about Fink's octave-versioned
install location for octave-forge packages. If you use the '--norc' or '-f'
flags in your Octave script, these packages won't be visible. You'll need to
run the following command in your script:
pkg global_list %p/var/octave/%v/octave_packages
<<
DescPort: <<
Thanks to Per Persson for most (if not all) of the work on the macos X port.
Apply fix from http://lukassen.wordpress.com/2010/01/18/taming-snow-leopard-cgdisplaybitsperpixel-deprication/ ,
with improvements from Peter O'Gorman and Daniel Macks, to display.cc to work around the lack of
CGDisplayBitsPerPixel on 10.7.
Cleanups from David Fang to get the package to build using clang.
The non-atlas variant is built with -ff2c in the FFLAGS,
because this appears to be necessary when using the Accelerate framework.
The package won't build on 10.5/x86_64 or 10.6/x86_64 against the vecLib
framework, so we disable the non-atlas option on those platforms.
Must build with CXXFLAGS set at -O0 on 32-bit or some Octave Forge packages won't install.
<<
DescPackaging: <<
Not sane (and now not even compilable) to use private code
from glpk. Import the functions needed so can still use it
even when glpk stops exporting its internals. See:
http://octave.1599824.n4.nabble.com/GLPK-interface-was-Re-Multithreaded-Atlas-td1654632.html
Set the GNUTERM environment variable to AquaTerm because autodetection
of DISPLAY seems to cause options to be fed to our gnuplot that it doesn't understand.
AquaTerm seems to be a sensible default, particularly since gnuplot-nox is also a
legal dependency.
Create manpages for the versioned executables.
Remove a desktop file that gets generated only for users with GNOME/KDE installed.
We have split the package up into runtime, development, and library packages,
to make upgrades easier for us and for users.
We generate common octave-forge bash and octave scripts,
based on the ones by Johnathan Stickel in the original octave-forge-foo
packages, in _this_ package, so that any required changes can be made in
a common location rather than spread out over many packages.
Unfortunately, Octave's 'pkg' tool doesn't seem to know how to deal with
variables, and the individual octave-forge packages have to make copies
of the octave scripts during their build process and edit them to use the
package's name.
The -atlas variant depends on -atlas variants (only) of qrupdate and arpack.
The non-atlas variant depends on non-atlas variants (only) of these.
Patch oct-conf.h and mkoctfile to use octave-specific compiler executables
which are part of the -dev package to avoid issues which would propagate as
dependendencies, e.g. encoding 'flag-sort' or a ccache-default compiler. This
also makes sure that anything that builds against Octave has the proper
information when installed manually as well as via Fink, and is critical for
10.6/i386 (and 10.5/x86_64) users where the default compiler architecture
doesn't correspond to the Fink architecture.
These go in the -dev package, and are either wrappers around Fink's compiler
wrappers or symlinks to the Xcode compilers, as appropriate for the OS version.
They are resolved in the PostInstScript so that they set themselves
appropriately for the OS version where Octave is installed, rather than where
it is built, thereby avoiding the necessity to rebuild Octave when updating
the OS.
Includes an additional mkoctfile which uses Fink's gcc46 compilers instead
of Xcode's.
We turn off building docs to save time, since we'd throw them out anyway
because the package builds differently with and without TeX executables in
the PATH. However, this entails manual installation of the manpages and the
GNU info file.
We use Provides in a new namespace and new projections to avoid
unwieldy | lists in the octave-forge packages.
The combination of compiler wrappers and new-style FLIBS, LAPACK_LIBS, and
BLAS_LIBS constitutes liboctave-v2.
As of revision 4:
Switch to using gcc47. Since octave-forge packages for octave < 3.6.0
link to whatever gcc4N Octave is using, and also since some other packages
actually use gcc-4.N, add "liboctave-gcc47-dev" and "liboctave-gcc47"
Provides, to make sure that things stay in sync; the latter isn't used yet.
<<
Homepage: http://www.octave.org/
License: GPL3
<<