Info2: <<
Package: ocs-oct%type_pkg[oct]
Version: 0.1.3
Type: oct (3.8.2), forge (ocs), gcc (4.9)
Revision: 7

Maintainer: Alexander Hansen <alexkhansen@users.sourceforge.net>
# unfortunately, Homepage won't do types
Homepage: http://octave.sourceforge.net/ocs/index.html 
Description: Circuit equation solver for Octave
DescDetail: <<
Package for solving DC and transient electrical circuit equations.

It provides the following additional functions:

Matrix Assembly Functions
        asm_initialize_system
        asm_build_system
Netlist Parsing Functions:
        prs_iff
Time Stepping Functions:
        tst_backward_euler
        tst_daspk
        tst_theta_method
        tst_odepkg
Non Linear Solvers:
        nls_stationary
        nls_newton_raphson
UTiLity Functions:
        utl_plot_by_name
        utl_sbn_server
SuBNet Function Library:
        Mcapacitors
        Mcurrentsources
        Mdiode
        Minductors
        Mnmosfet
        Mpmosfet
        Mresistors
        Mshichmanhodgesmosfet
        Mvoltagesources
<<

License: GPL2+

BuildDepends: <<
  liboctave%type_pkg[oct]-dev,
  fftw3,
  hdf5.9,
  fink (>=0.32),
  fink-octave-scripts (>= 0.3.0-1)
<<
RuntimeDepends: odepkg-oct%type_pkg[oct] | odepkg-atlas-oct%type_pkg[oct] | odepkg-ref-oct%type_pkg[oct]
Depends: <<
  octave%type_pkg[oct]-interpreter
<<
Conflicts: octave-forge

PatchScript: <<
	#!/bin/sh -ev
	perl -pi -e	's|(dir\s+=\s+).*|$1"%p/share/octave/%type_raw[oct]/packages/%type_raw[forge]-%v";| ; \
				 s|"\.\.",||' PKG_ADD 
	perl -pi -e	's|^\[b.*|basename="%p/share/octave/%type_raw[oct]/packages/%type_raw[forge]-%v";|' \
				PKG_DEL
	osversion=`uname -r | cut -d. -f1`
	if [ $osversion -ge 13 ] ; then
		perl -pi -e 's/(pow.*),2(\))/\1,2.0\2/g' src/Mshichmanhodgesmosfet.cc
	fi
<<


Source: mirror:sourceforge:octave/%type_raw[forge]-%v.tar.gz
Source-Checksum: SHA256(eb0e69b2bb498200947b598cd43181c49511d4df9acbaaeb14dd817719d55829)
SourceDirectory: %type_pkg[forge]

NoSetCPPFLAGS: true
NoSetLDFLAGS: true
UseMaxBuildJobs: false
BuildAsNobody: false

CompileScript: <<
#!/bin/sh -ev

pkgsrc=%type_raw[forge]

##### Invariant stuff begins here #####
%p/share/fink-octave-scripts/octave-forge-patch.sh %type_raw[forge] %v %type_raw[oct] %b %i $pkgsrc
./octave-forge-compile.sh
<<

InstallScript: ./octave-forge-install.sh
PostInstScript:  %p/share/octave/%type_raw[oct]/%type_raw[forge]/octave-forge-postinst.sh
PreRmScript: %p/share/octave/%type_raw[oct]/%type_raw[forge]/octave-forge-prerm.sh

DescPackaging: <<
Common for all octave-forge packages:

Preinst and postinst scripts are dynamically set up via
%p/share/fink-octave-scripts/octave-forge-patch.sh 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.
<<
DescPort: <<
Due to the libcxx-fix.h patch for 10.9 and 10.10,  pow(double, integer) causes the 
compiler to complain about ambiguity, so patch those into pow(double, float)
<<
<<