the Fink project is an effort to port
popular Unix programs to Mac OS X
Info2: <<
Package: arpack%type_pkg[-atlas]-oct%type_pkg[oct]
Version: 1.0.8
Type: oct (3.0.5), forge (arpack), -atlas (boolean), gcc (4.6)
Revision: 8
Maintainer: Alexander Hansen
# unfortunately, Homepage won't do types
Homepage: http://octave.sourceforge.net/
Description: Octave bindings to ARPACK
DescDetail: <<
Octave bindings to ARPACK, including the eigs and svds functions.
<<
License: GPL2
BuildDepends: <<
arpack-ng%type_pkg[-atlas] (>= 3.0.1-2),
(%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,
( %type_pkg[oct] = 305 ) hdf5.7-oldapi
<<
Depends: <<
arpack-ng%type_pkg[-atlas]-shlibs (>= 3.0.1-2),
(%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: dbf767019e238c4a16ccc6cac2afe87c
PatchFile: arpack-oct.patch
PatchFile-MD5: 29b0eda3b470878348f2b26b3373f1ed
Source: mirror:sourceforge:octave/%type_raw[forge]-%v.tar.gz
#### Insert required changes here ####
######################################
# 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]
%p/share/octave/%type_raw[oct]/scripts/octave-forge-compile.sh %type_raw[forge]-%v
<<
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: <<
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.
<<
<<
--- arpack-1.0.8/src/eigs-base.cc.orig 2012-03-11 15:40:48.000000000 -0400
+++ arpack-1.0.8/src/eigs-base.cc 2012-03-11 15:42:18.000000000 -0400
@@ -3711,43 +3711,43 @@
#endif
#ifndef _MSC_VER
-template static octave_idx_type
+template octave_idx_type
lusolve (const SparseMatrix&, const SparseMatrix&, Matrix&);
-template static octave_idx_type
+template octave_idx_type
lusolve (const SparseComplexMatrix&, const SparseComplexMatrix&,
ComplexMatrix&);
-template static octave_idx_type
+template octave_idx_type
lusolve (const Matrix&, const Matrix&, Matrix&);
-template static octave_idx_type
+template octave_idx_type
lusolve (const ComplexMatrix&, const ComplexMatrix&, ComplexMatrix&);
-template static ComplexMatrix
+template ComplexMatrix
ltsolve (const SparseComplexMatrix&, const ColumnVector&,
const ComplexMatrix&);
-template static Matrix
+template Matrix
ltsolve (const SparseMatrix&, const ColumnVector&, const Matrix&);
-template static ComplexMatrix
+template ComplexMatrix
ltsolve (const ComplexMatrix&, const ColumnVector&, const ComplexMatrix&);
-template static Matrix
+template Matrix
ltsolve (const Matrix&, const ColumnVector&, const Matrix&);
-template static ComplexMatrix
+template ComplexMatrix
utsolve (const SparseComplexMatrix&, const ColumnVector&,
const ComplexMatrix&);
-template static Matrix
+template Matrix
utsolve (const SparseMatrix&, const ColumnVector&, const Matrix&);
-template static ComplexMatrix
+template ComplexMatrix
utsolve (const ComplexMatrix&, const ColumnVector&, const ComplexMatrix&);
-template static Matrix
+template Matrix
utsolve (const Matrix&, const ColumnVector&, const Matrix&);
#endif