the Fink project is an effort to port
popular Unix programs to Mac OS X
Info2: <<
Package: control%type_pkg[-atlas]-oct%type_pkg[oct]
Version: 2.3.50
Type: oct (3.6.0 3.6.1), forge (control), -atlas (boolean), gcc (4.7)
Revision: 2
Architecture: <<
i386,
(%type_raw[-atlas] = -atlas) x86_64
<<
Maintainer: Alexander Hansen
# unfortunately, Homepage won't do types
Homepage: http://octave.sourceforge.net/control/index.html
Description: Octave control tools
DescDetail: <<
Octave control systems package increasingly based on the SLICOT Fortran library
This package provides the following functions:
Examples:
MDSSystem
optiPID
Anderson
Madievski
Linear Time Invariant Models:
dss
frd
ss
tf
zpk
Model Data Access:
@lti/dssdata
@lti/frdata
@lti/get
@lti/set
@lti/ssdata
@lti/tfdata
@lti/zpkdata
Model Conversions:
@lti/c2d
@lti/d2c
@lti/prescale
@lti/xperm
Model Interconnections:
@lti/append
@lti/blkdiag
@lti/connect
@lti/feedback
@lti/lft
@lti/mconnect
@lti/parallel
@lti/series
Model Characteristics:
ctrb
ctrbf
@lti/dcgain
gram
hsvd
@lti/isct
isctrb
isdetectable
@lti/isdt
@lti/isminimumphase
isobsv
@lti/issiso
isstabilizable
@lti/isstable
@lti/norm
obsv
obsvf
@lti/pole
pzmap
@lti/size
@lti/zero
Model Simplification:
@lti/minreal
@lti/sminreal
Time Domain Analysis:
covar
gensig
impulse
initial
lsim
step
Frequency Domain Analysis:
bode
bodemag
@lti/freqresp
margin
nichols
nyquist
sigma
Pole Placement:
place
rlocus
Linear-Quadratic Control:
dlqr
estim
kalman
lqr
Robust Control:
augw
fitfrd
h2syn
hinfsyn
mixsyn
ncfsyn
Matrix Equation Solvers:
care
dare
dlyap
dlyapchol
lyap
lyapchol
Overloaded Operators:
@lti/horzcat
@lti/inv
@lti/minus
@lti/mldivide
@lti/mpower
@lti/mrdivide
@lti/mtimes
@lti/plus
@lti/subsasgn
@lti/subsref
@lti/transpose
@lti/uminus
@lti/vertcat
Miscellaneous:
options
strseq
test_control
BMWengine
Boeing707
WestlandLynx
<<
License: GPL3+
# Most octave-forge packages have to have the following BuildDepends:
# liboctave%type_pkg[oct]-gcc%type_pkg[gcc]-dev,
# fftw3,
# ( %type_pkg[oct] = 305 ) hdf5.7-oldapi,
# ( %type_pkg[oct] != 305 ) hdf5.7
#
# Packages which serve only Octave-3.0.5 or only Octave > 3.0.5 need
# not use the conditional, of course.
BuildDepends: <<
(%type_raw[-atlas] = -atlas) atlas,
(%type_raw[-atlas] = -atlas) liboctave%type_pkg[oct]-atlas-dev,
(%type_raw[-atlas] != -atlas) liboctave%type_pkg[oct]-veclib-dev,
liboctave%type_pkg[oct]-gcc%type_pkg[gcc]-dev,
fftw3,
hdf5.7
<<
Depends: <<
(%type_raw[-atlas] = -atlas) atlas-shlibs,
(%type_raw[-atlas] = -atlas) octave%type_pkg[oct]-interpreter-atlas,
(%type_raw[-atlas] != -atlas) octave%type_pkg[oct]-interpreter-veclib,
gcc%type_pkg[gcc]-shlibs
<<
Conflicts: <<
octave-forge,
%type_raw[forge]-atlas-oct%type_pkg[oct],
%type_raw[forge]-oct%type_pkg[oct]
<<
Replaces: <<
%type_raw[forge]-atlas-oct%type_pkg[oct],
%type_raw[forge]-oct%type_pkg[oct]
<<
Source-MD5: a9deb6cfcd08641cb1a442fff5af6f83
#### Insert required changes here ####
SourceDirectory: %type_pkg[forge]
######################################
# Do not change anything from this point down, unless absolutely necessary,
# since the foo-oct%type_pkg[oct] packages are designed to be built/installed
# in the same way.
Source: mirror:sourceforge:octave/%type_raw[forge]-%v.tar.gz
NoSetCPPFLAGS: true
NoSetLDFLAGS: true
SetLIBRARY_PATH: /usr/X11R6/lib:%p/lib
UseMaxBuildJobs: false
BuildAsNobody: false
CompileScript: <<
#!/bin/sh -ev
if [ $UID -ne 0 ]
then
echo "%n cannot be built with --build-as-nobody"
exit 1
fi
export OCTAVE=%p/bin/octave-%type_raw[oct]
# repack tarball, since octave-3.4.3 appears not to want to install
# from directories
cd ..
tar -cf %type_raw[forge].tar %type_raw[forge]
cd %b
pkgsrc=%type_raw[forge].tar
%p/share/octave/%type_raw[oct]/scripts/octave-forge-compile.sh $pkgsrc
<<
InstallScript: <<
#!/bin/sh -ev
%p/share/octave/%type_raw[oct]/scripts/octave-forge-install.sh %type_raw[forge]-%v %i %b
mkdir -p %i/share/octave/%type_raw[oct]/%type_raw[forge]-%v
# copy template scripts
cp %p/share/octave/%type_raw[oct]/scripts/octave-forge-prerm %p/share/octave/%type_raw[oct]/scripts/octave-forge-postinst %i/share/octave/%type_raw[oct]/%type_raw[forge]-%v
cd %i/share/octave/%type_raw[oct]/%type_raw[forge]-%v
sed -i -e 's/@PKGNAME@/%type_raw[forge]-%v/' octave-forge-postinst
sed -i -e 's/@PKGNAME@/%type_raw[forge]/' octave-forge-prerm
chmod a+x octave-forge*
<<
PostInstScript: <<
if [ -s %p/var/octave/%type_raw[oct]/octave_packages ] && [ -f %p/var/octave/%type_raw[oct]/octave_packages ]
then
%p/share/octave/%type_raw[oct]/%type_raw[forge]-%v/octave-forge-postinst
else
mv %p/share/octave/%type_raw[oct]/packages/%type_raw[forge]-%v/octave_packages %p/var/octave/%type_raw[oct]/octave_packages
fi
<<
PreRmScript: %p/share/octave/%type_raw[oct]/%type_raw[forge]-%v/octave-forge-prerm
DescPackaging: <<
For this package:
Due to changes in the upstream build process, this package requires FLIBS, LAPACK_LIBS,
and BLAS_LIBS to be in -lfoo form, rather than absolute filenames as they had been.
This change (plus compiler symlinks) is in "liboctaveN-v2"
Common for all octave-forge packages:
We read in postinst and prerm template scripts installed by octaveN and modify
them to use the name of this package because Octave's package manager can't
cope with non-literal arguments.
The Type: forge (pkgname) is used to minimize what needs to be changed when
using this .info file as a template.
<<
<<