the Fink project is an effort to port
popular Unix programs to Mac OS X
Info2: <<
Package: tsa-oct%type_pkg[oct]
Version: 4.2.4
Type: oct (3.6.0 3.6.1), forge (tsa), gcc (4.7)
Revision: 4
Architecture: i386, x86_64
Maintainer: Alexander Hansen
# unfortunately, Homepage won't do types
Homepage: http://octave.sourceforge.net/tsa/index.html
Description: Time series analysis package for Octave
DescDetail: <<
The package contains functions utilizing stochastic concepts and maximum
entropy methods for time series analysis.
It provides the following additional functions:
Univariate (stationary) analysis:
acovf
acorf
biacovf
bispec
durlev
lattice
rmle
pacf
parcor
invest0
invest1
selmo
selmo2
histo
histo2
histo3
hup
ucp
y2res
ar_spa
detrend
flix
Multivariate stationary analysis:
mvar
mvfilter
mvfreqz
arfit2
histo4
Adaptive (time-varying) analysis:
aar
aarmam
adim
amarma
mvaar
Conversions between forms:
ac2poly
ac2rc
ar2rc
rc2ar
poly2ac
poly2ar
poly2rc
rc2ac
rc2poly
ar2poly
Utility functions:
arcext
sinvest1
sbispec
flag_implicit_samplerate
Test suites:
tsademo
bisdemo
invfdemo
<<
License: GPL3+
# All octave-forge packages have to have the following BuildDepends:
# octave%type_pkg[oct]-dev | octave%type_pkg[oct]-atlas-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_pkg[oct] << 360 ) liboctave%type_pkg[oct]-gcc%type_pkg[gcc]-dev,
( %type_pkg[oct] >= 360 ) liboctave%type_pkg[oct]-dev,
fftw3,
( %type_pkg[oct] = 305 ) hdf5.7-oldapi,
( %type_pkg[oct] != 305 ) hdf5.7
<<
Depends: <<
octave%type_pkg[oct]-interpreter,
( %type_pkg[oct] << 360 ) gcc%type_pkg[gcc]-shlibs
<<
Conflicts: octave-forge, octave-forge-%type_raw[forge] (<< 4.0.0-999)
Replaces: octave-forge-%type_raw[forge] (<< 4.0.0-999)
Source: mirror:sourceforge:octave/%type_raw[forge]-%v.tar.gz
Source-MD5: 380d777fba834e1ca5bcd6e09c7e332a
SourceDirectory: %type_pkg[forge]
#### Insert required changes here ####
PatchFile: %{Ni}.patch
PatchFile-MD5: 56e14a5eac9b26da0aefcc580e6d697c
PatchScript: <<
#!/bin/sh -ev
sed -e 's|@FINKPREFIX@|%p|g' \
-e 's|@OCTVERSION@|%type_raw[oct]|g' \
-e 's|@GCC@|%type_raw[gcc]|g' \
%{PatchFile} | patch -p1
<<
######################################
# 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.
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
if [ %type_pkg[oct] -ge 343 ]
then
cd ..
tar -cf %type_raw[forge].tar %type_raw[forge]
cd %b
pkgsrc=%type_raw[forge].tar
else pkgsrc=%type_raw[forge]
fi
%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: <<
This package:
Wants libgomp, so we'll use that from gcc47
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.
<<
<<
diff -Nurd tsa/src/Makefile tsa.patched/src/Makefile
--- tsa/src/Makefile 2012-02-13 05:49:19.000000000 -0500
+++ tsa.patched/src/Makefile 2012-02-14 20:24:00.000000000 -0500
@@ -28,10 +28,10 @@
# Instead of building "mex shortpath.c" and "mex uigetpath.c", I used empty m-functions within argout=argin;
####################################################
-CC = gcc
-CXX = g++
+CC = gcc-fsf-@GCC@
+CXX = g++-fsf-@GCC@
CFLAGS = -fopenmp -Wall -Wextra -Wconversion -O2 -fPIC
-OCTMEX = mkoctfile$(OCTAVE_VERSION) --mex
+OCTMEX = mkoctfile-@OCTVERSION@-gcc@GCC@ --mex
RM = rm
MEX_OPTION += -lgomp CC\#$(CXX) CXX\#$(CXX) CFLAGS\#"$(CFLAGS)" CXXFLAGS\#"$(CFLAGS)"
@@ -58,7 +58,7 @@
# Octave, MATLAB on Linux
#########################################################
%.oct: %.cc
- mkoctfile$(OCTAVE_VERSION) $<
+ mkoctfile-@OCTVERSION@-gcc@GCC@ --mex $<
%.mex: %.cpp
$(OCTMEX) $< -lgomp ## Octave